主题
04 · apt 包管理与软件安装
目标:用 Ubuntu 官方包管理装常用工具,理解 update / install / remove,不乱加源。
官方:Package management
1. 环境前提
- 普通用户可
sudo - 网络可用(云机安全组放行出站;国内机可能要镜像源,见文末注意)
2. apt 心智(三句话)
apt update:刷新「有哪些包、什么版本」的索引(不装软件)。apt install:按索引下载并安装。- 先 update 再 install:避免装到过期索引里的旧依赖关系。
bash
sudo apt update
sudo apt install -y curl git vim tree1
2
2
| 命令 | 作用 |
|---|---|
apt update | 更新索引 |
apt upgrade | 升级已装包(维护窗口再做;练习机可谨慎升级) |
apt install 包名 | 安装 |
apt remove 包名 | 卸软件,常留配置 |
apt purge 包名 | 卸软件并倾向清配置 |
apt search 关键词 | 搜包 |
apt show 包名 | 包详情 |
which curl / curl --version | 验证是否在 PATH |
查询本机已装:
bash
apt list --installed | less
dpkg -l | grep nginx1
2
2
3. 本系列会用到的包(先装齐)
bash
sudo apt update
sudo apt install -y \
curl wget git vim tree \
htop net-tools \
nginx1
2
3
4
5
2
3
4
5
说明:
| 包 | 用途 | 哪篇用 |
|---|---|---|
curl / wget | 测 HTTP | 05、09、10 |
git | 拉代码 | 10 |
htop | 交互看进程 | 05 |
nginx | 静态站 / 反代 | 09、10 |
net-tools 提供旧式 netstat;本系列优先教 ss(通常已随 iproute2 存在):
bash
ss -tulpn1
若提示缺 ss:sudo apt install -y iproute2。
4. 装完怎么验收
bash
curl --version
git --version
nginx -v
sudo systemctl status nginx # 下一篇起会细讲 systemctl;此刻能看到 active 即可1
2
3
4
2
3
4
浏览器或本机:
bash
curl -I http://127.0.0.1/
# 若安全组已放行 80,也可从本机:curl -I http://公网IP/1
2
2
5. 源与版本(别被 AI 带去乱加 PPA)
| 做法 | 建议 |
|---|---|
| 只用 Ubuntu 官方仓库 | 默认、可复现、适合本系列 |
| 第三方 PPA / 乱 curl 脚本 | bash | 练习机可玩;生产先搞清来源与卸载方式 |
| 需要新版本 Node/Go | 第 10 篇用官方安装方式;不要为了「新一点」先堆一堆源 |
国内云机 apt update 很慢时:按云厂商文档换镜像源(阿里云/腾讯云/华为云等),改完再 apt update。
6. 云机 vs WSL
| 云 Ubuntu | WSL2 | |
|---|---|---|
| apt | 相同 | 相同 |
| 装 nginx 后访问 | 常要安全组 + ufw(07) | 本机 localhost 即可试 |
systemctl | 完整 | 部分环境需额外开启 systemd |
7. 动手清单
- [ ]
sudo apt update成功无持久错误 - [ ] 装好
curl git htop nginx - [ ]
curl -I http://127.0.0.1/看到 Nginx 响应头(或默认页) - [ ]
apt show curl读一眼包描述 - [ ] (可选)
sudo apt remove tree再install回来,感受 remove
8. 常见翻车
| 翻车 | 处理 |
|---|---|
Unable to locate package | 先 apt update;检查拼写与 Ubuntu 版本 |
Could not resolve host | DNS/网络;云机是否无出网 |
| 磁盘满导致 install 失败 | df -h(05 会讲);清 /var/cache/apt:sudo apt clean |
| 装完找不到命令 | hash -r 或重开 SSH;查 which / echo $PATH |
9. 官方入口
- Ubuntu:Package management
man apt
下一篇:进程、端口与资源 —— 回答「谁占了 3000 端口」。
