Linux常用包管理及命令

系统 Linux
在Linux上,安装软件的方式一般有几种:系统包管理器安装、源码编译、二进制包,还有现在桌面系统用比较多的Snap、AppImage、Flatpak等。

简介

在Linux上,安装软件的方式一般有几种:系统包管理器安装、源码编译、二进制包,还有现在桌面系统用比较多的Snap、AppImage、Flatpak等。

[[380699]]

Linux包管理

DPKG

dpkg是Debian系的包管理系统,包后缀名是.deb。

[[380700]]

apt命令可以快速安装dpkg包,解决包与包的依赖关系。

常用命令:

  1. # 从软件源同步最新的软件信息并缓存到本地 
  2. apt update 
  3. # 安装指定的包,并同时安装其依赖的其他包。 
  4. apt install [package] 
  5. # 更新软件版本 
  6. apt upgrade 
  7. # 查找软件,没有添加参数就是展示所有的软件包,加关键字就是搜索指定的包 
  8. apt list zlib* 
  9. # 列出已经安装的软件版本 
  10. apt list --installed 
  11. # 关键字搜索软件的名称和描述 
  12. apt search zlib* 
  13. # 卸载包,但是配置文件还是会保存着 
  14. apt remove [package] 
  15. # 卸载包,并删除配置文件 
  16. apt purge [package] 
  17. # 卸载因安装软件自动安装的依赖 
  18. apt autoremove 
  19. # 删除所有已下载的软件包 
  20. apt clean 
  21. # 类似clean,但删除的是过期的包(即已不能下载或者是无用的包) 
  22. apt autoclean 

 RPM

RPM是红帽系的包管理系统,包后缀名是.rpm。


yum就是类似apt一样的前端工具,可以很好地解决包与包之间的依赖关系。

dnf是yum的升级版本,是下一代的yum。dnf与yum的参数基本一致。

常用命令:

  1. # 安装软件,-y 表示直接安装不询问 
  2. yum -y install nginx 
  3. # 重新安装 
  4. yum reinstall nginx 
  5. # 查找软件 
  6. yum list nginx 
  7. # 查看包组(后面不加组名,就会列出所有的组) 
  8. yum grouplist 
  9. #根据关键字查找 
  10. yum search nginx 
  11. #根据文件路径查找包名,如果不知道文件具体路径也可以用通配符进行匹配 
  12. yum provides  /usr/bin/vim 
  13. yum provides  */vim 
  14. #检查更新 
  15. yum check-update 
  16. # 更新软件,如果不执行包名就是更新所有的包 
  17. yum -y update 
  18. #如果不更新指定的包可以使用-x参数 
  19. yum -y update -x nginx 
  20. # 卸载 
  21. yum remove nginx 
  22. # 卸载并删除配置 
  23. yum erase nginx 
  24. #更新索引,可以加快查找依赖包的速度 
  25. yum makecache 

 Pacman

Pacman是Arch系的包管理系统,新版本包后缀名是.pkg.tar.zst,之前的版本是.pkg.tar.xz。

[[380701]]

常用命令:

  1. # 更新系统 
  2. pacman -Syu 
  3. #  将本地的包数据库与远程的仓库进行了同步 
  4. pacman -Sy  
  5. pacman -Su 
  6. # 安装包 
  7. pacman -S  [package] 
  8. # 更新仓库并安装包 
  9. pacman -Sy [package] 
  10. # 更新本地包,一般用于降级,如果是url会自动去下载 
  11. pacman -U /var/cache/pacman/pkg/yay-10.1.2-1-x86_64.pkg.tar.zst 
  12. # 只删除包,保留其全部已经安装的依赖关系 
  13. pacman -R  [package] 
  14. # 在删除包的同时,删除其所有没有被其他已安装软件包使用的依赖关系 
  15. pacman -Rs [package] 
  16. #在删除包的同时,删除所有依赖这个软件包的程序 
  17. pacman -Rsc [package] 
  18. # ]在删除包时不检查依赖 
  19. pacman -Rd [package 
  20. #在仓库中搜索含关键字的包 
  21. pacman -Ss 关键字 
  22. # 搜索已安装的包 
  23. pacman -Qs 关键字 
  24. #查看有关包的详尽信息 
  25. pacman -Qi 包名 
  26. #列出该包的文件 
  27. pacman -Ql 包名 
  28. #只下载包,不安装 
  29. pacman -Sw 包名 
  30. #清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录 
  31. pacman -Sc 
  32. #清理所有的缓存文件 
  33. pacman -Scc 

 apk

Alpine使用apk进行包管理,通过apk –help命令查看完整的包管理命令。


常用命令:

  1. # 从远程镜像源中更新本地镜像源索引 
  2. apk   update
  3. # 安装包 
  4. apk add openssh openntp vim 
  5. apk add --no-cache mysql-client 
  6. apk add docker --update-cache --repository http://mirrors.ustc.edu.cn/alpine/v3.4/main/ --allow-untrusted 
  7. #安装指定版本软件包 
  8. apk add asterisk=1.6.0.21-r0 
  9. apk add 'asterisk<1.6.1' 
  10. apk add 'asterisk>1.6.1' 
  11.  # 卸载并删除 
  12. apk del openssh openntp vim 
  13. #升级软件 
  14. apk upgrade  
  15.  #指定升级部分软件包 
  16. apk add --upgrade busybox 
  17. #查找所以可用软件包 
  18. apk search  
  19. #查找所以可用软件包及其描述内容 
  20. apk search -v 
  21. #通过软件包名称查找软件包 
  22. apk search -v 'nginx*'  
  23. #通过描述文件查找特定的软件包 
  24. apk search -v -d 'docker'  
  25. #列出所有已安装的软件包 
  26. apk info  
  27. #显示完整的软件包信息 
  28. apk info -a zlib  
  29. #显示指定文件属于的包 
  30. apk info --who-owns /sbin/lbu  

 其他管理器

还有其他的包管理器,只是我没用过。

Zypper 是openSUSE包管理器。 Portage是Gentoo包管理器。

 

责任编辑:姜华 来源: 今日头条
相关推荐

2016-12-27 10:34:57

Linux命令软件包管理

2013-09-29 10:14:24

YUM软件包管理Linux YUM

2022-05-04 11:10:58

Linuxdnf 命令

2022-05-07 11:08:50

Linuxapt 命令

2010-03-19 10:08:01

linux 常用命令

2018-07-12 15:03:41

2023-12-20 14:38:50

Linux磁盘IO

2020-06-15 19:20:00

AppImageLinux软件包管理

2011-10-27 10:30:55

CISCO配置命令

2017-09-08 14:30:33

MongoDB安装操作命令

2023-08-28 10:49:13

Linux系统

2015-09-14 16:12:23

命令DNFLinux

2010-01-05 10:14:09

Ubuntu软件包

2015-09-14 15:15:42

包管理RedHatLinux

2017-08-17 10:47:05

Linux包管理

2021-07-27 12:58:46

Linux包管理器安命令

2016-01-29 14:32:19

Linux软件包管理

2010-06-24 09:45:15

Linux RPMYUM

2023-04-17 07:36:28

Arch LinuxGUI

2014-07-25 10:55:36

Linux命令
点赞
收藏

51CTO技术栈公众号