美文网首页
第六章Linux软件安装(源码包与RPM包区别与安装)-(yum

第六章Linux软件安装(源码包与RPM包区别与安装)-(yum

作者: 棉花糖7 | 来源:发表于2020-05-26 21:45 被阅读0次

    软件包管理简介

    软件包分类

    1.源码包,是开源的,可以直接看到源码,如:脚本安装包

    2.二进制包(RPM包、系统默认包):是源代码包经过编译的01的文件

    可以加快安装速度,但是不能看到源代码了


    RPM包管理-rpm命令管理

    1.RPM包命名规则

    2.RPM包依赖性

    树形依赖:a->b->c 安装顺序:cba 卸载顺序:abc

    环形依赖:a->b->c->a 解决办法:用一条命令把abc三个包都安装了

    模块依赖:  模块依赖查询网站:www.rpmfind.net

    像这种 .so.2,以数字结尾的包都是库依赖包,不是单独独立的包,它是某个软件包中的文件

    rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。


    RPM包管理-安装升级与卸载

    1.包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径(要在Packages目录下执行安装)。一般是安装和升级的时候需要用到。

    包都在 /mnt/cdrom/Packages中

    2.包名:操作已经安装的软件包时,使用包名。

    是搜索/var/lib/rpm/中的数据库。如查询、卸载。

    注意:包名和包全名是严格区分的

    1.RPM安装(要在Packages目录下执行)

    rpm -ivh 包全名

    选项:

    -i(install):安装

    -v(verbose):显示详细信息

    -h(hash):显示进度

    --nodeps:不检测依赖性(一般不用这个选项)

    如:rpm -ivh httpd-

    然后按下tab键,就可以看到所有以httpd-开头的安装包,一般先安装主包再安装副包

    注意:按 tab键,就可以列出所有相关的文件。

    2.RPM包升级

    rpm -Uvh 包全名

    -U(upgrade) 升级

    3.卸载(不需要在包路径下执行,因为它搜索的是后台数据库,任何位置都能找到)

    rpm -e 包名

    -e(erase): 卸载

    --nodeps:不检查依赖性(一般不用这个选项)


    RPM命令管理-查询(不一定要在packages路径)

    1.查询是否安装

    rpm -q 包名

    选项:-q(query):查询,必选

    如: rpm -q httpd

    查询httpd-是否有安装,如果安装就会出现安装的版本信息

    -a (all): 所有

    如:rpm -qa

    查询所有已经安装的rpm包

    如:rpm -qa | grep httpd

    列出所有和httpd相关的包

    2.查询软件包详细信息

    rpm -qi 包名

    选项:-i (information) 查询软件信息

    -p(package) 查询未安装包信息(后面跟的是包全名)

    如:rpm -qi httpd

    查询httpd包的信息

    如:rpm -qip zip(之后按tab键进行补齐全名,,注意路径)

    3.查询包中文件的安装位置

    rpm -ql 包名

    选项:-l(list):列表

    -p(package):查询未安装包信息(后面跟的是包全名)

    如:rpm -ql httpd

    查询(已安装包)httpd安装位置

    rpm -qpl zip(之后按tab键进行补齐全名,,注意路径)

    查询(未安装包)zip的位置

    4.查询文件系统属于哪个RPM包(要在系统文件所在目录下)

    rpm -qf 系统文件名

    选项:-f (file):查询系统文件属于哪个软件包

    如:rpm -qf  var/www/icons/up.gif

    结果就会告诉我们这个系统文件包是httpd安装的

    rpm -qf  yum.conf

    (要在 /etc目录下,输入上面的命令)

    5.查询软件包的依赖性

    rpm -qR 包名

    选项:-R:查询软件包的依赖性(requires)

    -p: 查询未安装包信息(后面跟的是包全名)(package)

    如:rpm -qR httpd

    查询httpd包的依赖性

    rpm -qRp zip(之后按tab键进行补齐全名,注意路径)

    注:注意路径 是指要在对应的包的目录下,再进行查询


    RPM命令管理-校验和文件提取

    1.RPM包校验

    [root@localhost~]#rpm -V 已安装的包名

    选项:-V(大写)校验指定RPM包中的文件( verify)

    如:rpm -V httpd

    如果没有提示信息,说明安装的httpd包就是我们初始安装的,没有做过任何修改

    如提示信息如下:验证的内容        文件类型        修改的文件名

    S.5....T. c /etc/httpd/conf/httpd.conf

    如果有提示,一般是8个字符,表示信息如下:

    如果没有改变就用 “.”表示

    验证内容中的8个信息的具体内容如下:

    ◆S 文件大小是否改变

    ◆M 文件的类型或文件的权限(rwx)是否被改变

    ◆5 文件MD5校验和是否改变(可以看成文件内容是否改变)

    ◆D 设备的中,从代码是否改变

    ◆L 文件路径是否改变

    ◆U 文件的属主(所有者)是否改变

    ◆G 文件的属组是否改变

    ◆T 文件的修改时间是否改变

    文件类型

    ◆c配置文件( config file)

    ◆d普通文档( documentation)

    ◆g "鬼”文件( ghost file),很少见,就是该文件不应该被这个RPM包包含

    ◆l 授权文件( license file)

    ◆r 描述文件( read me)

    2.RPM包中文件提取(一般多用于恢复被修改、破坏的系统文件)

    [root@localhost~]#rpm2cpio 包全名 | \

    cpio -idv . 文件绝对路径

    这条命令表示:要把安全包rpm转换为cpio,然后再从cpio中提取所要的文件。“\”这个符号表示命令太长,要换行。“.”表示把指定的文件提取到当前路径,当前路径一般是当前要工作的目录

    如:rpm2cpio

    #将rpm包转换为pio格式的命令

    cpio

    #是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

    如:1.whereis ls  :查询ls在哪里

    2.rpm -qf /bin/ls :查询ls命令属于哪个软件包

    3.mv /bin/ls /tmp :造成ls命令误删的假象

    4. rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-47.el6.x86_64.rpm | cpio -idv ./bin/ls  :提取rpm包中ls命令到当前目录的/bin/ls下

    5.cp /root/bin/ls /bin/ :把ls命令复制回/bin/目录,修复文件丢失

    注意:dir 可以查看当前路径下的目录


    RPM包管理-yum在线管理

    yum在线管理-IP地址配置和网络yum源

    1.IP地址配置(可永久生效)

    1)setup #使用setup工具

    setup:配置网络,只有root用户可以使用,永久生效

    用法:setup

    选择 网络配置,然后回车,-> 设备配置(回车)->

    在DHCP中输入 * 是自动获取IP地址,如果没有 DHCP SERVER就不要写这个,因为无法自动获取

    自己手动输入IP地址,子网掩码,网关

    然后保存并退出,最后别忘了用命令:service network resatrt

    重启网络服务

    注意:setup命令是红帽系列专有的

    2)vi /etc/sysconfig/network-scripts/ifcfg-eth0 #启动网卡。如果有多个网卡,后面跟的就是eth1,eth2等

    3)service network restart #重启网络服务

    2.网络yum源

    root[@localhost yum.repos.d]# vi/etc/yum.repos.d/ CentoS-Base.repo

    注意:后缀是 .repo都是合法的yum源

    ◆[base] 容器名称,一定要放在[]中

    ◆name 容器说明,可以自己随便写

    ◆ mirrorlist 镜像站点,这个可以注释掉

    ◆ baseurl 我们的yum源服务器的地址。默认是 Centos官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址

    ◆ enabled 此容器是否生效,如果不写或写成 enable=1都是生效,写成enable=0就是不生效

    ◆ gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效

    ◆ gpgkey 数字证书的公钥文件保存位置。不用修改

    yum在线管理-yum命令(全部使用包名)

    1)查询:yum list

    #查询所有可用软件包列表

    yum search 关键字

    #搜索服务器上所有和关键字相关的包

    如:yum search httpd

    搜索所有和httpd相关的包,以及安装httpd所需要的的包

    2)安装

    yum -y install 包名

    选项:-y  自动回答yes

    install 安装

    如:yum -y install httpd

    安装httpd包

    yum -y install gcc

    安装gcc,是C语言编译器。之后可用(rpm -q gcc)命令查询相关信息

    3)升级

    yum -y update 包名

    选项:-y  自动回答yes

    update 升级

    如:yum -y update httpd

    表示升级httpd包

    4)卸载

    yum -y remove 包名

    选项:-y  自动回答yes

    remove 卸载

    如:yum -y remove httpd

    注意:在安装软件,需要多少安装多少,采用最少安装。尽量不要卸载,尤其是使用yum下载时要注意。因为软件包之间存在依赖性,卸载这个包,可能会导致系统其它软件包也被卸载了,不能使用。要安装a,其依赖性有可能是 a->b->c,这样安装的顺序就是:c,b,a

    卸载刚好相反是:a,b,c

    5)YUM软件组管理命令

    yum grouplist

    #列出所有可用的软件组列表

    yum groupinstall  软件组名

    [root@localhost ~]# yum grouplist

    列出所有可用的软件组列表

    [root@localhost ~]#yum groupinstall 软件组名

    安装指定软件组,组名可以由grouplist查询出来

    [root@localhost ~]#yum groupremove 软件组名

    卸载指定软件组

    注意:如果软件组名中有空格 如zulu Support,就要用双引号,如“zulu Support”这样,才能被识别为一个软件组


    yum在线管理-光盘yum源搭建

    光盘yum源搭建步骤

    可以先 cd /etc/yum.repo.d/  下看看有有哪些yum源,默认是CentOS-Base.repo 生效。其他三个人别是: CentOS-Debuginfo.repo,CentOS-Vault.repo,CentOS-Media.repo(这个代表光盘yum)

    1)挂载光盘

    [root@localhost ~]# mount /dev/cdrom /mnt/cdrom/

    2)让网络yum源文件失效(通过改名的方式)

    [root@localhost ~]# cd /etc/yum.epos.d/

    [root@localhost yum.epos.d]#mv CentOS-Base.repo  \

    CentOS-Base.repo.bak

    [root@localhost yum.epos.d]#mv CentOS-Debuginfo.repo  \

    CentODS-Debuginfo.repo.bak

    [root@localhost yum.epos.d]#mv CentOS-Vault.repo \

    CentOS-Vault.repo.bak

    3)修改光盘yum源

    [root@localhost yum.epos.d]# vim CentOS-Media.repo

    [c6-media]

    name=CentOS-$releasever - Media

    baseurl=file:///mnt/cdrom

    #地址为你自已的光盘挂载地址.///最后一个/表示根目录

    # file:///media/cdrom/

    # file:///media/cdrecorder/

    #注释这两个不存在的地址

    gpgcheck =1

    enabled=1

    #把 enabled=0改为 enabled=1,让这个yum源配置文件生效

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    4)yum list

    可以看到后面的yum源变成 c6-media


    源码包与RPM包的区别

    1、区别

    ◆安装之前的区别:概念上的区别

    ◆安装之后的区别:安装位置不同

    2、RPM包安装位置

    ◆是安装在默认位置中

    RPM包默认安装路径如下:

    /etc/ 配置文件安装目录

    /usr/bin/  可执行的命令安装且录

    /usr/lib/  程序所使用的函数库保存位置

    /usr/share/doc 基本的软件使用手册保存位置

    /usr/share/man/ 帮助文件保存位置

    3、源码包安装位置

    ■安装在指定位置当中,一般是/usr/local/软件名/

    4、安装位置不同带来的影响

    ◆RPM包安装的服务可以使用系统服务管理命令( service)来管理,例如RPM包安装的 apache的启动方法是:

    /etc/rc.d/init.d/httpd start

    通过绝对路径加上软件名来启动。(cd /etc/rc.d/init.d/ 可以看到rpm包的执行文件)

    或者 service httpd start(红帽专有,service可以找到绝对路径)

    cd /var/www/html 在这个目录下可以看到httpd下的网页

    写一个网页:vi index.html

    在网页中输入192.168.1.17,就能看到网页信息(要记得关掉防火墙:service iptables stop)

    ◆而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如/usr/local/apache2/bin/apachectl start


    源码包管理-源码包的安装过程

    1、安装准备

    ◆安装C语言编译器

    ◆下载源码包http://mirror.bit.edu.cn/apache/httpd

    2、安装注意事项

    ◆源代码保存位置:usr/local/src

    (系统已经给我们准备了安装源码包的位置,其中usr是linux系统资源目录,local是本地的意思,src是源代码的位置)

    ◆软件安装位置:/usr/local

    ◆如何确定安装过程报错:

      安装过程停止

      并出现error、 warning或no的提示

    3、源码包安装过程

    ◆下载源码包 如:httpd-2.4.43.tar.gz

    ◆解压缩下载的源码包  如:tar -zxvf httpd-2.4.43.tar.gz

    ◆进入解压缩目录 如:cd /root/httpd-2.4.43

    注意:du -sh httpd-2.4.43 通过这条命令可以看到这个源码包有多大

    4.  ./configure 软件配置与检查(执行完会产生Makefile)

    定义需要的功能选项

    命令: ./configure --prefix=/usr/local/apache2

    检测系统环境是否符合安装要求

    把定义好的功能选项和检测系统环境的信息都写入 Makefile文件,用于后续的编辑。

    5.make  #编译(把源码包翻译为机器语言)

    make clean #清空编译产生的临时文件,没有报错不要执行

    make install  #编译安装,才会向目录真正写入文件

    6.由yum安装的httpd,启用的httpd占用的端口也是80,所以要先停掉

    service httpd stop

    7.安装完成后,进行启动

    命令:/usr/local/apache2/bin/apachectl start

    8.在网页中输入 192.168.1.17

    就可以发现首页是启动的是源码包的apache

    9.源码包的卸载(一个服务器中,只能有一个httpd)

    ◆不需要卸载命令,直接删除安装目录即可。

    不会遗留任何垃圾文件

    如:rm -rf /usr/local/apache2/

    注意:1.通过 ./configure --help 可以看到其支持的编译功能选项

    2.通过 more INSTALL 可以看安装的过程

    3.httpd如果是2.4以上的版本,要先安装ARP

    步骤如下:都是在根目录下执行,也就是要先 cd /root下。

    [root@localhost ~]#这个状态下

    1)下载所需工具包:

    wget http://archive.apache.org/dist/apr/apr-1.5.0.tar.gz

    wget http://archive.apache.org/dist/apr/apr-util-1.5.3.tar.gz

    wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.tar.gz

    2)将以前的删除:yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs

    分别进行便于安装:

    3)

    tar -zxvf apr-1.5.0.tar.gz 

    cd apr-1.5.0 

    ./configure --prefix=/usr/local/apr  && make && make install

    tar -zxvf apr-util-1.5.3.tar.gz

    cd apr-util-1.5.3

    ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config && make && make install

    tar -zxvf pcre-8.34.tar.gz 

    cd pcre-8.34 

    ./configure --prefix=/usr/local/pcre  && make && make install

    4)最后一步安装httpd

    wget http://apache.org/dist/httpd/httpd-2.4.9.tar.gz (如果之前没下载,就可以用这个命令进行下载)

    tar -zxvf httpd-2.4.43.tar.gz

    cd /root/httpd-2.4.43

    ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr \

    --with-apr-util=/usr/local/apr-util/ \

    --with-pcre=/usr/local/pcre

    make && make install


    脚本安装包

    1、脚本安装包

    ◆脚本安装包并不是独立的软件包类型,常见安装的是源码包。

    ◆是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。

    ◆非常类似于 Windows下软件的安装方式。

    2、 Webmin的作用

    ◆ Webmin是一个基于Web的 Linux系统管理界面。您就可以通过图形化的方式设置用户帐号、 Apache、DNS、文件共享等服务

    3、 Webmin安装过程

    ◆下载软件

    >http://sourceforge.net/projects/webadmin/files/webmin/

    ◆解压缩,并进入加压缩目录

    tar -zvxf webmin-1.61..tar.gz

    du -sh webmin-1.610(查看大小的命令)

    cd webmin-1.610

    ◆执行安装脚本

    ./setup.sh

    以回车作为默认

    最后可以修改用户名和密码。这里设置用户名:admin 密码:123456

    使用的是本机的10000端口号

    ◆在网页中:192.168.1.17:10000即可,然后输入用户名和密码

    相关文章

      网友评论

          本文标题:第六章Linux软件安装(源码包与RPM包区别与安装)-(yum

          本文链接:https://www.haomeiwen.com/subject/wwlbahtx.html