首先,说明一下我的环境:ubuntu16.04。
- 什么是APT:
高级包装工具(英语:Advanced Packaging Tools,简称:APT)是Debian及其衍生发行版(如:ubuntu)的软件包管理器。APT可以自动下载,配置,安装二进制或者源代码格式的软 件包,因此简化了 Unix系统 上管理软件的过程.这次我主要尝试的是apt-get、apt-file、apt-cache和aptitude
-
- apt-get:
apt-get 是一个下载安装软件包的简单命令行接口。 最常用的命令是update(更新) 和install(安装)。这个命令的家都比较熟悉就不做截图了。
命令:
update - 重新获取软件包列表
upgrade - 进行更新
install - 安装新的软件包
remove - 移除软件包
autoremove - 自动移除全部不使用的软件包
purge - 移除软件包和配置文件
source - 下载源码档案
build-dep - 为源码包配置编译依赖
dist-upgrade - 发行版升级
dselect-upgrade - 依照 dselect 的选择更新
clean - 清除下载的归档文件
autoclean - 清除旧的的已下载的归档文件
check - 检验是否有损坏的依赖
选项:
-h 本帮助文件。
-q 输出到日志 - 无进展指示
-qq 不输出信息,错误除外
-d 仅下载 - 不安装或解压归档文件
-s 不实际安装。模拟执行命令
-y 假定对所有的询问选是,不提示
-f 尝试修正系统依赖损坏处
-m 如果归档无法定位,尝试继续
-u 同时显示更新软件包的列表
-b 获取源码包后编译 -V 显示详细的版本号
-c=? 阅读此配置文件
-o=? 设置自定的配置选项,如 -o dir::cache=/tmp
-
- apt-file:
apt-file是一个软件包查找工具,可以查到软件包所含的文件和安装的位置。(ps:据说是解决依赖的利器,不过我现在还不大懂)
- 安装apt-file
apt-get install apt-file
- 接着更新apt-file的缓存
apt-file update
- 查看语法,如图:
apt-file -h
- 安装apt-file
-
- apt-cache:
通过apt-cache命令结合一些参数使用能查寻到软件包信息和软件包依赖关系
- apt-cache的常用命令:
showsrc - 显示源文件的各项记录
search - 根据正则表达式搜索软件包列表
depends - 显示该软件包的依赖关系信息
rdepends - 显示所有依赖于该软件包的软件包名字
show - 以便于阅读的格式介绍该软件包
pkgnames - 列出所有软件包的名字
policy - 显示软件包的安装设置状态 -
尝试查看火狐
apt-cache show firefox
- 查看火狐依赖
apt-cache rdepends firefox
- 查看火狐信息
apt-cache policy firefox
- apt-cache的常用命令:
-
- aptitude:
aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的 包。这样,系统中不会残留无用的包,整个系统更为干净。
- 安装aptitude
apt install aptitude
- 查看语法:
aptitude -h
- 删除旧的已下载软件包文件
aptitude autoclean
- 扫雷小游戏,在尝试各种语法时无意中发现的,大家有兴趣可以找一找。^V^
- 安装aptitude
_______________________________________________________________________________________________________________________________
分割线_______________________________________________________________________________________________________________________________
接着,换入vmware 12 中的CentOS 7.学习yum命令
什么是yum:
YUM(Yellowdog Updater Modified)是一款开源命令行及图形化软件包管理工具,面向基于RPM(红帽软件包管理器)的Linux系统。它让广大用户和系统管理员可以在系统上轻松地安 装、更新、移除或搜 索软件包。它由Seth Vidal开发和发布,采用了GPL(通用公共许可证),是一款开源工具。这意味着,谁都可以下载和访问代码,以修复软件错误,开发定制的软件 包。YUM通过解决软件包的依赖项问题, 使用众多的第三方软件库来自动安装软件包。
(先获得管理员权限)
- 查看yum语法:
[root@localhost qvduoduo]# yum -h 已加载插件:fastestmirror, langpacks Usage: yum [options] COMMAND List of Commands: check 检查 RPM 数据库问题 check-update 检查是否有可用的软件包更新 clean 删除缓存数据 deplist 列出软件包的依赖关系 distribution-synchronization 已同步软件包到最新可用版本 downgrade 降级软件包 erase 从系统中移除一个或多个软件包 fs Creates filesystem snapshots, or lists/deletes current snapshots. fssnapshot Creates filesystem snapshots, or lists/deletes current snapshots. groups 显示或使用、组信息 help 显示用法提示 history 显示或使用事务历史 info 显示关于软件包或组的详细信息 install 向系统中安装一个或多个软件包 langavailable Check available languages langinfo List languages information langinstall Install appropriate language packs for a language langlist List installed languages langremove Remove installed language packs for a language list 列出一个或一组软件包 load-transaction 从文件名中加载一个已存事务 makecache 创建元数据缓存 provides 查找提供指定内容的软件包 reinstall 覆盖安装软件包 repo-pkgs 将一个源当作一个软件包组,这样我们就可以一次性安装/移除全部软件包。 repolist 显示已配置的源 search 在软件包详细信息中搜索指定字符串 shell 运行交互式的 yum shell swap Simple way to swap packages, instead of using shell update 更新系统中的一个或多个软件包 update-minimal Works like upgrade, but goes to the \'newest\' package match which fixes a problem that affects your system updateinfo Acts on repository update information upgrade 更新软件包同时考虑软件包取代关系 version 显示机器和/或可用的源版本。 Options: -h, --help 显示此帮助消息并退出 -t, --tolerant 忽略错误 -C, --cacheonly 完全从系统缓存运行,不升级缓存 -c [config file], --config=[config file] 配置文件路径 -R [minutes], --randomwait=[minutes] 命令最长等待时间 -d [debug level], --debuglevel=[debug level] 调试输出级别 --showduplicates 在 list/search 命令下,显示源里重复的条目 -e [error level], --errorlevel=[error level] 错误输出级别 --rpmverbosity=[debug level name] RPM 调试输出级别 -q, --quiet 静默执行 -v, --verbose 详尽的操作过程 -y, --assumeyes 回答全部问题为是 --assumeno 回答全部问题为否 --version 显示 Yum 版本然后退出 --installroot=[path] 设置安装根目录 --enablerepo=[repo] 启用一个或多个软件源(支持通配符) --disablerepo=[repo] 禁用一个或多个软件源(支持通配符) -x [package], --exclude=[package] 采用全名或通配符排除软件包 --disableexcludes=[repo] 禁止从主配置,从源或者从任何位置排除 --disableincludes=[repo] disable includepkgs for a repo or for everything --obsoletes 更新时处理软件包取代关系 --noplugins 禁用 Yum 插件 --nogpgcheck 禁用 GPG 签名检查 --disableplugin=[plugin] 禁用指定名称的插件 --enableplugin=[plugin] 启用指定名称的插件 --skip-broken 忽略存在依赖关系问题的软件包 --color=COLOR 配置是否使用颜色 --releasever=RELEASEVER 在 yum 配置和 repo 文件里设置 $releasever 的值 --downloadonly 仅下载而不更新 --downloaddir=DLDIR 指定一个其他文件夹用于保存软件包 --setopt=SETOPTS 设置任意配置和源选项 --bugfix Include bugfix relevant packages, in updates --security Include security relevant packages, in updates --advisory=ADVS, --advisories=ADVS Include packages needed to fix the given advisory, in updates --bzs=BZS Include packages needed to fix the given BZ, in updates --cves=CVES Include packages needed to fix the given CVE, in updates --sec-severity=SEVS, --secseverity=SEVS Include security relevant packages matching the severity, in updates
-
使用Yum移除软件包
想完全移除软件包连同所有依赖项,只要运行下面这个命令,如下所示。
yum remove firefox
- 查看火狐依赖
yum deplist firefox
-
列出所有的可用群组软件包
yum grouplist
-
列出启用的Yum软件库
列出系统里面所有启用的Yum软件库,使用下面这个选项
yum repolist
-
查看Yum的历史记录
想查看Yum命令的所有过去的事务,只要使用下面这个命令
yum history
-
使用Yum搜索软件包
yum search firefox
- 查看yum语法:
虽然这是我第一次用CentOS也是第一次用yum但是感觉比apt好用,至少是在汉化上。:)
_______________________________________________________________________________________________________________________________
分割线
_______________________________________________________________________________________________________________________________
什么是dnf:
DNF新一代的RPM软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,他取代了YUM,正式成为 Fedora 22 的包管理器。
DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。
DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。
DNF 的最新稳定发行版版本号是 1.0,发行日期是2015年5月11日。 这一版本的额 DNF 包管理器(包括在他之前的所有版本)都大部分采用 Pathon 编写,发行许可为GPL v2.
- 为了安装 DNF ,您必须先安装并启用 epel-release 依赖。
# yum install epel-release
-
使用 epel-release 依赖中的 YUM 命令来安装 DNF 包
# yum install dnf
- 查看dnf语法:
dnf -h
-
查看 DNF 包管理器版本
用处:该命令用于查看安装在您系统中的 DNF 包管理器的版本
dnf --version(注意是--)
-
查看系统中可用的 DNF 软件库
用处:该命令用于显示系统中可用的 DNF 软件库
dnf repolist
之前这里我遇到了一个问题,出现了以下状况:
Failed to open: /var/cache/dnf/x86_64/7/x86_64/7/epel/repodata/908717b2d1a9a0d1642da53884fdce66a4db1b0130e3a0ffb923d596423192c6-updateinfo.xml.bz2.
解决方法是:
yum remove epel-release
- 为了安装 DNF ,您必须先安装并启用 epel-release 依赖。
参考文章:
- http://unix.stackexchange.com/questions/250249/error-after-installing-dnf-on-centos-7
- http://m.blog.****.net/article/details?id=16960149
- http://www.linuxidc.com/Linux/2015-06/118751.htm