第八章 centos7 软件包的管理和安装

8.1  使用rpm命令-安装-查看-卸载-rpm  软件包

8.2  yum  管理软件包

8.3  实战 tar 源码包管理-srpm  源码包安装方法

8.1  软件包的管理

软件包的类型

rpm  二进制包    已经使用GCC  编译后的

tar  源码包       需需编译


8.1.1  rpm  软件包的管理

rpm 包的获取方式

1  centos 系统镜像光盘

2  网站rpmfind.net  

3  比如安装mysql,nginx ,软件,我们可以去它的官方网站,

如果需要通过光盘获取,

挂载mount/dev/sr0  / mnt  后找到

卸载umount /mnt  或者umount  /dev/sr0

rpm  包格式的说明


  8.1.2  按rpm  软件

RPM   工具分为安装。查询,验证,更新,删除等操作

命令格式:rpm  参数软件包

  参数

-i  是install  的意思,安装软件包

-v  显示附加信息,提供更多纤细信息

-V 校验,对已经安装的软件进行校验

-h --hash  安装时输出#####标记

互动:rpm使用时,什么情况下使用软件包名,什么时候使用软件包全名

全名:在安装和更新时候使用

包名:对已经安装过的软件包进行操作时,比如查找已经安装的某个包,卸载包等

使用包名,它默认是去目录/var/lib/rpm  下面进行收缩,当一个rpm 包安装到系统上之后,安装信息就会保存早本地

rpcbind/ rpm/ rpm-state/

[root@xueshen65 ~]# ls /var/lib/rpm

Basenames    Dirnames  Installtid  Obsoletename  Providename  Sha1header  Triggername

Conflictname  Group    Name        Packages      Requirename  Sigmd5

[root@xueshen65 ~]# rpm -q lrzsz

lrzsz-0.12.20-36.el7.x86_64

1  从本地安装

如果没有 

先挂载  

mount  /dev/cdrom   /mnt 


zsh 就会显示所有的路径

8.1.2.2  从网上下载直接按照centos epel  扩展源

首先查看是否能上网

[root@xueshen65]~# rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

获取http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

警告:/var/tmp/rpm-tmp.TUuoEF: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY

准备中...                          ################################# [100%]

正在升级/安装...

  1:epel-release-7-12                ################################# [100%]

[root@xueshen65]~#

rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

安装centos epel  扩展yum  源 注意  epel  是对centos7  系统中自带的base 源的扩展有依赖

针对有依赖关系的安装包,直接用yum 方式安装

8.1.3 rpm  插叙功能

-a  all  查询所有已经安装的软件包

-f file  系统文件名  查询文件系统属于哪个软件包,反向查询

-i  显示已经安装的rpm软件包信息,后面直接跟包名

-l  list  查询软件包中文安装的位置

-p  查询未安装软件包的相关信息,后面跟软件的包名

-R  查询软件包的依赖性

[root@xueshen65]~# rpm -qa zsh

zsh-5.0.2-31.el7.x86_64

[root@xueshen65]~# rpm -qf /usr/bin/find

findutils-4.5.11-6.el7.x86_64

首先使用which 查询在哪个位置

查看安装的包是干嘛用的

rpm  -qpi  安装路径

cha



查询没有安装的RPM包,要加参数 -p

rpm  -qi  lrzsz  

8.14 查看软件包内容是否被修改   用于查看命令有没有被黑客修改

rpm  -V 包名

rpm -Vf   文件路径


[root@xueshen65]~# which find

/usr/bin/find

[root@xueshen65]~# rpm -qf /usr/bin/find

findutils-4.5.11-6.el7.x86_64

[root@xueshen65]~# rpm -Vf /usr/bin/find   检查具体文件

互动;  查看系统中所有的rpm包安装的文件有没有被黑客修改  

[root@xueshen65]~# rpm -Va  

假如改得多  可以用重定向


校验时参考了/var/lib/rpm     目录下数据库信息

[root@xueshen65]~# md5sum /etc/passwd

3e90c88954be6365b2c6818db8670384  /etc/passwd


[root@xueshen65]~# echo 123456 | md5sum

f447b20a7fcbf53a5d5be013ea0b15af  -

rpm   卸载和升级

用法:  rpm -e  包名  

rpm  -e  zsh     


  如果有依赖关系   使用rpm  -e   nodeps     lrzsz   

升级 


[root@xueshen65]~# rpm -Uvh /mnt/Packages/zsh-5.0.2-31.el7.x86_64.rpm

手动解决rpm  依赖关系



如何配置yum  源  


8.2.1.2  网络yum  源

1 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#wget  下载文件  -O  把下载的文件存到另外一个文件中

2 sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

yum   clean  all 

yum   list  

就可以下载了 

  yum   install -y   httpd   安装软件包  -y  直接按照

 yum  update  kernel  升级

yum  info  httpd   查询rpm 包作用

yum  provides  /usr/bin/find   查看命令是安哥软件包安装的

yum   -y   remove   包名  卸载包

yum   search   keyword    #安装关键字搜索软件包


yum  报错,主义的几个小问题

1  确定光盘是否连接,光盘是否瓜子啊

2 配置文件中格式是否正确,字母,符号有没有写错,挂载点和配置文件汇总设置的是否一致,

3 网络源需要上网,操作和RPM  类似,只是会自动安装依赖

update  不加任何包,表示整个系统升级

8.2.3  yum  安装工具软件包组

yum  grouplist  查看哪些软件包组


  也可以使用yum groupinstall  "开发工具"



8.3  实战tar 源码包管理-srpm  源码包安装方法

8.3.1  源码安装nginx  

  1 编译环境如gcc 和gcc-c++  编译器,make

2  准备:nginx-1.12.2.tar.gz

部署Nginx 

yum  -y install gcc gcc-c++ make zlib-devel pcre pcre-devel openssl-devel  

zlib  压缩库,pcre :支持正则表达式,地址重写rewrite   OpenSSL 提供https  支持

.开始安装

源码编译三把斧

./configure   ,make ,make   install  

上传nginx 到linux上,

1 tar -zxvf  nginx-1.12.2.tar.gz  

2 cd  nginx-1.12.2 

3  ./configure   --prefix=/usr/local/nginx     指定安装路径

4 make   -j  4

这样速度很快 

5  make  install  


./configure  

a  指定安装路径,例如 --prefix=/usr/local/nginx 

b  启用或禁用某项功能。例如 --enable-ssl,  --disable-filter --with-http_ssl_module  

c  和其他软件关联,例如--with-prce 

d  检查安装环境,例如是否有编译器GCC,是否满足软件的依赖需求

最终生成Makefile  

make  -j  4  按Makefile  文件编译,可以使用-j 4  指定核心CPU编译,提升技术

make  install  按Makefile定义的文件路径安装

make  clean  // 清除上次的make命令产生的object和  即可要重新执行configure时,需要执行make  clean  all 

8.3.2  删除源码包

安装完,删除

make uninstall

有时删除不干净,所以建议安装时,在configure步骤添加一个:--prefix 参数

这样删除或备份时,直接对删除--prefix 指定的安装目录操作就可以了

8.3.3   实战2  源码编译错误5种完美解决方案


 tar   -jxvf   extundelete-0.2.4.tar.bz2 

cd   extundelete-0.2.4.tar.bz2 

./configure   


第一   cd/mnt/Packages/

rpm  -ivh   ext   补齐  

第二     ls   *ext2fs*   查找关键字

第三  ls *2fs*   查找部分关键字

第四  上网  查rpm   http://.rpmseek.com/index.html  

第五   使用yum   去搜索

yum  search  ext2fs  


差头文件



./configure  

make  -j 4 

make install

8.3.4  安装.src.rpm  源码包的方法

srpm:  就是这个rpm档案里面有源码

rpmbuild  --rebuild lrzsz-0.12.20-27.1.el6.src.rpm   

皆可以了


你可能感兴趣的:(第八章 centos7 软件包的管理和安装)