天天看点

Linux软件包管理器一、概述二、RPM软件包管理器三、yum在线安装四、dpkg包管理器五、apt软件包管理器及apt-get在线安装机制

原文链接:https://blog.csdn.net/wyqwilliam/article/details/90496559(绝大部分)

参考链接:http://www.found5.com/view/589.html

参考链接:https://www.cnblogs.com/lllcccddd/p/10669843.html

参考链接:https://www.cnblogs.com/lllcccddd/p/10669843.html

本文是在以上链接内容上稍作整改制作而成。

一、概述

(1)wget 类似于迅雷,是一种下载工具,通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理名字是World Wide Web”与“get”的结合。

(2)rpm: 软件包管理,用于安装卸载.rpm软件

        yum: 是redhat, centos 系统下的软件安装方式,基于Linux,全称为 Yellow dog Updater, Modified,是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

使用wget下载一个 rpm包, 然后用 rpm -ivh  xxx.rpm  安装这个软件,嫌麻烦的话,就可以直接用yum  install  sqoop   来自动下载和安装依赖的rpm软件。apt-get是ubuntu下的一个软件安装方式,它是基于debain。

(4)apt包管理工具;建有apt库包管理库。

       apt-get是基于apt的,能够从指定的服务器自动下载deb包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。它是基于debain。

(5)dpkg与apt

        dpkg是用来安装.deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。apt会解决和安装模块的依赖问题,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具。两者的区别是 dpkg 绕过 apt 包管理数据库对软件包进行操作,

        所以 你用 dpkg 安装过的软件包用 apt 可以再安装一遍,系统不知道之前安装过了,将会覆盖之前 dpkg 的安装.

(5)apt-get、conda、pip之间的关系

       pip 是python里面的一个专门负责安装包的工具,也就是下载安装了python就有这个工具。用来安装来自PyPI的python所有的依赖包,并且可以选择安装任何在PyPI上已上传的先前版本的依赖包。

       apt-get 用来安装软件、更新源、也可以用来更新自Ubuntu的典型依赖包,典型安装即意味着它只是安装(最新发布或最近一个的)单一版本,并且我们不能决定我们要安装的依赖包的版本或选择它之前的版本。

       conda是anaconda里面专门负责安装包的工具

(7)包管理器分类

一般来说著名的linux系统基本上分两大类(不过现在所有的Linux系统都能够用yum与dpkg命令,不过最好不要混用会造成冲突):

       1.RedHat系列:Redhat、Centos、Fedora等

       2.Debian系列:Debian、Ubuntu等

         RedHat 系列

                          1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”

                          2 包管理工具 rpm;然后是基于rpm的yum在线安装机制(解决依赖关系)

                          3 支持tar包

        Debian系列

                        1 常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”

                        2 包管理工具 dpkg、基于dpkg的apt包工具;然后是基于apt的apt-get在线安装机制(解决依赖关系)

                        3 支持tar包

二、RPM软件包管理器

4.1、*.rpm形式的二进制软件包[centos] 相关命令

安装:rpm -ivh *.rpm

卸载:rpm -e packgename

        rpm -q nginx  查看是否已经安装

升级:rpm -Uvh xxx

查询:

查询所有安装的包: rpm -qa

查询某个包:rpm -qa | grep xxx

rpm -qi xxx

查询软件的安装路径:rpm -ql xxx

rpm -qc xxx

查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf

rpm -qpi xxx

rpm -qa|grep php  查看已安装的RMP包

4.2、src.rpm 源代码分发软件包的安装与卸载

      Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。 *.src.rpm形式的源代码软件包。

安装:rpm -rebuild *.src.rpm

cd /usr/src/dist/RPMS

rpm -ivh *.rpm

卸载:rpm -e packgename

说明:rpm –rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。

三、yum在线安装

yum的配置文件是/etc/yum.conf

更新:yum update

安装:yum install xxx

移除:yum remove xxx

清除已经安装过的档案(/var/cache/yum/):yum clean all

搜寻:yum search xxx

         yum provides xxx        以xxx为关键字搜索包(提供的信息为关键字)

列出软件包:yum list

                    yum clean                    清除缓冲和就的包

查询档案讯息:yum info xxx

以组为单位进行升级列表和删除的操作。比如 "Mysql Database"就是一个组会同时操作相关的所有软件包;

        # yum groupupdate xxx

        # yum grouplist xxx

       # yum groupremove xxx

其他相关指令

       # yum update                系统升级

      # yum list available        列出所有升级源上的包;

       # yum list updates         列出所有升级源上的可以更新包;

      # yum list installed         列出已经安装的包;

     # yun update kernel       升级内核;

yum常用的源

     1) 自动选择最快的源

          由于yum中有的mirror速度是非常慢的,如果yum选择了这个mirror,这个时候yum就会非常慢,对此,可以下载fastestmirror插件,它会自动选择最快的mirror:

           #yum install yum-fastestmirror

           配置文件:(一般不用动)/etc/yum/pluginconf.d/fastestmirror.conf

           你的yum镜像的速度测试记录文件:/var/cache/yum/timedhosts.txt

   (2)使用图形界面的yum

         如果觉得命令行的yum不方便,那么可以使用图形化的yumex,这个看起来更方便,因为可以自由地选择软件仓库:

         #yum install yumex

         然后在系统工具中就可以看到yum extender了。实际上系统自带的“添加/删除程序“也可以实现图形化的软件安装,但有些yumex的功能它没有。

四、dpkg包管理器

dpkg 是Debian Package 的简写。为 Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux 发行版都使用 dpkg,例如 Ubuntu、Knoppix 等。

以下是一些 Dpkg 的普通用法:

                    1、dpkg -i <package.deb> :安装一个 Debian 软件包,如你手动下载的文件。

                    2、dpkg -c <package.deb> :列出 <package.deb> 的内容。

                    3、dpkg -I <package.deb> :从 <package.deb> 中提取包裹信息。

                         dpkg -l | grep 'php'     :使用dpkg -l 来查看已经安装了的软件

                     4、dpkg -r <package>     :移除一个已安装的包裹。

                    5、dpkg -P <package>     :完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。

                    6、dpkg -L <package>     :列出 <package> 安装的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容。

                    7、dpkg -s <package>          :显示已安装包裹的信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息。

                    8、dpkg-reconfigure <package> :重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面)。

五、apt软件包管理器及apt-get在线安装机制

apt-get的配置文件/etc/apt/sources.list 。

1、Server版使用aptitude

sudo apt-get install aptitude

然后执行 sudo aptitude 进入管 理

也可以使用命令:

aptitude update 更新可用的包列表

aptitude upgrade 升级可用的包

aptitude dist-upgrade 将系统升级到新的发行版

aptitude install pkgname 安装包

aptitude remove pkgname 删除包

aptitude purge pkgname 删除包及其配置文件

aptitude search string 搜索包

aptitude show pkgname 显示包的详细信息

aptitude clean 删除下载的包文件

aptitude autoclean 仅删除过期的包文件

考虑到系统的兼容性,并且上面的东东比较都大,不找最新版本了,直接用apt-get install XXX 来安装.因为我们的Ubuntu是dailyBulid的,所以光盘的内容基本上都是最新的了,无需重新下载.一定要最新版本的话,不妨先apt-get update 来更新一下软件的仓库,然后再 apt-get install.

2、桌面版使用apt-get

apt-cache search package 搜索包

apt-cache show package 获取包的相关信息,如说明、大小、版本等

sudo apt-get install package 安装包

sudo apt-get install package - - reinstall 重新安装包

sudo apt-get -f install 修复安装"-f = ——fix-missing"

sudo apt-get remove package 删除包

sudo apt-get remove package - - purge 删除包,包括删除配置文件等

sudo apt-get update 更新源

sudo apt-get upgrade 更新已安装的包

sudo apt-get dist-upgrade 升级系统

sudo apt-get dselect-upgrade 使用 dselect 升级

apt-cache depends package 了解使用依赖

apt-cache rdepends package 是查看该包被哪些包依赖

sudo apt-get build-dep package 安装相关的编译环境

apt-get source package 下载该包的源代码

sudo apt-get clean && sudo apt-get autoclean 清理无用的包

sudo apt-get check 检查是否有损坏的依赖

以引用的多少排序

原文链接:https://blog.csdn.net/wyqwilliam/article/details/90496559

参考链接:http://www.found5.com/view/589.html

参考链接:https://www.cnblogs.com/lllcccddd/p/10669843.html

参考链接:https://www.cnblogs.com/lllcccddd/p/10669843.html

继续阅读