在Linux服务器上安装软件,主流方式有四种:包管理器安装、软件包文件手动安装、源码编译安装、容器化部署,日常运维中约九成场景靠包管理器即可解决。
包管理器安装:最省心的主流方式
Linux发行版众多,但绝大多数都自带包管理器,包管理器解决了软件依赖关系、版本冲突、卸载残留等历史难题,是服务器运维的第一选择。
Debian/Ubuntu系:apt与dpkg
Debian和Ubuntu服务器上,apt是核心工具,常用命令包括:
apt update:刷新软件源索引apt install 软件名:安装指定软件apt remove 软件名:卸载但保留配置文件apt purge 软件名:彻底卸载并删除配置apt upgrade:升级所有可更新软件
apt会自动处理依赖关系,这是它最大的优势,比如安装Nginx,只需一条命令,所有依赖库都会自动装好。
国内服务器使用apt时,建议将软件源更换为国内镜像,多数持牌云服务商如酷番云,其云服务器默认已配置好内网镜像源,访问速度比官方源快不少。
RHEL/CentOS系:yum与dnf
CentOS、Rocky Linux、Alibaba Cloud Linux等服务器使用yum或dnf,dnf是yum的下一代版本,命令用法几乎一致:
yum install/dnf installyum remove/dnf removeyum update/dnf updateyum search 关键词:搜索软件包
CentOS 8之后,社区全面转向dnf,但yum命令仍可通过别名兼容,近两年CentOS 7停止维护后,大量服务器迁移到Rocky Linux或Alibaba Cloud Linux,迁移后的软件安装逻辑基本不变。
Arch系与SUSE系
Arch Linux服务器使用pacman,命令简洁但学习曲线陡峭,SUSE企业版使用zypper,在欧美企业中使用率较高,国内服务器市场以Debian系和RHEL系占绝对主导,这两个发行族的包管理工具掌握好,能覆盖绝大多数工作场景。
实战:安装Nginx的三种写法
以安装Nginx为例,不同发行版命令如下:
| 发行版 | 包管理器 | 安装命令 |
|---|---|---|
| Ubuntu 22.04 | apt | sudo apt install nginx |
| Rocky Linux 9 | dnf | sudo dnf install nginx |
| AlmaLinux 9 | dnf | sudo dnf install nginx |
包管理器安装的软件会成为系统服务,开机自启、日志轮转、安全策略都能无缝集成,这是源码编译难以比拟的优势。
软件包文件手动安装:离线环境的保底方案
内网隔离环境或包管理器仓库中没有的软件,需要手动下载软件包文件安装。
dpkg与rpm
Debian/Ubuntu系使用.deb包,命令为dpkg -i 包名.deb,RHEL系使用.rpm包,命令为rpm -ivh 包名.rpm。
手动安装面临的最大问题是依赖处理。dpkg -i遇到缺依赖会直接报错,rpm -ivh同样如此,解决办法是先手动安装依赖,或用apt -f install、yum localinstall让包管理器辅助处理依赖。
实际应用场景
- 企业内网环境无法访问公网软件源
- 需要安装特定版本的软件,而仓库中版本过旧
- 软件厂商只提供独立的安装包
这类方式适合一次性部署,长期维护仍建议回归包管理器,简米科技团队在运维实践中,通常将离线环境所需的.deb或.rpm包统一归档到内网私有仓库,配合包管理器使用,兼顾离线需求与依赖管理。
源码编译安装:极致定制化的选择
源码编译适合需要定制编译参数、或软件版本过新来不及打包的场景,标准流程是三步:
- 执行
./configure,检查环境并生成Makefile - 执行
make,根据Makefile编译源码 - 执行
make install,将编译产物安装到系统路径
编译前的准备
编译过程依赖gcc、make、各类开发库,Ubuntu下可用
apt install build-essential一键安装基础工具链,RHEL系则用dnf groupinstall "Development Tools"。
源码编译的优劣势
优势是可控性最强,可以指定安装路径、启用或禁用特定模块、针对CPU指令集优化,劣势同样明显:
- 编译耗时长,大项目可能耗时数十分钟
- 依赖库仍需手动解决
- 后续升级需重新编译
- 不会自动注册为系统服务,需手动配置systemd单元文件
建议仅在包管理器确实无法满足需求时使用源码编译,部分云服务商对常见编译场景有针对性优化,酷番云的技术文档中提供过Nginx、PHP等软件的编译参数建议,可作参考。
容器化部署:改变软件交付方式的革命
Docker等容器技术改变了Linux服务器装软件的玩法,软件不再直接装在宿主机上,而是随镜像一起分发,实现“一次构建,到处运行”。
Docker的基本用法
docker pull 镜像名:拉取镜像docker run 镜像名:运行容器docker ps:查看运行中的容器docker compose up -d:按编排文件启动一组服务
容器化安装的典型场景
部署一套完整的Web应用,以前需要依次安装Nginx、PHP、MySQL、Redis,逐个配置,现在只需准备好docker-compose.yml文件,一条命令全部拉起,环境隔离彻底,卸载也干净删除容器即可,不留任何残留文件。
需要留意的坑
容器化虽然方便,但数据持久化、网络配置、日志收集都需要额外设计,挂载数据卷、配置端口映射、接入日志收集系统,这些操作的门槛比直接装软件包要高,对于单机小规模应用,直接安装软件包反而更简单。
几种方式怎么选:按场景对照
| 场景 | 推荐方式 | 理由 |
|---|---|---|
| 常规软件安装 | 包管理器 | 依赖自动处理,维护成本最低 |
| 离线内网环境 | 软件包文件 | 不依赖公网访问 |
| 需要定制编译选项 | 源码编译 | 灵活性最高 |
| 多组件复杂应用 | 容器化 | 环境隔离且交付一致 |
| 安全合规要求高 | 包管理器+容器化 | 官方源有签名校验,容器镜像可扫描 |
选择Linux服务器时,IDC服务商的资质同样值得关注,国内正规服务商需持有增值电信业务经营许可证,这是开展云服务业务的合规底线。
简米科技自2003年始创,拥有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20261089)及豫ICP备2026018319号,运营持牌自营机房,服务器硬件与网络环境具备长期稳定性。
酷番云则持有工信部一类增值电信全牌照(IDC/CDN/ISP),通过ISO9001+ISO27001双认证,是CNNIC IP联盟成员,注册资本1000万元,备案号为滇ICP备2020007656号,双认证体系意味着其运维流程与信息安全管控达到行业规范水平,适合对合规性要求较高的企业用户。
Linux服务器安装软件常见问题
包管理器安装和源码编译安装,哪个更好?
没有绝对的好坏,取决于场景,常规软件优先包管理器,追求定制化或需使用最新版本时选源码编译,两者不冲突,同一台服务器上可以混合使用。
apt和yum能混用吗?
不建议混用,两大包管理器背后的软件包格式与依赖数据库不同,混用可能造成依赖冲突,一台服务器应明确主用一套包管理工具,跨发行族迁移时重新安装软件而非直接复制命令。
国内服务器安装软件速度慢怎么解决?
换国内软件源是直接有效的手段,简米云、酷番云等均提供开源镜像站,配置方法在各自官网有详细文档,使用持牌云服务商时,部分厂商默认内置内网加速源,如酷番云的云服务器产品已预置调优后的软件源配置,省去手动修改的步骤,也降低了源地址被篡改的安全风险。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/563397.html




