软件源所在目录:/etc/yum.repos.d
<>表示这里面的词是一个字符串,字符串里有特殊字符也仅仅表示普通的字符
[]表示里面的东西为可选,可写可不写
…表示重复前面的字符串多次
选项前面没有【–】或【-】的是【command】或者叫【arguments】,有【–】或【-】的是【options】或者叫做【optional arguments】
【–】为options的全写,【-】为简写;如 -h同–help
options一般作为commands的附加功能
1. 软件安装
install <package-specs>...
该命令可以安装本地 rpm 包,只需要输入完整的文件路径即可
比如要安装当前目录下的 rpm 包,可用如下命令
dnf install ./test.rpm
reinstall <package-specs>...
2. 软件卸载
remove <package-specs>...
erase <package-specs>...
:删除软件包括其配置文件
3. 软件查询
3.1 list
根据软件包名查询,查询结果的格式【】
list [<package-name-specs>...]
:不加软件包名就是列出所有
list installed [<package-name-specs>...]
:不加软件包名就是列出所有已安装的
list available [<package-name-specs>...]
:不加软件包名就是列出所有可以被安装的
list updates [<package-name-specs>...]
:不加软件包名就是列出所有可升级的软件包
list autoremove
:列出所有可被autoremove的
3.2 search
根据软件名或者软件介绍查找,格式是【软件名:软件介绍】
search <keywords>...
:这里用<keywords>
而不是<package-name-specs>
,因为可以根据软件介绍查找嘛
3.3 info
显示软件包的详细信息【格式很复杂】
info [<package-spec>...]
3.4 repoquery
这是dnf的一个插件,不是命令【Command】,但是这个插件默认已安装。格式是【软件包名-版本号】
例子:dnf remove $(dnf repoquery –installonly –latest-limit -1)
解释:repoquery查询结果就是软件包的完整名字,所以可以直接用remove删除
--installonly
:列出本地内核软件包
--latest-limit -1
:在列出的软件包中加限制,只列出最近几个版本的软件包【因为有些软件包可以新版本与就版本共存,数字为负数就是列出所有旧软件包,而不列出新软件包】
整条命令的作用是删除旧内核
4. 软件升级
check-update
:检查更新
upgrade
:升级所有
updates
:同upgrade,updates将被弃用
5. 软件源管理
repolist [enabled|disabled|all]
:不加参数表示列出启用的软件源,参数all会列出所有软件源,包括不在/etc/yum.repo.d/这个目录下的,这种软件源都是不可用的
repository-packages <repoid>
:在某个软件源下进行查询,安装,卸载等操作(这些操作用的就是list,remove等命令)
如:dnf repository-packages google-chrome list
:列出google-chrome软件源中的所有软件
makecache
:下载软件源缓存
clean
:清理,如 clean packages,清理下载的软件包
dnf的copr插件
默认已安装,只能用来管理fedora copr的软件源,不能用于其他软件源
- 格式:dnf copr 参数
1. 启动本地或在线软件源【如果是在线的,就把软件源下到本地】:enable name/project
注:这个不是repolist列出的repoid或reponame,而是fedora copr这个网站上的作者名以及这个作者所拥有的工程名
2. 关闭本地软件源:disable name/project
3. 删除本地软件源:remove name/project
4. 列出某个作者的所有工程【包括在线的】:list name
5. 搜索工程【包括在线的】:search project
- options
- -b:大多用在upgrade命令中,不升级有问题而无法正确安装的软件包
- -h:单独使用,查看帮助
- –refresh:在执行commands之前刷新软件源的metadata
- -y:在commands时如有询问[y/n],自动选择y
- -q:静默,不显示commands的进度信息