Linux学习笔记5 值得一读,Linux(ubuntu)软件管理,搜索下载安装卸载全部搞定!(上)-CSDN博客
一、前文回顾
上一篇文章我们了解了软件管理的基本概念和软件管理的几种常用工具。我们了解了软件包是由什么形式存在,由谁管理,从哪下载。了解了ubuntu三种常见的管理软件的工具,分别是apt,aptitude,synaptic。
二、APT
apt-cache
在安装之前,我们可以在软件仓储中搜索一下,确保软件仓储中包含此软件:
apt-cache [command]
command为子命令选项:
#展示软件包信息
apt-cache showpkg
#搜索某个软件
apt-cache search
#显示软件包之间的依赖关系
apt-cache depends
他们分别的使用效果:
apt-get命令
此命令我们比较熟悉,他拥有多个子命令,
基本语法如下:
apt-get [option] [command]
选项[option]包括-c,-y,--no-download,--download-only,等等。用于指示命令执行时的行动前提和条件。
-y:自动回答“yes”(是)来确认提示,常用于自动化脚本。
-q:安静模式,减少输出信息
-d:下载包但不安装。
-s 或 --simulate:模拟执行操作,但不实际执行任何更改。
-t 或 --target-release:指定目标发行版。
--download-only:仅下载软件包,不进行安装。
--force-yes 或 --assume-yes:强制执行操作,忽略某些警告。
--no-install-recommends:安装软件包时不安装推荐的包,只安装依赖的包。
-c:指定apt-get命令使用除默认配置文件以外的配置文件。
--no-download:禁止下载软件包
--purge:清除软件包,与remove子命令配合使用。
--reinstall:重新安装已经安装过的软件包
--allow-unauthenticated:允许安装未认证的软件包
--no-remove:禁止删除软件包
--no-upgrade:禁止升级软件包
高级选项
--allow-downgrades:允许降级安装。
--allow-change-held-packages:允许更改被锁定的包。
--fix-broken:尝试修复损坏的依赖关系。
--fix-missing:尝试修复缺少的依赖。
如果说选项是配置执行命令中的注意事项和条件,那么子命令部分就是具体实现的功能了。
install:安装一个或多个软件包
update:同步软件仓储的软件包索引
upgrade:升级软件包
remove:删除一个或多个软件包
autoremove:删除一个或多个软件包并自动处理依赖关系
purge:彻底删除一个软件,包含其配置文件
check:检查apt缓冲区,确定其是否存在
clean:清楚apt本地缓存。
下面对每种常见操作列出用法。
安装软件
sudo apt-get install 7zip
sudo的意思是使用受限的管理员权限执行命令。
如图可见,我们安装7zip时遇到了问题吗,这是因为我们的synaptic正在进行软件管理工作,也就是需要关闭synaptic才能继续执行哦。
重新安装软件
一般来说我们如果重复安装会出现以下提示:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
7zip 已经是最新版 (21.07+dfsg-4)。
下列软件包是自动安装的并且现在不需要了:
libwpe-1.0-1 libwpebackend-fdo-1.0-1
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 6 个软件包未被升级。
wuyi@wuyifun:~$
这时候使用我们的选项控制安装:
sudo apt-get --reinstall install 7zip
输出为:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
libwpe-1.0-1 libwpebackend-fdo-1.0-1
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,重新安装了 1 个软件包,要卸载 0 个软件包,有 6 个软件包未被升级。
需要下载 0 B/971 kB 的归档。
解压缩后会消耗 0 B 的额外空间。
(正在读取数据库 ... 系统当前共安装有 209099 个文件和目录。)
准备解压 .../7zip_21.07+dfsg-4_amd64.deb ...
正在解压 7zip (21.07+dfsg-4) 并覆盖 (21.07+dfsg-4) ...
正在设置 7zip (21.07+dfsg-4) ...
正在处理用于 man-db (2.10.2-1) 的触发器 ...
wuyi@wuyifun:~$
删除软件包/彻底删除
sudo apt-get remove 7zip
wuyi@wuyifun:~$ sudo apt-get remove 7zip
[sudo] wuyi 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
libwpe-1.0-1 libwpebackend-fdo-1.0-1
使用'sudo apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
7zip
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 6 个软件包未被升级。
解压缩后将会空出 2,454 kB 的空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 209099 个文件和目录。)
正在卸载 7zip (21.07+dfsg-4) ...
正在处理用于 man-db (2.10.2-1) 的触发器 ...
如果你想彻底卸载一个软件包,使用下面两个命令之一:
sudo apt-get purge 7zip
sudo apt-get --purge remove 7zip
wuyi@wuyifun:~$ sudo apt-get --purge remove 7zip
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
libwpe-1.0-1 libwpebackend-fdo-1.0-1
使用'sudo apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
7zip*
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 6 个软件包未被升级。
解压缩后将会空出 2,454 kB 的空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 209099 个文件和目录。)
正在卸载 7zip (21.07+dfsg-4) ...
正在处理用于 man-db (2.10.2-1) 的触发器 ...
注意彻底删除和删除的区别,也就是purge和remove子命令的区别。
更新和升级
更新索引
sudo apt-get upodate
升级软件
sudo apt-get upgrade
这两条命令可以说是初学者必备,甚至可以说安装系统之后第一件事情就是换源然后更新软件索引和电脑上的软件。
apt命令
和apt-get基本相同,下列常用子命令
Update:更新索引
Upgrade:升级软件,但是不会删除软件包
full-upgrade:升级软件,会安装或者删除其他的软件包以满足依赖
install:安装软件包
remove:删除软件包
purge:彻底删除软件包
autoremove:自动删除软件包及其依赖
search:搜索软件包
可以看出apt比apt-get多了一个搜索功能替代apt-cache。
三、Aptitude
这一命令大部分选项和子命令和apt命令式兼容的,但是它提供的选项非常多。可以完全替代了我们的apt命令,并且还有美观的图形化界面。明天来介绍具体用法以及在设备上的表现。