File tree Expand file tree Collapse file tree 1 file changed +14
-12
lines changed Expand file tree Collapse file tree 1 file changed +14
-12
lines changed Original file line number Diff line number Diff line change @@ -26,50 +26,52 @@ Debian 下还有很多包管理软件,如 Synaptics、Aptitude,这里不一
2626
2727#### 安装软件包
2828
29- 如果我们需要安装一个名称为 name 的包
29+ 如果我们需要安装一个 ` package.deb ` 软件包:
3030
31- 在手动下载 .deb 包后,使用 dpkg 直接安装 .deb 包 :
31+ 在手动下载 .deb 包后,使用 apt 安装软件包 :
3232
3333``` shell
34- dpkg -i < name_version .deb>
34+ apt install < path/to/package .deb>
3535```
3636
37- 使用 apt 安装软件包 :
37+ 对于没有额外依赖的软件,也可以使用 dpkg 直接安装 :
3838
3939``` shell
40- apt install < name >
40+ dpkg -i < path/to/package.deb >
4141```
4242
43- 如果 name 有未在系统上安装的依赖的话,那么第一个命令会失败 (除非使用 ` --force ` 选项),第二个命令会下载对应的安装包及其依赖,并且进行安装 。
43+ 如果该软件包有未在系统上安装的依赖的话,那么 ` dpkg ` 命令会失败 (除非使用 ` --force ` 选项),因此 ** 在绝大多数情况下,我们不推荐直接操作 ` dpkg ` 等底层命令 ** 。
4444
4545#### 卸载软件包
4646
47- 使用 dpkg 直接卸载 :
47+ 使用 apt 卸载 :
4848
4949``` shell
50- dpkg -r < name >
50+ apt remove package_name
5151```
5252
53- 使用 apt 卸载 :
53+ 使用 dpkg 直接卸载 :
5454
5555``` shell
56- apt remove name
56+ dpkg -r < package_name >
5757```
5858
59+ 与安装时的情况类似,如果 package_name 被其他软件包依赖,apt 会尝试将被依赖的软件包一并卸载(** 请一定要看清楚 apt 列出的清单再确认** ),而 ` dpkg ` 会失败。
60+
5961那么现在产生了一个问题:要是我安装了一个有很多依赖的包,那么我们卸载它时依赖不会同时被卸载。这样依赖会一直占据我们电脑里面的空间。而手动卸载依赖并不直观,还可能破坏其他包的依赖。
6062
6163因此,在使用 APT 安装一个包时,我们将其标记为 manual,在安装依赖时,我们将其标记为 automatic,
6264那么我们知道** 所有没有被 manual 直接或者间接依赖的 automatic 包** 都是不必要的。
6365
64- 这样,我们可以使用` apt autoremove ` 来卸载不必要的包以释放存储空间。
66+ 这样,我们可以使用 ` apt autoremove ` 来卸载不必要的包以释放存储空间。
6567
6668#### 推荐与建议
6769
6870安装软件包时,APT 在默认配置下会安装推荐(Recommended)的包。还会提示你可以安装建议(Suggested)的包以拓展原包的功能。
6971
7072比如:apt 包的推荐有 ca-certificates,建议包有 aptitude、synaptic、gnupg、powermgmt-base 和 dpkg-dev
7173
72- 那么安装这个包时,会默认安装 ca-certificates,结束后会给出后面的包的提示 。
74+ 那么安装这个包时,会默认安装 ca-certificates,并给出后面的包的提示 。
7375
7476为了精简安装的软件包,可以使用 ` --no-install-recommends ` 的选项,以跳过推荐的软件包。
7577
You can’t perform that action at this time.
0 commit comments