包管理工具 Windows
2022-06-04
winget list
winget list -?
winget search xxx # 搜索
winget install xxx # 安装
winget upgrade # 列出 upgradable 包
winget upgrade xxx # 升级指定包
winget upgrade --all # 升级
winget
Windows 程序包管理器 v1.3.2691
版权所有 (C) Microsoft Corporation。保留所有权利。
WinGet 命令行实用工具可从命令行安装应用程序和其他程序包。
使用情况: winget [<命令>] [<选项>]
下列命令有效:
install 安装给定的程序包
show 显示包的相关信息
source 管理程序包的来源
search 查找并显示程序包的基本信息
list 显示已安装的程序包
upgrade 显示并执行可用升级
uninstall 卸载给定的程序包
hash 哈希安装程序的帮助程序
validate 验证清单文件
settings 打开设置或设置管理员设置
features 显示实验性功能的状态
export 导出已安装程序包的列表
import 安装文件中的所有程序包
如需特定命令的更多详细信息,请向其传递帮助参数。 [-?]
下列选项可用:
-v,--version 显示工具的版本
--info 显示工具的常规信息
可在此找到更多帮助: https://aka.ms/winget-command-help
包管理工具 Linux Ubuntu Debian APT
2017-12-25
搜索
apt search xxx
检索
apt list
apt list --installed
apt list --upgradable
升级
apt update
apt upgrade
apt-file
apt-file list youtube-dl
apt-file search bin/update-locale
其他
apt search
apt show
apt install
apt reinstall
apt remove
apt autoremove
apt full-upgrade
apt edit-sources
apt satisfy
apt-mark
apt-key
apt-config
apt-cache
apt-add-repository
包管理工具 Linux CentOS RHEL DNF Yum RPM
2016-05-02
关于 DNF 的更多信息,参考:2016/05/03 CentOS DNF
介绍
.rpm
包,和 .deb
包是 Linux 生态中两种最主要的包格式。
- yum:
- 较新版本提供了 dnf 工具,改善 yum
包名
bash-4.2.46-35.el7_9.x86_64.rpm
其中:
- bash 是名称
- 4.2.46 是版本
- 35.el7_9 是构建版本
- x86_64 是服务器架构
- rpm 是文件后缀
名称 :bash
架构 :x86_64
版本 :4.2.46
发布 :31.el7
大小 :3.5 M
源 :installed
来自源:anaconda
简介 : The GNU Bourne Again shell
网址 :http://www.gnu.org/software/bash
协议 : GPLv3+
描述 : The GNU Bourne Again shell (Bash) is a shell or command language
: interpreter that is compatible with the Bourne shell (sh). Bash
: incorporates useful features from the Korn shell (ksh) and the C shell
: (csh). Most sh scripts can be run by bash without modification.
基本用法
yum help list # 查看帮助
yum search <package> # 搜索包
yum list
yum list installed
rpm -qa
yum list --upgradable
yum info <package>
rpm -qi <package>
rpm -ql <package> # 已安装包的文件列表
rpm -qd <package> # 已安装包的文件列表中的文档部分
rpm -qc <package> # 已安装包的文件列表中的配置部分
yum repolist
# repoquery 是 yum-utils 包提供的命令
repoquery -l <package> # 文件列表
repoquery -f <filepath> # 查看文件属于哪个包, 比如: `repoquery -f "*/repoquery"`
repoquery --location <package> # 查看包的下载地址
yum deplist <package> # 依赖
rpm -qR <package> # 已安装包的依赖
rpm -q --whatrequires <package> # 反向依赖
rpm -q --whatprovides <filepath>
rpm -qf <filepath>
yum provides <pattern>
yum whatprovides <patter>
yum check-update
yum updateinfo
yum update [package]
yum upgrade [package]
yum update-minimal
yum upgrade-minimal # 和 yum update-minimal 相同
yum downgrade <package>
yum install <package>
yum install <package-rpm-filepath>
yum reinstall
yum makecache
yum clean
yum erase
yum remove
yum autoremove
# list, info, summary, repeat, redo, undo, new, rollback, addon, addon-info, stats, statistics, sync, synchronizepkg, pkgs, pkg-list, pkgs-list, package, package-list, packages, packages-list, pkg-info, pkgs-info, package-info, packages-info
yum history
yum history list
yum history list all
yum versionlock <package>
安装组
RedHat 系列提供的,安装组(Group)的概念非常好。
安装组就是为了某一个目的需要的一组包,比如 gnome-desktop 组是安装一个完整的 gnome 桌面环境,web-server 组是安装 apache 和相关的几个包。
- 安装组中有必须安装的包(Mandatory Packages),默认安装的包(Default Packages),也有可选的包(Optional Packages)。
- 按我的理解,安装组分成三类:
- 可用组 Available Group,就是普通的安装组,包含部分包,可以 install。
- 环境组 Environment Group,就是安装组的组,group of goups,比如 minimal 环境组包含必须的 core 组和可选的 debugging 组。也可以 install。
- 基础组,比如 core,比如 php,是隐藏的,不可直接 install,用于构建环境组设计的。
我实在想不到为什么这些组不直接暴露出来,这个设计有什么别的原因。
$ yum help groups
groups [list|info|summary|install|upgrade|remove|mark] [GROUP]
显示或使用、组信息
别名:group, grouplist, groupinfo, groupinstall, groupupdate, groupremove, grouperase
yum grouplist
yum group list ids
附带组 ID
yum group list hidden
列出所有组
yum groupinfo
yum groupinstall <group>
yum install @<group>
yum install @^<environment-group>
yum --setopt=group_package_types=mandatory,default,optional groupinstall "Web Server"
yum groupupdate
yum groupremove
yum grouperase
相关文件
/etc/yum.conf
/etc/yum.repos.d/
/etc/yum/
/etc/rpm 目录不知道是干什么的。
yum 插件
比如最常见的 fastestmirror,用于自动选择最快的镜像源。所以我们使用 CentOS 时,一般不需要去配置镜像源。