Linux基础-apt命令

一、概述

这里记录一下我常用的apt命令。apt 是Linux下很强大的命令行软件包管理器, apt 提供软件包搜索,管理和信息查询等功能。
它提供的功能与其他 APT 工具相同(像 apt-get 和 apt-cache),也也是说能用 apt-get 的场景其实用 apt 也能用。两者可以互换。

二、常用命令解析

1. 查询信息

1. apt list :查询具体包的版本信息

这个命令是查询具体包的版本信息,一个是仓库和本地的信息。

zhy@zhy-Uos:/etc/ppp$ apt list python3
正在列表... 完成
python3/未知,未知,未知,now 3.7.3-1 amd64 [已安装,自动]
python3/未知,未知,未知 3.7.3-1 i386

2. apt search :模糊查找包的所有可能的包

这个命令是查询包的所有可能的包,属于是模糊查找

zhy@zhy-Uos:/etc/ppp$ apt search avif
正在排序... 完成
全文搜索... 完成  
libavifile-0.7-bin/未知,未知,未知 1:0.7.48~20090503.ds-20.1+b1 amd64
  toolkit for libavifile

libavifile-0.7-common/未知,未知,未知,未知,未知,未知,now 1:0.7.48~20090503.ds-20.1 all [已安装,自动]
  toolkit for libavifile
...

3. apt policy :查询包的版本和源信息

这个命令是查询包的版本和源信息

zhy@zhy-Uos:/etc/ppp$ apt policy libavcodec-dev 
libavcodec-dev:
  已安装:7:4.4.2.4-deepin4
  候选: 7:4.4.2.4-deepin4
  版本列表:
 *** 7:4.4.2.4-deepin4 500
        500 https://professional-packages.chinauos.com/desktop-professional eagle/main amd64 Packages
        500 http://pools.uniontech.com/desktop-professional eagle/main amd64 Packages
        500 http://pools.uniontech.com/ppa/dde-eagle eagle/1070/main amd64 Packages
        100 /usr/lib/dpkg-db/status
     7:4.1.9.13-deepin13 500
        500 https://professional-security.chinauos.com eagle/1070/main amd64 Packages

4. apt show :查询包相关的最详细的信息

这个命令是 查询包相关的最详细的信息

zhy@zhy-Uos:/etc/ppp$ apt show libavcodec-dev 
Package: libavcodec-dev
Version: 7:4.4.2.4-deepin4
Priority: optional
Section: libdevel
Source: ffmpeg
Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Installed-Size: 18.5 MB
Depends: libavcodec58 (= 7:4.4.2.4-deepin4), libavutil-dev (= 7:4.4.2.4-deepin4), libswresample-dev (= 7:4.4.2.4-deepin4)
Homepage: https://ffmpeg.org/
Download-Size: 5,285 kB
APT-Manual-Installed: yes
APT-Sources: https://professional-packages.chinauos.com/desktop-professional eagle/main amd64 Packages
Description: FFmpeg library with de/encoders for audio/video codecs - development files
 FFmpeg is the leading multimedia framework, able to decode, encode, transcode,
 mux, demux, stream, filter and play pretty much anything that humans and
 machines have created. It supports the most obscure ancient formats up to the
 cutting edge.
....

5. apt depend : 查询包的依赖信息

这个命令是 包的依赖信息,相当于对 apt show 内容取部分信息

zhy@zhy-Uos:/etc/ppp$ apt depends libavcodec-dev
libavcodec-dev
  依赖: libavcodec58 (= 7:4.4.2.4-deepin4)
    libavcodec-extra58
  依赖: libavutil-dev (= 7:4.4.2.4-deepin4)
  依赖: libswresample-dev (= 7:4.4.2.4-deepin4)
...

2. 安装卸载更新

1. apt install : 安装软件包

这里可以安装指定的包,也可以带上版本号

# 查询包
zhy@zhy-Uos:/etc/ppp$ apt policy libavifile-0.7-dev
libavifile-0.7-dev:
  已安装:1:0.7.48~20090503.ds-20.1+b1
  候选: 1:0.7.48~20090503.ds-20.1+b1
  版本列表:
 *** 1:0.7.48~20090503.ds-20.1+b1 500
        500 https://professional-security.chinauos.com eagle/1070/main amd64 Packages
        500 https://professional-packages.chinauos.com/desktop-professional eagle/main amd64 Packages
        500 http://pools.uniontech.com/desktop-professional eagle/main amd64 Packages
        100 /usr/lib/dpkg-db/status
        
# 安装指定版本包
zhy@zhy-Uos:/etc/ppp$ sudo apt install libavifile-0.7-dev=1:0.7.48~20090503.ds-20.1+b1
# 自动版本
zhy@zhy-Uos:/etc/ppp$ sudo apt install libavifile-0.7-dev

2. apt reinstall : 重新安装软件包

和 apt install 的用法一样,

3. apt remove : 卸载软件包

这个不能版本,因为这个系统只能存在一个包

zhy@zhy-Uos:/etc/ppp$ sudo apt remove libavifile-0.7
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
注意,根据正则表达式 'libavifile-0.7' 选中了 'libavifile-0.7c2'
注意,根据正则表达式 'libavifile-0.7' 选中了 'libavifile-0.7-common'
注意,根据正则表达式 'libavifile-0.7' 选中了 'libavifile-0.7-bin'
注意,根据正则表达式 'libavifile-0.7' 选中了 'libavifile-0.7-dev'
软件包 libavifile-0.7-bin 未安装,所以不会被卸载
下列软件包将被【卸载】:
  libavifile-0.7-common libavifile-0.7-dev libavifile-0.7c2
升级了 0 个软件包,新安装了 0 个软件包,要卸载 3 个软件包,有 87 个软件包未被升级。
解压缩后将会空出 1,359 kB 的空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 350211 个文件和目录。)
正在卸载 libavifile-0.7-dev (1:0.7.48~20090503.ds-20.1+b1) ...
正在卸载 libavifile-0.7c2:amd64 (1:0.7.48~20090503.ds-20.1+b1) ...
正在卸载 libavifile-0.7-common (1:0.7.48~20090503.ds-20.1) ...
....

4. apt autoremove : 卸载所有自动安装且不再使用的软件包

自动卸载那些不用的包,也即是不存在依赖使用的包就会被删除掉。

zhy@zhy-Uos:/etc/ppp$ sudo apt autoremove 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 92 个软件包未被升级。

5. apt update :获取更新可用软件包列表

只是从软件源中获取包的元数据列表,并不会去安装包

zhy@zhy-Uos:/etc/ppp$ sudo apt update 
命中:1 http://pools.uniontech.com/desktop-professional eagle InRelease
命中:2 http://pools.uniontech.com/ppa/dde-eagle eagle/1070 InRelease                                                                                                                                                
命中:3 https://professional-security.chinauos.com eagle/1070 InRelease                                                                                                                                              
命中:4 https://pro-driver-packages.uniontech.com eagle InRelease                                                                  
命中:5 https://pro-store-packages.uniontech.com/appstore eagle-pro InRelease
命中:6 https://professional-packages.chinauos.com/desktop-professional eagle InRelease
命中:7 https://professional-packages.chinauos.com/printer eagle InRelease
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有 92 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
....

6. apt upgrade:

去更新可以更新的包,下面两个命令类似
apt mini-upgrade - 通过 安装/升级 软件来更新系统
apt full-upgrade - 通过 卸载/安装/升级 来更新系统

zhy@zhy-Uos:/etc/ppp$ sudo apt full-upgrade 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
正在计算更新... 完成
下列软件包将被升级:
  acpid dcc-dock-plugin dde-cooperation dde-cooperation-daemon dde-cooperation-transfer dde-dock dde-dock-dev dde-kwin deepin-camera deepin-data-transfer deepin-defender deepin-draw deepin-elf-sign-tool
  deepin-elf-signverify-common deepin-elf-verify deepin-terminal distro-info-data dmeventd dmsetup fonts-wqy-microhei hdf5-helpers initramfs-tools initramfs-tools-core kwin-common kwin-data kwin-wayland kwin-x11
  libdevmapper-event1.02.1 libdevmapper1.02.1 libdtkcore-dev libdtkcore5 libdtkcore5-bin libdtkcore5-dbgsym libfaad2 libfreerdp-client2-2 libfreerdp2-2 libhdf5-103 libhdf5-cpp-103 libhdf5-dev libhdf5-openmpi-103
  libjavascriptcoregtk-4.0-18 libkwineffects14 libkwinglutils14 liblvm2cmd2.03 libpq-dev libpq5 libqpdf21 libqt5concurrent5 libqt5core5a libqt5core5a-dbgsym libqt5dbus5 libqt5gui5 libqt5gui5-dbgsym
  libqt5network5 libqt5opengl5 libqt5opengl5-dev libqt5printsupport5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libqt5widgets5 libqt5widgets5-dbgsym libqt5xml5 libsemanage-common libsemanage1 libvlc5 libvlccore9
  libwebkit2gtk-4.0-37 libwinpr2-2 libxapian30 libzbar0 lvm2 man-db org.deepin.downloader os-config policycoreutils python3-semanage qt5-default qt5-qmake qt5-qmake-bin qtbase5-dev qtbase5-dev-tools qtbase5-doc
  qtbase5-doc-html qtbase5-examples qtbase5-private-dev smartmontools unrar usec-boot-crypt vlc-data vlc-plugin-base vlc-plugin-video-output
升级了 92 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 424 MB 的归档。
....

edit-sources - 编辑软件源信息文件

3. apt源的配置

很多时候我们都是去编辑这个文件

sudo vim /etc/apt/sources.list

我们其实也可以使用,也是推荐使用这个命令

sudo apt edit-sources
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太阳风暴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值