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

2020-05-26  本文已影响0人  棉花糖7

软件包管理简介

软件包分类

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即可,然后输入用户名和密码

上一篇下一篇

猜你喜欢

热点阅读