Linux常用包管理及命令

简介
在Linux上 , 安装软件的方式一般有几种:系统包管理器安装、源码编译、二进制包,还有现在桌面系统用比较多的Snap、、等 。
【Linux常用包管理及命令】Linux包管理DPKG
dpkg是系的包管理系统linux命令行安装图形化界面 , 包后缀名是.deb 。
apt命令可以快速安装dpkg包linux命令行安装图形化界面 , 解决包与包的依赖关系 。
常用命令:
# 从软件源同步最新的软件信息并缓存到本地apt update# 安装指定的包 , 并同时安装其依赖的其他包 。apt install [package]# 更新软件版本apt upgrade# 查找软件,没有添加参数就是展示所有的软件包,加关键字就是搜索指定的包apt list zlib*# 列出已经安装的软件版本apt list --installed# 关键字搜索软件的名称和描述apt search zlib*# 卸载包,但是配置文件还是会保存着apt remove [package]# 卸载包,并删除配置文件apt purge [package]# 卸载因安装软件自动安装的依赖apt autoremove# 删除所有已下载的软件包apt clean# 类似clean,但删除的是过期的包(即已不能下载或者是无用的包)apt autoclean
RPM
RPM是红帽系的包管理系统,包后缀名是.rpm 。
yum就是类似apt一样的前端工具,可以很好地解决包与包之间的依赖关系 。
dnf是yum的升级版本 , 是下一代的yum 。dnf与yum的参数基本一致 。
常用命令:
# 安装软件,-y 表示直接安装不询问yum -y install nginx# 重新安装yum reinstall nginx# 查找软件yum list nginx# 查看包组(后面不加组名,就会列出所有的组)yum grouplist#根据关键字查找yum search nginx#根据文件路径查找包名,如果不知道文件具体路径也可以用通配符进行匹配yum provides/usr/bin/vimyum provides*/vim#检查更新yum check-update# 更新软件,如果不执行包名就是更新所有的包yum -y update#如果不更新指定的包可以使用-x参数yum -y update -x nginx# 卸载yum remove nginx# 卸载并删除配置yum erase nginx#更新索引,可以加快查找依赖包的速度yum makecache
是Arch系的包管理系统 , 新版本包后缀名是.pkg.tar.zst,之前的版本是.pkg.tar.xz 。
常用命令:
# 更新系统pacman -Syu#将本地的包数据库与远程的仓库进行了同步pacman -Sy pacman -Su# 安装包pacman -S[package]# 更新仓库并安装包pacman -Sy [package]# 更新本地包,一般用于降级,如果是url会自动去下载pacman -U /var/cache/pacman/pkg/yay-10.1.2-1-x86_64.pkg.tar.zst# 只删除包,保留其全部已经安装的依赖关系pacman -R[package]# 在删除包的同时,删除其所有没有被其他已安装软件包使用的依赖关系pacman -Rs [package]#在删除包的同时 , 删除所有依赖这个软件包的程序pacman -Rsc [package]# ]在删除包时不检查依赖pacman -Rd [package#在仓库中搜索含关键字的包pacman -Ss 关键字# 搜索已安装的包pacman -Qs 关键字#查看有关包的详尽信息pacman -Qi 包名#列出该包的文件pacman -Ql 包名#只下载包,不安装pacman -Sw 包名#清理未安装的包文件 , 包文件位于 /var/cache/pacman/pkg/ 目录pacman -Sc#清理所有的缓存文件pacman -Scc
apk
使用apk进行包管理,通过apk –help命令查看完整的包管理命令 。
常用命令:
# 从远程镜像源中更新本地镜像源索引apkupdate:# 安装包apk add openssh openntp vimapk add --no-cache mysql-clientapk add docker --update-cache --repository http://mirrors.ustc.edu.cn/alpine/v3.4/main/ --allow-untrusted#安装指定版本软件包apk add asterisk=1.6.0.21-r0apk add 'asterisk1.6.1' # 卸载并删除apk del openssh openntp vim#升级软件apk upgrade#指定升级部分软件包apk add --upgrade busybox#查找所以可用软件包apk search #查找所以可用软件包及其描述内容apk search -v#通过软件包名称查找软件包apk search -v 'nginx*' #通过描述文件查找特定的软件包apk search -v -d 'docker' #列出所有已安装的软件包apk info #显示完整的软件包信息apk info -a zlib #显示指定文件属于的包apk info --who-owns /sbin/lbu
其他管理器
还有其他的包管理器 , 只是我没用过 。
是包管理器 。是包管理器 。
本文到此结束,希望对大家有所帮助 。