Jianrry

每天一个Linux命令:apt-get 软件包管理器
apt-get命令用于从软件源下载、安装、升级、卸载软件包,只能在Debian系的Linux发行版中使用。
扫描右侧二维码阅读全文
06
2019/07

每天一个Linux命令:apt-get 软件包管理器

apt-get命令用于从软件源下载、安装、升级、卸载软件包,只能在Debian系的Linux发行版中使用。

语法:

apt-get [选项] [命令] [软件包名]

选项:

-y :对所有确定询问都选择 Yes,并且不提示
-f :尝试纠正 被破坏依赖关系的系统

命令:

update - 取回更新的软件包列表信息
upgrade - 进行一次升级
download - 下载指定的二进制包到当前目录
install - 安装新的软件包
remove - 卸载软件包
purge - 卸载并清除软件包的配置
autoremove - 卸载所有自动安装且不再使用的软件包
clean - 删除所有已下载的包文件
autoclean - 删除已下载的旧包文件

...
# 更多的命令可以用 apt-get --help 来查看。

实例:

# 实例一:读取软件包列表

root@Jianrry:~# apt-get update
命中:1 http://mirrors.aliyun.com/ubuntu bionic InRelease
命中:2 http://mirrors.aliyun.com/ubuntu bionic-updates InRelease               
命中:3 http://mirrors.aliyun.com/ubuntu bionic-backports InRelease             
命中:4 http://mirrors.aliyun.com/ubuntu bionic-security InRelease              
命中:5 http://mirrors.aliyun.com/ubuntu xenial InRelease                       
命中:6 http://mirrors.aliyun.com/ubuntu xenial-updates InRelease               
命中:7 http://mirrors.aliyun.com/ubuntu xenial-backports InRelease             
命中:8 http://mirrors.aliyun.com/ubuntu xenial-security InRelease              
命中:9 http://archive.canonical.com/ubuntu xenial InRelease                    
命中:10 http://archive.ubuntu.com/ubuntu xenial InRelease             
正在读取软件包列表... 完成   
         

# 实例二:升级所有可更新的软件包

root@Jianrry:~# apt-get -y upgrade
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在计算更新... 完成
下列软件包的版本将保持不变:
  libgl1-mesa-dri libxatracker2 python3-software-properties
  software-properties-common software-properties-gtk
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。


# 实例三:下载软件包,但不进行安装

root@Jianrry:~# apt-get download nginx
获取:1 http://mirrors.aliyun.com/ubuntu bionic-updates/main amd64 nginx all 1.14.0-0ubuntu1.2 [3,596 B]
已下载 3,596 B,耗时 0秒 (49.7 kB/s)
   

# 实例四:下载并安装软件包

root@Jianrry:~# apt-get -y install nginx
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  libnginx-mod-http-geoip libnginx-mod-http-image-filter
...
建议安装:
  fcgiwrap nginx-doc
下列【新】软件包将被安装:
  libnginx-mod-http-geoip libnginx-mod-http-image-filter
...
升级了 0 个软件包,新安装了 8 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 598 kB 的归档。
解压缩后会消耗 2,103 kB 的额外空间。
获取:1 http://mirrors.aliyun.com/ubuntu bionic-updates/main amd64 nginx-common all 1.14.0-0ubuntu1.2 [37.4 kB]
...
已下载 598 kB,耗时 1秒 (622 kB/s)
正在预设定软件包 ...
正在选中未选择的软件包 nginx-common。
(正在读取数据库 ... 系统当前共安装有 150570 个文件和目录。)
正准备解包 .../0-nginx-common_1.14.0-0ubuntu1.2_all.deb  ...
正在解包 nginx-common (1.14.0-0ubuntu1.2) ...
...
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /lib/systemd/system/nginx.service.
正在设置 libnginx-mod-http-image-filter (1.14.0-0ubuntu1.2) ...
正在处理用于 systemd (237-3ubuntu10.24) 的触发器 ...
...


# 实例五:修复安装软件包

root@Jianrry:~# apt-get -f install nginx
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
nginx 已经是最新版 (1.14.0-0ubuntu1.2)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。


# 实例六:卸载软件包,但不删除配置文件

root@Jianrry:~# apt-get -y remove nginx
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  libnginx-mod-http-geoip libnginx-mod-http-image-filter
...
使用'apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
  nginx
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 5 个软件包未被升级。
解压缩后将会空出 43.0 kB 的空间。
(正在读取数据库 ... 系统当前共安装有 150652 个文件和目录。)
正在卸载 nginx (1.14.0-0ubuntu1.2) ...


# 实例七:卸载软件包,并删除配置文件

root@Jianrry:~# apt-get -y purge nginx
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  libnginx-mod-http-geoip libnginx-mod-http-image-filter
...
使用'apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
  nginx*
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 5 个软件包未被升级。
解压缩后将会空出 43.0 kB 的空间。
(正在读取数据库 ... 系统当前共安装有 150652 个文件和目录。)
正在卸载 nginx (1.14.0-0ubuntu1.2) ...


# 实例八:卸载所有自动安装、现在已经不再使用的软件包

root@Jianrry:~# apt-get -y autoremove
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包将被【卸载】:
  libnginx-mod-http-geoip libnginx-mod-http-image-filter
...
升级了 0 个软件包,新安装了 0 个软件包,要卸载 7 个软件包,有 5 个软件包未被升级。
解压缩后将会空出 2,060 kB 的空间。
(正在读取数据库 ... 系统当前共安装有 150649 个文件和目录。)
正在卸载 nginx-core (1.14.0-0ubuntu1.2) ...
...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...


# 实例九:删除已下载、已过期的包文件

root@Jianrry:~# apt-get clean && apt-get autoclean
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成      
最后修改:2019 年 07 月 11 日 04 : 47 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论