美文网首页
Linux(五)包管理工具

Linux(五)包管理工具

作者: 石志不渝 | 来源:发表于2023-09-12 14:46 被阅读0次

Linux软件包管理

一 Linux主要的发行版及软件包管理标准

在之前,我们讲到过Linux的发行版本,主要的版本有四个:Red Hat,CentOS,Debian,Ubuntu。但目前,CentOS发展路线已经改变,不再是Red Hat的克隆版本,Fedora则成为了Red Hat支持的开源社区项目。
不同的系统,提供了不同的软件包管理标准,主要有两类:rpmdeb。我们使用Ubuntu,是从Debian继承来的deb标准。

发行版本与软件管理标准

在vscode的下载界面,我们可以看到两个版本的软件包,我们下载时,选择.deb版本。

vscode的Linux下载界面
无论rpm还是deb,在他们相关联的系统中,都为我们提供了“本地包管理”和“远程包管理”两种工具。

二 本地包管理工具dpkg

当我们下载完成.deb包后,并不能像windows上一样,直接双击安装。我们需要使用dpkg命令进行安装。下载完的安装包如下:

deb软件包命名规范

我们使用如下命令进行安装:

sudo dpkg -i ./code_1.82.1-1694163687_amd64.deb
vscode安装

dpkg有很多选项,可以实现不同的功能,具体如下表

序号 选项 功能描述
0 -i(--install) 安装软件包
1 -l(--list) 列出所有已安装的软件包
2 -L(--listfiles) 列出已安装软件包的文件列表,这对于查找软件包的文件位置很有帮助
3 -c(--contents) 列出deb包里面的文件.不是安装后的
4 -I(--info) 查看deb软件包文件的信息,包括版本号、描述和依赖关系等
5 -s(--status) 检查已安装软件包的状态,包括是否已安装和软件包的相关信息
6 -S(--search) 搜索系统中哪些软件包安装了指定的文件
7 -r 卸载安装包,将删除软件包的文件和配置

软件包的安装,上面已经做过。其他命令执行情况如下:

  1. 列出已经安装的软件包

    dpkg -l code
    
    列出已经安装的vscode
  2. 列出一个或多个已经安装的软件包所安装的文件

    dpkg -L code
    
    code所安装的文件
  3. 列出deb包里面的文件

    dpkg -e ./code_1.82.1-1694163687_amd64.deb
    
    deb里面的文件
  4. 查看deb软件包文件的信息

    dpkg -I ./code_1.82.1-1694163687_amd64.deb
    
    deb软件包信息
  5. 检查已安装软件包的状态

    dpkg -s code
    
    已经安装包的信息
  6. 搜索系统中哪些软件包安装了指定的文件

    dpkg -S /usr/share/appdata/code.appdata.xml
    
    code使用了code.appdata.xml
  7. 卸载安装包

    sudo dpkg -r code
    
    卸载安装包 卸载后查看状态

三 远程包管理工具apt

apt是对deb格式软件包的管理工具,用于直接从远程服务器下载和安装deb格式的软件包;可以自动安装软件的依赖包。
其命令的基本格式如下:

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

apt的常用选项,如下表

序号 选项 功能描述
1 -h 查看帮助信息
2 -y 当命令执行过程中,有询问yes/no时,自动回答yes
3 -q 安静模式执行,就是不会有一大堆东西输出在屏幕上

apt的常用命令,如下表

序号 命令 功能描述
1 update 更新本地软件包列表,从远程软件源获取最新的软件信息
2 install 安装一个或多个软件包,如果已经安装了旧版本,则会升级到最新版本
3 remove 移除一个或多个已安装的软件包,但保留其配置文件
4 purge 完全移除一个或多个已安装的软件包,包括其配置文件
5 upgrade 升级所有可升级的软件包,不会删除任何已安装的软件包(可能会造成某些本地安装的既有软件无法使用)
6 full-upgrade 升级所有可升级的软件包,并且在必要时删除一些已安装的软件包或安装一些新的软件包,以解决依赖关系
7 search 搜索一个或多个关键字,在本地软件包列表中查找匹配的软件包
8 show 显示一个或多个软件包的详细信息,如版本号、大小、依赖关系、描述等
9 list 列出符合条件的软件包及其状态。这个命令可以用来查看已经安装、可升级、可用等不同状态的软件包
10 autoremove 自动移除不再需要的依赖和库文件
  1. 更新本地软件包列表
    几乎在每次安装前,我们都会去执行本地软件包列表的更新。这样可以获取服务器上的最新软件包版本等信息。

    sudo apt update
    
    apt update
  2. 安装软件
    当我们执行某条指令时,如果未安装相应的软件包,系统会给我们提醒。比如查看本机ip.

    ifconfig
    
    ifconfig

    我们可以利用install命令来进行安装,安装过程中系统会让你进行确认,可以使用选项-y自动回答yes

    sudo apt install net-tools -y
    
    install
  1. 通过关键字搜索软件包

    sudo apt search '^vim$'
    
    搜索vim
  2. 查看软件包的详细信息

    apt show vim
    
    查看vim详细信息
  1. 列出符合状态的软件
    基本语法为:
    apt list --<status>
    
    可供使用的状态包括:installed(已经安装的)、upgradeable(可升级的)、hold(需保持不升级的)、 not-installed(未被安装的)
    列出已经安装的,具有vim关键字的软件包
    apt list --installed | grep 'vim'
    
    已经安装的 具有vim关键字的包
  1. 卸载软件

    sudo apt remove net-tools
    sudo apt remove net-tools -y
    
    卸载 不带 -y 卸载 带 -y
  2. 移除没有用的包

    sudo apt autoremove -y
    
    autoremove
  3. 彻底卸载软件包

    sudo apt purge net-tools -y
    sudo apt remove --purge net-tools -y
    

相关文章

网友评论

      本文标题:Linux(五)包管理工具

      本文链接:https://www.haomeiwen.com/subject/patuvdtx.html