当前位置: 首页 > Linux

yum和apt-get的区别

时间:2023-04-06 06:37:37 Linux

走在docker的路上——yum和apt-get的区别最后编辑时间:2017-03-09最近跟着《第一本docker书》学习docker,因为没有相关的知识(包括Linux)和经验,被卡住是很不舒服的,所以遇到的问题一定要总结一下,一是方便以后复习,二是方便新人上手。本文介绍yum和apt-get的区别。一般来说,大名鼎鼎的linux系统基本分为两大类:1.RedHat系列:Redhat、Centos、Fedora等2.Debian系列:Debian、Ubuntu等RedHat系列1常见的安装包格式为rpm包.2包管理工具yum3支持tar包Debian系列1常见的安装包格式为deb包,安装deb包的命令为“dpkg-parameter”2包管理工具apt-get3支持tar包tar只是一个压缩文件格式,所以它只是压缩和打包文件。rpm相当于windows中的安装文件,它会自动处理包之间的依赖关系。从优缺点来看,rpm一般是预编译文件,可能已经绑定到某个CPU或发行版。tar一般包含编译脚本,你可以在你的环境中编译,所以它是通用的。如果你的包不想开源,你可以把它做成rpm。如果是开源的,用tar比较方便。tar一般是源码打包软件,需要自己解压,然后安装三部曲,./configure,make,makeinstall. 来安装软件。rpm是redhat公司的一个软件包管理机制。可以直接通过rpm命令进行安装、删除等操作。最大的优点是它在内部自动处理各种软件包可能存在的依赖关系。------------------------------*.rpm形式的二进制包[centos]  安装:rpm-ivh*.rpm  卸载:rpm-epackagenamerpm-qnginx查看是否安装 升级:rpm-Uvhxxx 查询:查询所有已安装的包:rpm-qa查询一个包:rpm-qa|grepxxxrpm-qixxx查询软件的安装路径:rpm-qlxxxrpm-qcxxx查询某个文件是哪个rpm包产生的:rpm-qf/etc/yum.confrpm-qpixxxrpm-qa|grepphp查看安装的RMP包安装:rpm-ivhxxx删除:rpm-exxx升级:rpm-Uvhxxx查询:查询所有安装的包:rpm-qa查询一个包:rpm-qa|grepxxxrpm-qixxx查询软件安装路径:rpm-qlxxxrpm-qcxxx查询某个文件是哪个rpm包产生的:rpm-qf/etc/yum.confrpm-qpixxx------------------------------src.rpm源代码分发包的安装和卸载  Linux软件源代码分发是指提供所有的发行版程序源代码的形式需要用户将其编译成可执行的二进制代码并安装。它的优点是配置灵活,某些功能/模块可以随意去掉或保留,适用于各种硬件/操作系统平台和编译环境。缺点是难度较大,一般不适合初学者。  1。*.src.rpm源码包  安装:rpm-rebuild*.src.rpm  cd/usr/src/dist/RPMS  rpm-ivh*.rpm  卸载:rpm-epackgename  说明:rpm–rebuild*.src.rpm命令编译源代码并在/usr/src/dist/RPMS下生成二进制rpm包,然后安装二进制包即可。packagename如前所述。 ----------------------------------dpkg【ubuntu】dpkg-l|grep'php'usedpkg-l查看安装的软件dpkg是Debian[客宾]Package的缩写。专为Debian开发的包管理系统,方便软件的安装、更新和删除。Debian派生的所有Linux发行版都使用dpkg,例如Ubuntu、Knoppix等。  以下是Dpkg的一些常见用法:  1。dpkg-i  安装一个Debian软件包,例如您手动下载的文件。  2、dpkg-c  列出的内容。  3、dpkg-I  从中提取包信息。  4。dpkg-r  删除已安装的包。  5.dpkg-P  完全清除已安装的包。与remove只删除数据和可执行文件不同,purge还会删除所有配置文件。  6、dpkg-L  列出安装的所有文件。另请参阅dpkg-c检查.deb文件的内容。  7、dpkg-s  显示已安装包的信息。另请参阅apt-cache以显示来自Debian存档的包信息,以及dpkg-I以显示从.deb文件中提取的包信息。  8.dpkg-reconfigure  重新配置已安装的包,如果它使用debconf(debconf为包安装提供了统一的配置界面)。------------------------------使用yum和apt-get。升级软件管理方式。yum的配置文件是/etc/yum.conf。先来说说Redhat的yum的高级包管理。yuminstallgcc[centos]update:yumupdateinstall:yuminstallxxxremove:yumremovexxx清除安装文件(/var/cache/yum/):yumcleanall搜索:yumsearchxxx列出所有文件:yumlist查询文件信息:yuminfoxxx#sudo-s#LANG=C#yum-yinstallgccgcc-cautoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibpnglibpng-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devel使用YUM安装包yum-y命令:yuminstall使用YUM删除包命令:yumremoveyum-yremovehttpd*命令:yumsearch列出所有可安装的yumlistyumlistphp*列出所有可更新的包命令:yumlistupdates列出所有已安装的包命令:yumlistinstalled列出所有不在Yum存储库命令中的已安装包:yumlistextras列出指定软件包命令:yumlistyum=YellowdogUpdater,Modified主要功能是更方便的添加/删除/更新RPM包。可以自动解决包的依赖问题。可以方便管理大量系统yum的更新问题特点可同时配置多个资源库(Repository)简洁的配置文件(/etc/yum.conf自动解决添加或删除rpm包时遇到的依赖问题使用方便与RPM数据库保持一致yum安装CentOS自带(yum-*.noarch.rpm)#rpm-ivhyum-*.noarch.rpm在第一次启用yum之前,首先需要导入系统的RPM-GPG-KEY:#rpm--import/usr/share/doc/centos-release-3(4)/RPM-GPG-KEY-CentOS-3(4)yum命令注意:第一次使用yum或更新yum仓库时,yum会自动下载所有的requiredheaders并放在/var/cache/yum目录下,可能需要很长时间rpm包的更新检查可更新的rpm包#yumcheck-updateupdatesalltherpmpackages#yumupdateupdatesthespecifiedrpm包,如更新内核和内核源码#yumupdatekernelkernel-source大版本升级,不同于yumupdate,连旧的过时包也升级#yumupgraderpm包安装和删除安装rpm包,如xmms-mp3#yuminstallxmms-mp3删除rpm包,包括依赖该包的包#yumremovelicq注意:同时会提示删除licq-gnome、licq-qt、licq-textyum暂存(/var/cache/yum/)相关参数清除暂存的rpm包文件#yumcleanpackages清除暂存的rpm头文件#yumclearnheaders清除暂存的旧rpm头文件#yumcleanoldheaders清除旧rpm暂存的头文件和包文件#yumclearnor#yumclearnall注:相当于yumcleanpackages+yumcleanoldheaders包列表列出了仓库中所有可以安装或更新的rpm包#yumlist列出了具体的可以在版本库中安装或更新的以及已经安装的rpm包#yumlistmozilla#yumlistmozilla*注意:rpm包名中可以使用匹配字符,比如列出所有mozilla开头的rpm包,列出资源库中所有可更新的rpm包extras注意:从其他网站下载安装的rpm包显示rpm包信息(info参数同list),列出仓库中可以安装或更新的rpm包的所有信息#yuminfoliststherepository有关可以安装或更新以及已经安装的特定rpm包的信息#yuminfomozilla#yuminfomozilla*注意:可以在rpm包名中使用匹配字符,比如列出所有以mozilla开头的rpm包信息关于版本库中所有可以更新的rpm包#yuminfoupdates列出所有已经安装的rpm包信息#yuminfoinstalled列出版本库中已安装但未包含的rpm包信息#yuminfoextras注意:搜索从其他网站下载安装的rpm包信息搜索匹配特定字符的rpm包#yumsearchmozilla注意:在rpm包名称、包描述等中搜索包含特定文件名的rpm包#yum提供realplay添加资源库例如:添加rpm.livna.org作为资源库InstallLivna.orgrpmsGPGkey#rpm--importhttp://rpm.livna.org/RPM-LIVNA-GPG-KEY检查GPGKey#rpm-qagpg-pubkey*显示Key信息#rpm-qigpg-pubkey-a109b1ec-3f6e28d5(注意:如果要删除Key,使用#rpm-egpg-pubkey-a109b1ec-3f6e28d5)yum常用命令#yuminstallxxx安装xxx软件#yuminfoxxx查看xxx软件信息#yumremovexxx删除软件包#yumlist列出软件包#yumclean清除缓存和旧包#yum提供xxx使用xxx作为关键字搜索包(提供的信息是关键字)#yumsearchxxx搜索包(以名称作为关键字)#yumgroupupdatexxx#yumgrouplistxxx#yumgroupremovexxx这三个是对单元进行列表升级和删除的一组操作。比如“Mysql数据库”是一个组,会同时操作所有相关的软件包;#yumupdatesystemupgrade#yumlistavailable列出升级源上的所有包;#yumlistupdates列出升级源上所有可更新的包;#yumlistinstalled列出已安装的软件包;#yunupdatekernel升级内核;yum常用的源1)自动选择最快的源因为yum中有些镜像很慢,如果yum选择这个镜像,这个有时候yum会很慢。为此,可以下载fastestmirror插件,它会自动选择最快的镜像:#yuminstallyum-fastestmirror配置文件:(一般不用动)/etc/yum/pluginconf.d/fastestmirror.conf的你的yum镜像测速记录文件:/var/cache/yum/timedhosts.txt(2)使用图形界面的yum如果你觉得命令行的yum不方便,可以使用图形界面的yumex,它似乎更方便,因为你可以自由选择软件仓库:#yuminstallyumex然后你可以在系统工具中看到yumextender。其实系统自带的“添加/删除程序”也可以实现图形化的软件安装,只是没有yumex的一些功能。2.说说Ubuntuapt-get配置文件/etc/apt/sources.list中的高级包管理方法对于Server版本,推荐使用aptitude查看、安装、删除deb包sudoapt-getinstallaptitude然后执行sudoaptitude进入Administration也可以使用命令:aptitudeupdate更新可用包列表aptitudeupgrade升级可用包aptitudedist-upgrade升级系统到一个新的发行版aptitudeinstallpkgname安装一个包aptituderemovepkgname删除一个包aptitudepurgepkgnameremoveapackageanditsconfigurationfilesaptitudesearchstringsearchpackageaptitudeshowpkgname显示包详情aptitudeclean删除下载的包文件aptitudeautoclean考虑到系统兼容性,只删除过期的包文件,上面的东西比较大,没找到最新版本,使用apt-getinstallXXX直接安装。因为我们的Ubuntu是dailyBulid,所以光盘里的内容基本都是最新的,不需要重新下载。如果一定要使用最新版本,不妨先用apt-getupdate仓库更新软件,再apt-getinstall。常用的APT命令参数:apt-cachesearchpackage搜索包apt-cacheshowpackage获取包相关信息,如描述、大小、版本等sudoapt-getinstallpackageinstallpackagesudoapt-getinstallpackage----reinstallreinstallpackagesudoapt-get-finstallrepairinstallation"-f=--fix-missing"sudoapt-getremovepackage删除包sudoapt-getremovepackage--purge删除包,包括删除配置文件等sudoapt-getupdate更新源sudoapt-getupgrade更新安装包sudoapt-getdist-upgrade升级系统sudoapt-getdselect-upgrade使用dselect升级apt-cachedependspackage了解dependencies的使用apt-cacherdependspackage是查看依赖哪些包sudoapt-getbuild-dep包安装相关编译环境apt-get源码包下载包源码sudoapt-getclean&&sudoapt-getautoclean清理无用包sudoapt-getcheck检查损坏的依赖