Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

时间:2022-10-27 22:12:27

1,对Linux下软件的了解

  源码包:未编译,要编译安装。

  二进制包:已编译,可直接安装。

2,centos和ubuntu下的软件包对比:

  [centos]rpm文件手动安装,使用rpm指令        ——       [ubuntu]deb文件手动安装,使用dpkg指令
  [centos]yum在线安装                                              ——       [ubuntu]apt-get在线安装 
 
3,可以知道镜像解压后的packages里存放的就是各种rpm包:

Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

RPM的命名规则:

  如:

  Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

  httpd-2.2.15-15.el6.centos.1.i686.rpm

    httpd:表示软件包名

    2.2.15:表示软件版本

    15:软件发布的次数

    el6.centos:适合的linux平台

    i686:适合的硬件平台

    rpm:rpm包的扩展名

注意:我们需要挂在那个镜像,说白了就是插上光驱,查看光驱内的文件,但是在虚拟机中我们需要挂载:参考博客:https://www.cnblogs.com/qiyebao/p/4331290.html

  

4,RPM包依赖性

  树形依赖:a->b->c

  环形依赖:a->b->c->a

  模块依赖:模块依赖查询网站:www.rpmfind.net   也可以使用这个网站查询rpm包

Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

为了解决包的依赖性问题,我们建议使用yum在线安装,这样避免包的依赖性安装。

已经安装的包:会在/var/lib/rpm目录下的数据库中记载

  Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

安装rpm包:rpm -ivh 包全名

      -i:install 安装

      -v:verbose 现实详细信息

      -h:hash  显示进度

      --nodeps:不检测依赖性

5,手动安装:

  1,关在光驱,进入到/mnt/cdrom/Packages目录中

  Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

  2,从我的安装图可知,需要先安装众多依赖,那只能从底层看起逐层安装,才能最后安装http-2.2.15-26.el6.centos.rpm这个rpm包

  3,从apr-1.3.9-5.el6_2.i686.rpm开始安装

  4,Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

  5,在安装的过程中看到以数字结尾的包,这些都是库包,是某些rpm包内的包,需要安装它所在的rpm包,通过www.rpmfind.net 去找他所属的rpm包,Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

然后只需安装apr-1.3.9-5.el6_9.1.i686.rpm就可以了。

  6,如果最后安装完毕了,我们可以检测一次,检测方法:重装一遍,httpd-2.2.15-26.el6.centos.i686.rpm

Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

只要没有报错,就可以知道没有依赖问题了。

  7,到这一步,还没有安装完毕整个httpd-xxx这个rpm包,还需要把其他的以httpd-xxx开头的包也安装上。

Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

可是在安装httpd-devel-xxx的过程出现了太多的依赖,所以,我还是放弃了。。。。。

===》还是使用yum命令在线安装了。

6,升级rpm包:
  rpm -Uvh 包全名

    -U:update升级

7,卸载rpm包:

  rpm -e 包名     (可以不死包全名,因为已经安装上了,在/var/lib/rpm数据库中有记载)

    -e:erase 卸载

    --nodeps:不检测依赖性

Linux从入门到进阶全集——【第八集:软件包管理:rpm、tar、yum】

8,查询RPM包:

  1,查询rpm包的命令基本格式:rpm -q,如果有其他什么参数,统一放到-q后面。

  2,查询linux系统中已经安装的所有软件包:rpm -qa

  3,配合more命令使用:rpm -qa | more     配合head使用rpm -qa | head -5

  4,配合管道符|和grep命令使用:rpm -qa | grep httpd

  5,配合wc命令:rpm -qa | wc -l

  6,查询某个rpm包是否安装:rpm -q 包名(包名需要精确拼写)

  7,查询软件包的详细信息:rpm -qi 包名(包名需要精确拼写)

  8,查询已安装软件包安装过程中安装了的所有文件:rpm -ql 包名(包名需要精确拼写)

  9,查询指定文件所属的软件包:rpm -qf 文件路径和名称

  10,

  11,

9,上面是rpm包的手动安装,非常繁琐,因此我们建议使用yum在线安装:

  yum是rpm包管理工具,能够从源空间,自动下载目标rpm,并且自动安装。

  yum的rpm包下载源路径在/etc/yum.repos.d目录下的.repo文件配置中指定

  1,yum -y install 包名

  2,yum list

  3,yum check-update

  4,yum update

  5,yum update 包名

  6,yum -y update

  7,yum remove 包名

10,关于tar的讲解详见

Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第六集之基本命令使用】

(配置两个网卡的引用:http://www.cnblogs.com/52php/p/6368186.html)