Linux:这啥命令?这台服务器我说了算-软件安装与包管理——“装个软件而已,怎么还有这么多姿势?”
《Linux:从“这啥命令?”到“这台服务器我说了算”》
第四章:软件安装与包管理——“装个软件而已,怎么还有这么多姿势?”
前面几章,我们已经能在 Linux 里认路、管文件、处理权限。
接下来终于到了一个非常现实的问题:
软件到底怎么装?
刚接触 Linux 的同学很容易带着 Windows 思维到处找 .exe,然后发现:下载按钮呢?安装向导呢?“下一步、下一步、完成”去哪了?
Linux 的答案是:别找了,交给包管理器。
1. 什么是包管理器?
Linux 软件通常会被整理成“软件包”。包管理器负责:
- 找软件
- 下载软件
- 安装依赖
- 升级软件
- 卸载软件
它有点像系统自带的“应用商店”,只不过主要靠命令操作。
不同发行版的包管理器不同:
| 发行版 | 常用工具 |
|---|---|
| Ubuntu / Debian | apt |
| Fedora / RHEL 新版本 | dnf |
| Arch Linux | pacman |
本章主要使用 Ubuntu / Debian 的 apt,其他发行版思路基本一致。
2. 安装前先更新“菜单”
执行:
sudo apt update
注意,apt update 不是升级所有软件。
它做的事情更像:
“老板,把你家今天的软件菜单给我刷新一下。”
真正升级已安装软件通常是:
sudo apt upgrade
所以记住:
apt update → 更新软件包索引
apt upgrade → 升级已安装的软件
3. 安装软件:一句命令搞定
比如安装 tree:
sudo apt install tree
安装完成后试试:
tree --version
再例如安装 curl:
sudo apt install curl
一次装多个:
sudo apt install git curl vim
比起一路点“下一步”,是不是突然有点上瘾?
4. 我不知道包名怎么办?
可以搜索:
apt search nginx
查看某个软件包的信息:
apt show nginx
你可以看到版本、依赖、描述等信息。
如果只是想知道某个命令是否已经存在:
which git
或者:
command -v git
有输出路径,说明命令已经能被找到。
5. 卸载软件:删,但别乱删
卸载程序:
sudo apt remove tree
如果连配置文件也想一起清理:
sudo apt purge tree
两者区别可以简单理解成:
remove → 人搬走了,部分家具还在
purge → 人和家具一起搬走
一些已经不再需要的依赖可以清理:
sudo apt autoremove
但服务器上执行前最好认真看一眼待删除列表,别养成“看到 Y 就无脑回车”的习惯。
6. 软件到底装到哪里了?
这也是 Linux 新手常见疑问。
比如:
which nginx
可能返回:
/usr/sbin/nginx
查看某个软件包安装了哪些文件:
dpkg -L nginx
常见位置包括:
/usr/bin 普通命令
/usr/sbin 系统管理命令
/etc 配置文件
/var/log 日志
/usr/share 共享资源
Linux 软件往往不是全部塞进一个目录,而是按照用途“各回各家”。
7. .deb 文件怎么装?
有时官网下载的是:
example.deb
推荐这样安装:
sudo apt install ./example.deb
这里的 ./ 很重要,它告诉 apt:这是当前目录里的文件,不是软件仓库中的包名。
你也可能看到:
sudo dpkg -i example.deb
dpkg 能安装 .deb,但处理依赖没有 apt 方便,所以新手优先用 apt install ./xxx.deb。
8. 软件源是什么?
你执行:
sudo apt install nginx
系统并不是凭空变出 nginx,而是从配置好的**软件源(Repository)**下载。
可以把软件源理解成 Linux 的“官方仓库地址”。
这也是为什么网上有些教程会让你“添加软件源”——系统默认仓库里可能没有那个软件,或者版本较旧。
但请记住一条重要原则:
不要看到一条
curl ... | sudo bash就直接复制执行。
因为这相当于:从网上下载一段脚本,然后立刻给它管理员权限执行。
至少先确认来源可信,并看清楚脚本到底做什么。
9. apt、Snap、Flatpak,怎么又冒出来两个?
Ubuntu 上你还可能见到:
snap
桌面 Linux 中也经常见到:
Flatpak
简单理解:
apt → 传统系统软件包
Snap → Canonical 推动的独立打包方案
Flatpak → 桌面应用常见的跨发行版方案
现在不用急着研究它们的战争史。
服务器学习阶段,先把 apt 用熟最重要。
10. 本章实战:装一套基础工具箱
先更新索引:
sudo apt update
安装几个常用工具:
sudo apt install git curl tree htop
逐个检查:
git --version
curl --version
tree --version
htop --version
查找 git 的位置:
which git
查看软件包信息:
apt show git
最后试着卸载 tree:
sudo apt remove tree
再装回来:
sudo apt install tree
恭喜,你已经完成了一次完整的“查、装、看、删、重装”。
11. 本章命令速查
| 命令 | 用途 |
|---|---|
apt update |
更新软件包索引 |
apt upgrade |
升级已安装软件 |
apt install |
安装软件 |
apt remove |
卸载软件 |
apt purge |
连配置一起清理 |
apt autoremove |
清理无用依赖 |
apt search |
搜索软件包 |
apt show |
查看软件包信息 |
which |
查看命令路径 |
dpkg -L |
查看软件包安装文件 |
12. 这一章你应该带走什么?
以后再看到“安装某某软件”,脑子里先别出现“去官网找安装包”。
先按这个思路走:
1. 软件源里有没有? → apt search
2. 更新索引了吗? → apt update
3. 安装 → apt install
4. 命令在哪里? → which / command -v
5. 不用了 → apt remove
包管理器用顺手以后,你会发现 Linux 安装软件其实并不麻烦。
真正麻烦的是下一件事:
软件装好了,它怎么自己跑起来?挂了怎么重启?开机怎么自动启动?
下一章见:
第五章:进程与服务——“程序明明装了,它为什么躺着不动?”
- 点赞
- 收藏
- 关注作者
评论(0)