yum 与 apt 的对比
一、概念
使用yum/apt之前,你很可能会遇到配置源(ubuntu下一般内置的就比较好,所以可能很少人手动配置),那这个源是什么呢,就是告诉apt/yum,安装软件的时候你要从哪里下载。比如你使用163的源,然后你apt-get/yum install xxx的时候,就从你的源配置文件中读取位置(这里是163的服务器),然后可能在第一次会更新本地数据库(这个数据库中记录163服务器上拥有的软件包,软件包的依赖情况等),本地更新完了就从本地缓存数据库中读取依赖情况以及软件包的具体url,然后就会下载到本地缓存目录。下载完成后执行安装操作。
那解开后能不能通用呢( 比如把deb解开后放到rhel中运行)。这个也不是不行但是要考虑到很多因素,假设包中是经过编译的二进制文件(就像windows下的可执行文件),那么就要考虑到依赖。如果是脚本文件就要好些,因为大部分脚本兼容性都比较好。
这个依赖,就比较复杂了,当然也可以简单的说说,和windows的.dll类似,linux也有动态链接库文件,后缀一般为so,某些软件可能会依赖这些库,本来你的系统glibc是2.12版本的,而你移植过来是需要2.14版本的,你会发现运行不了。当然,是可以解决的,只是解决起来也麻烦. 大部分人不会选择这么做。
二、apt
| /etc/apt/sources.list | 设置软件包的获取来源 |
| /etc/apt/apt.conf | apt配置文件 |
| /etc/apt/apt.conf.d/ | apt的零碎配置文件 |
| /etc/apt/preferences | 版本参数 |
| /var/cache/apt/archives/ | 存放已经下载的软件包 |
| /var/cache/apt/archives/partial | 存放正在下载的软件包 |
| /var/lib/apt/lists/ | 存放已经下载的软件包详细信息 |
| /var/lib/apt/lists/partial/ | 存放正在下载的软件包详细信息 |
2、apt-get命令的子命令
| update | 更新软件包列表 |
| upgrade | 升级系统中的所有软件包 |
| install | 安装软件包 |
| remove | 卸载软件包 |
| autoremove | 仅删除不需要再次下载的软件包 |
| purge | 彻底删除软件包(包括配置文件) |
| source | 下载源代码 |
| build-dep | 自动下载安装编译某个软件所需要的软件包 |
| dist-upgrade | 升级整个发行版 |
| dselect-upgrade | 安装dselect的选择进行升级 |
| clean | 删除本地缓存的所有升级包 |
| autoclean | 删除本地缓存中无用的软件包 |
| check | 检查是否存在有问题的依赖关系 |
| 例:$ sudo apt-get install php5-mysql apache2
$ sudo apt-get update && sudo apt-get upgrade |
|
3、apt-get命令选项
| -d,--download-only | 仅下载,不安装 |
| -f,--fix-broken | 修复依赖问题(用于install和remove子命令) |
| -m,--ignore-missing,--fix-missing | 忽略缺失的软件包。遇到无法下载的软件包,自动忽略 |
| --no-download | 禁止下载软件包。与-m配合,可以使apt只使用已经下载的软件包 |
| -q,--quiet | 静默模式,输出的信息适合做日志 |
| -s,--simulate,--just-print | 模拟测试,不做出实际操作,不改变系统 |
| -y,--yes,--assume-yes | 在系统提问时,自动应答yes |
| -u,--show-upgraded | 显示已升级的软件包 |
| -V,--verbose-versions | 显示已安装和已升级的软件包的完整版本号 |
| -b,--compile,--build | 在源码包下载完成后进行编译 |
| --ignore-hold | 忽略被保留的软件包 |
| --no-upgrade | 不要升级软件包 |
| --force-yes | 强制回答yes |
| --print-uris | 仅答应软件包地址,不安装 |
| --purge | 彻底删除,包括配置文件 |
| --reinstall | 重新安装软件包 |
4、apt-cache命令
| 功能:搜索某个软件包的名字或显示某个软件包的详细信息 | |
| 搜索mysql的软件包 | $ apt-cache search mysql |
| 查看ssh软件包的详细版本号 | $ apt-cache show ssh |
三、Yum
| 任务 | Red Hat、Fedora | Ubuntu |
| 基本信息 | ||
| 软件包后缀 | *.rpm | *.deb |
| 软件源配置文件 | /etc/yum.conf | /etc/apt/sources.list |
| 安装、删除、升级软件包 | ||
| 更新软件包列表 | 每次运行yum时自动执行 | apt-get update |
| 从软件仓库软件安装软件 | yum install package | apt-get install package |
| 安装一个已下载的软件包 | yum install pkg.rpm
rpm -i pkg.rpm |
dpkg -i pkg.deb
pkg --install pkg.deb |
| 删除软件包 | rpm -e package | apt-get remove package |
| 软件包升级检查/测试 | yum check-update | apt-get -s upgrade
apt-get -s dist-upgrade |
| 升级软件包 | yum update
rpm -Uvh [args] |
apt-get upgrade |
| 升级整个系统 | yum upgrade | apt-get dist-upgrade |
| 软件包信息 | ||
| 获取某软件包的信息 | yum search package | apt-cache show package |
| 获取所有软件包的信息 | yum list available | apt-cache dumpavail |
| 显示所有已安装的软件 | yum list installed
rpm -qa |
dpkg -l
dpkg --list |
| 获取某个已安装软件包的信息 | yum info package
rpm -qi package |
dpkg --status package |
| 列出某个已安装软件包所包含的文件列表 | rpm -ql package | |
| 列出某个已安装软件包所包含的文档 | rpm -qd package | 无 |
| 列出某个已安装软件包所包含的配置文件 | rpm -qc package | 无 |
| 显示某个软件包所依赖的软件包列表 | rpm -qR package | apt-cache depends package |
| 显示某个软件包的反向依赖关系 | rpm -q -whatrequires [args] | apt-cache rdepends package |
| 软件包文件信息 | ||
| 获取某个软件包文件的信息 | rpm -qpi pkg.rpm | dpkg --info pkg.deb |
| 获取某个软件包文件所包含的文件列表 | rpm -qpl pkg.rpm | dpkg --contents pkg.deb |
| 获取某个软件包文件所包含的文档 | rpm -qpd pkg.rpm | 无 |
| 获取某个软件包文件所包含的配置文件 | rpm -qpc pkg.rpm | 无 |
| 软件包解压 | rpm2cpio pkg.rpm | cpio -vid | dpkg-deb --extract pkg.deb |
| 搜索某个文件是由哪个软件包安装的 | rpm -qf /file/name | dpkg -S /file/name
dpkg --search /file/name |
| 搜索所有提供某个文件的软件包 | yum provides /file/name | apt-file search /file/name |
| 杂项 | ||
| 显示本地软件包缓存的状态 | 无 | apt-cache stats |
| 校验所有已安装的软件包 | rpm -Va | debsums |
| 删除本地缓存的所有软件包 | yum clean packages | apt-get clean |
| 仅删除本地缓存中过时的软件包 | 无 | apt-get autoclean |
| 删除所有软件包信息 | yum clean headers | apt-file purge |
yum 与 apt 的对比的更多相关文章
- Linux RPM、YUM、APT包管理工具
⒈rpm包的管理 1)介绍 rpm是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,RPM是RedHat Package Manager(RedH ...
- yum与apt命令比较,yum安装出现No package vim available解决办法
yum (Yellowdog Updater Modified)是一个集与查找,安装,更新和删除程序的Linux软件.它运行在RPM包兼容的Linux发行版本上,如:RedHat, Fedora, S ...
- yum或apt基本源设置指南
关于: 管理Linux服务器的运维或开发人员经常需要安装软件,最常用方式应该是通过Linux系统提供的包管理工具来在线安装,比如centos的yum,ubuntu或debian的apt-get.当然这 ...
- 在centos中搭建基于nginx的apt源服务器,整合yum源和apt源在一台服务器
1.首先关闭防护墙或者设置规则通过且关闭selinux 2.nginx-1.14.2版本(编译安装)-自定义安装路径 3.开启nginx目录浏览 以上步骤请参考前文:https://www.cnblo ...
- Linux apt & yum 及 常用命令
yum yum 语法 yum [options] [command] [package ...] options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes" ...
- centos 安装 yum apt
以下地址 http://download.csdn.NET/detail/mimi00x/8081263 执行安装命令 rpm -i rpmforge-release-0.5.3-1.el7.rf.x ...
- (转载)centos yum源的配置和使用
原文地址:http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html 一.yum 简介 yum,是Yellow dog Updater, ...
- CentOS yum 源的配置与使用
一.yum 简介 yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器.起初是由yellow dog 这一发行版的 ...
- yum安装命令的使用方法
yum安装常用软件的命令 #yum check-update #yum remove 软件包名 #yum install 软件包名 #yum update 软件包名 yum命令常见使用方法 yum - ...
随机推荐
- H2O 笔记之安装
参考资料: 了解H2O:http://h2o-release.s3.amazonaws.com/h2o/rel-turchin/9/docs-website/h2o-docs/index.html 安 ...
- fastreport好象将想合并哪个单元就将那一列的TEXT控件的Merge的属性设成True就可以了
好象将想合并哪个单元就将那一列的TEXT控件的Merge的属性设成True就可以了 可以用FASTREPORT中的分组打印,你看一下里面的DEMO,里面都有的, 高版本的有suppressRepeat ...
- 转:ArcGIS API for JavaScript之图层
参考文章地址: https://developers.arcgis.com/javascript/3/jsapi/layer-amd.html Layer |–TiledMapServiceLayer ...
- 在RAC执行相关操作发生ora-01031:insufficient privileges解决方法
grid用户下 寻找命令的路径 如which crsctl su - root用户 然后根据找到的路径去执行命令 如 /u01/app/oracle/product/11.2.0/db_1/bin/c ...
- ajax 上传文件,显示进度条,进度条100%,进度条隐藏,出现卡顿就隐藏进度条,显示正在加载,再显示上传完成
<form id="uploadForm" method="post" enctype="multipart/form-data"&g ...
- 前端 HTML body标签相关内容 常用标签 表单标签 form里面的 label标签介绍
定义:<label> 标签为 input 元素定义标注(标记). label标签功能:关联input标签文本与表达元素,点击input标签文本时,如同点击表单元素一样. label标签是行 ...
- MSDN、OEM、VOL、RETAIL密钥区别
本文就介绍一下Windows的密钥的一些使用要点及注意事项,涉及到最常用的MSDN密钥.OEM密钥.VOL密钥和零售密钥激活问题,希望对大家有所帮助. 一.MSDN密钥 MSDN密钥是付费用户提前获得 ...
- xshell中alt+.不能用问题
- iframe子父窗口相互操作方法或元素
一.jquery 父.子页面之间页面元素的获取,方法的调用: 1. 父页面获取子页面元素: 格式:$("#iframe的ID").contents().find("#if ...
- [js]js中回调函数
//回调函数: 把一个函数当参数传给另个函数 /* function f1() { console.log('f1'); } function f2(f) { f(); console.log(1); ...