连载中 13/20

软件包管理:yum、apt 与装过就忘的软件去哪了

2026-10-17 · 22 阅读 · 0 评论 · 0 赞

两大流派,一一对应

Debian 系(Ubuntu)用 apt,RedHat 系(CentOS/Rocky)用 yum(新版本叫 dnf,命令兼容)。底层逻辑一样:从软件仓库下载带依赖管理的安装包。核心命令对照着记一遍就两全了:

动作              Ubuntu                CentOS
搜索              apt search nginx      yum search nginx
安装              apt install nginx     yum install nginx
卸载              apt remove nginx      yum remove nginx
更新索引          apt update            yum makecache
升级已装软件      apt upgrade           yum update
查看已装          apt list --installed  yum list installed
包信息            apt show nginx        yum info nginx

国内服务器记得换国内镜像源(阿里云、清华源),不然下载慢到怀疑人生——各发行版官方文档都有现成步骤,替换一个配置文件即可。

反查一:这个命令属于哪个包

经典场景:同事说「跑一下 ss 就能看连接」,你敲了发现 command not found。这时候不是搜引擎,是问包管理器:

# CentOS:ss 命令在 iproute 包里
$ yum provides ss
# Ubuntu:先装 apt-file 工具后可查;ss 常见于 iproute2
$ apt install iproute2

反过来「装了 nginx,二进制在哪、配置在哪」也是同款思路:

$ yum install -y nginx
$ rpm -ql nginx | head          # 列出这个包装到了哪些路径
/etc/nginx/nginx.conf           ← 配置在这
/usr/sbin/nginx                 ← 二进制在这
$ dpkg -L nginx                 # Ubuntu 同款

包管理之外:手动安装也有一席之地

JDK、自研服务这类,包仓库里要么没有要么版本太旧,解压到 /opt、软链一份 current、PATH 里加 bin 是通用套路(第 2 篇讲过 /opt 的定位)。取舍原则:能走包管理走包管理(依赖、升级、卸载都有人管),仓库没有的才手动,手动装的统一收在 /opt 别散落一地。

实战:三分钟装好一套 nginx

$ yum install -y nginx             # 安装(-y 自动确认)
$ systemctl enable --now nginx     # 自启 + 启动(上篇的组合拳)
$ systemctl status nginx           # 确认 active (running)
$ curl -I 127.0.0.1                # 本机验证 200 OK
$ rpm -ql nginx | grep conf        # 找到配置文件位置,开始改

这套「安装 → 注册服务 → 状态确认 → curl 验证」是装任何服务的固定节拍。下一篇换个头疼现场:磁盘管理——df 显示满了,du 却找不到大文件,这种「灵异事件」的破案全过程。

☕
503

10 年全栈工程师 · 503咖啡馆主理人

#软件包管理#yum#apt#rpm#dpkg

评论 (0)

热门推荐

连载中 11/22

主从搭建实操:从零配出一主两从

光讲原理不过瘾?手把手搭一主两从:my.cnf 六个参数、复制账号、GTID、CHANGE REPLICATION SOURCE TO、SHOW REPLICA STATUS 验收,附翻车排查清单。

#MySQL#主从复制#GTID#主从搭建#高可用
2026-05-07 · 10114 阅读 · 0 评论 · 0 赞
连载中 16/22

连接池:HikariCP 参数与连接风暴

连接池不是越大越好:8 核机器配 1000 连接反而更慢的数学原理,HikariCP 四个必调参数,maxLifetime 与 wait_timeout 的隐形陷阱。

#MySQL#连接池#HikariCP#maxLifetime#连接风暴
2026-05-10 · 9877 阅读 · 0 评论 · 0 赞
连载中 4/16

缓存穿透:恶意 ID 打穿 MySQL 的四道防线

请求的数据在缓存和数据库里都不存在时,缓存形同虚设。聊聊参数校验、空值缓存、布隆过滤器、限流熔断四道防线的原理与组合打法。

#Redis#缓存穿透#布隆过滤器#高可用
2026-05-16 · 9307 阅读 · 21 评论 · 287 赞