linux包管理命令速查
Debian使用的是apt和dpkg | Gentoo则用的是emerge | Redhat的yum | Suse的zypper | Arch的pacman | Slackware的slackpkg | |
---|---|---|---|---|---|---|
更新源: | apt-get update | emerge –sync | yum check-update | zypper refresh | pacman -Sy | slackpkg update |
搜索包: | apt-cache search | emerge –search | yum search | zypper search | pacman -Qs | slackpkg search |
查看包的详细信息: | apt-cache show | emerge -udpv | yum info | zypper info | pacman -Qi | # — |
显示依赖关系: | apt-cache depends | emerge –emptytree –pretend | yum deplist | # — | # — | # — |
安装包: | apt-get install | emerge | yum install | zypper install | pacman -S | slackpkg install |
删除包: | apt-get remove | emerge –unmerge | yum erase | zypper remove | pacman -R | slackpkg remove |
显示可用更新: | apt-get upgrade -> n | # — | yum list updates | zypper list-updates | # — | # — |
更新全部已安装的包: | apt-get upgrade | emerge -Nua world | yum update | zypper update | pacman -Su | slackpkg update-all |
更新整个系统: | apt-get dist-upgrade | emerge -NuDa world | yum upgrade | zypper dup | # — | # — |
列出已安装的包: | dpkg -l | equery l (需要安装gentoolkit) | rpm -qa | pacman -Qii | ls /var/log/packages/ | |
删除缓存中的旧包: | apt-get clean | rm -r /usr/portage/distfiles | yum clean | # — | # — | # — |
删除不需要的依赖关系: | apt-get autoremove | emerge –depclean | # — | # — | # — | # — |
软件包命名机制:
软件名_软件版本-修订版本_体系架构.deb
dpkg特点:
1、离线安装
2、不会对软件包依赖关系进行检查.
安装 : sudo dpkg -i 软件包
卸载 : dpkg -r 软件包名称 (不完全卸载, 会保留配置信息)
dpkg -P 软件包名称 (完全卸载)
apt特点:
1.支持在线安装
2.会自动检查软件包之间的依赖关系 , 如果缺少, 会自动进行下载并且安装.
工作流程:
1.读取索引文件/var/lib/apt/lists, 获取信息(镜像站点, 依赖关系, 软件信息)
2.下载, 软件包存放在/var/cache/apt/archivessudo apt-get clean
: 清除已下载的软件包
3.安装.
- 更新索引文件: sudo apt-get update
- 更新应用软件: sudo apt-get upgrade
- 安装 : sudo apt-get install 软件包名
- 不完全卸载 : sudo apt-get remove 软件包名
- 完全卸载: sudo apt-get –purge remove 软件包名
安装失败时需要修复依赖关系
修复依赖关系:- sudo apt-get -f install 软件包名
- sudo apt-get –reinstall install 软件包名
- 下载源码包 : sudo apt-get source 软件包名
存放路径为命令的执行路径
apt-file 是用来查找某个命令或者某一个库所在的包的 apt-file search libz.so.1