yum 和 rpm 软件管理
yum下载软件包方法,应用场景,大型国企生产环境不允许开放外网
dnf软件管理
APT工具(新立得)
apt的全称是Advanced Packaging Tool是Linux系统下的一款安装包管理工具
保持依赖不更新
sudo apt-mark hold libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5qml5 libqt5qmlmodels5 libqt5quick5 libqt5widgets5
取消依赖不更新
sudo apt-mark unhold libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5qml5 libqt5qmlmodels5 libqt5quick5 libqt5widgets5
PPA管理
sudo apt-key list
会出现这样:
pub 1024R/B455BEF0 2010-07-29
uid Launchpad clicompanion-nightlies
删除想删除的
sudo apt-key del B455BEF0
添加PPA源的命令为:
sudo add-apt-repository ppa:user/ppa-name
添加好更新一下: sudo apt-get update
删除命令格式则为:
sudo add-apt-repository -r ppa:user/ppa-name
或者
到源的目录:cd /etc/apt/sources.list.d/ 可以看到关于源的文件,删除即可
DPKG
dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除。
所有源自”Debian”的Linux的发行版都使用 dpkg, 例如”Ubuntu”。
dpkg本身是一个底层的工具。上层的工具,如APT,被用于从远程获取软件包以及处理复杂的软件包关系。
安装指定软件包
dpkg -i|--install <.deb file name> ... | -R|--recursive <directory> ...
ex:dpkg -i -R /dirname 安装目录下的所有deb包
解压软件包
dpkg --unpack <.deb file name> ... | -R|--recursive <directory> ...
ex:dpkg --unpack -R /dirname 解压目录下的deb包
重新配置和释放软件包
dpkg --configure <package> ... | -a|--pending
-a 将配置所有没有配置的软件包
dpkg --triggers-only <package> ... | -a|--pending
移除软件包
dpkg -r|--remove <package> ... | -a|--pending
移除软件包和配置
dpkg -P|--purge <package> ... | -a|--pending
-V|–verify <软件包名> … 检查包的完整性
–get-selections [<表达式> …] 把已选中的软件包列表打印到标准输出
–set-selections 从标准输入里读出要选择的软件
–clear-selections 取消选中所有不必要的软件包
–update-avail <软件包文件> 替换现有可安装的软件包信息
–merge-avail <软件包文件> 把文件中的信息合并到系统中
–clear-avail 清除现有的软件包信息
–forget-old-unavail 忘却已被卸载的不可安装的软件包
-s|–status <软件包名> … 显示指定软件包的详细状态
-p|–print-avail <软件包名> … 显示可供安装的软件版本
-L|–listfiles <软件包名> … 列出属于指定软件包的文件 查看已安装文件的路径
dpkg -L libwebp-dev
/usr
/usr/include
/usr/include/webp
/usr/include/webp/decode.h
...
-l|–list [<表达式> …] 简明地列出软件包的状态
-S|–search <表达式> … 搜索含有指定文件的软件包
-C|–audit [<表达式> …] 检查是否有软件包残损
–yet-to-unpack 列出标记为待解压的软件包
–predep-package 列出待解压的预依赖
–add-architecture <体系结构> 添加 <体系结构> 到体系结构列表
–remove-architecture <体系结构> 从架构列表中移除 <体系结构>
–print-architecture 显示 dpkg 体系结构 指的是cpu的体系架构 例amd64
–print-foreign-architectures 显示已启用的异质体系结构
–assert-<特性> 对指定特性启用断言支持
–validate-<属性> <字符串> 验证一个 <属性>的 <字符串>
–compare-vesions <a> <关系> <b> 比较版本号 – 见下
–force-help 显示本强制选项的帮助信息
-Dh|–debug=help 显示有关出错调试的帮助信息
-?, –help 显示本帮助信息
–version 显示版本信息
Assert 特性: support-predepends, working-epoch, long-filenames, multi-conrep, multi-arch, versioned-provides.
可验证的属性:pkgname, archname, trigname, version.
调用 dpkg 并带参数 -b, –build, -c, –contents, -e, –control, -I, –info, -f, –field, -x, –extract, -X, –vextract, –ctrl-tarfile, –fsys-tarfile是针对归档文件的 (输入 dpkg-deb –help 获取帮助)
选项:
–admindir=<目录> 使用 <目录> 而非 /var/lib/dpkg
–root=<目录> 安装到另一个根目录下
–instdir=<目录> 改变安装目录的同时保持管理目录不变
–path-exclude=<表达式> 不要安装符合Shell表达式的路径
–path-include=<表达式> 在排除模式后再包含一个模式
-O|–selected-only 忽略没有被选中安装或升级的软件包
-E|–skip-same-version 忽略版本与已安装软件版本相同的软件包
-G|–refuse-downgrade 忽略版本早于已安装软件版本的的软件包
-B|–auto-deconfigure 就算会影响其他软件包,也要安装
–[no-]triggers 跳过或强制随之发生的触发器处理
–verify-format=<格式> 检查输出格式(‘rpm’被支持)
–no-debsig 不去尝试验证软件包的签名
–no-act|–dry-run|–simulate 仅报告要执行的操作 – 但是不执行
-D|–debug=<八进制数> 开启调试(参见 -Dhelp 或者 –debug=help)
–status-fd <n> 发送状态更新到文件描述符<n>
–status-logger=<命令> 发送状态更新到 <命令> 的标准输入
–log=<文件名> 将状态更新和操作信息到 <文件名>
–ignore-depends=<软件包>,… 忽略关于 <软件包> 的所有依赖关系
–force-… 忽视遇到的问题(参见 –force-help)
–no-force-…|–refuse-… 当遇到问题时中止运行
–abort-after <n> 累计遇到 <n> 个错误后中止
可供–compare-version 使用的比较运算符有:
lt le eq ne ge gt (如果版本号为空,那么就认为它先于任意版本号);
lt-nl le-nl ge-nl gt-nl (如果版本号为空,那么就认为它后于任意版本号);
< << <= = >= >> > (仅仅是为了与主控文件的语法兼容)
Snap 官方文档
Snap是Canonical推出的一种新的软件打包格式,彻底解决linux依赖性的问题,Snap 软件包拥有更加稳定和安全的特性。snap也就是安装snap软件包的命令。
安装snap
sudo apt install snap
列出计算机上所有snap安装情况:
sudo snap list
在应用商店中查找snap:
sudo snap find <软件包名>
安装Snap软件:
sudo snap install <snap软件包名>
更新Snap软件:
sudo snap refresh <snap软件包名>
更新所有的snap软件包:
sudo snap refresh
要将Snap还原到以前安装的版本:
sudo snap revert <snap软件包名>
卸载snap软件:
sudo snap remove <snap软件包名>
参考