本节所讲内容:
rpm软件包管理
yum安装软件包
源码编译安装软件包
安装srpm软件包
软件管理:
rpm软件包管理:
Redhat package manager
#rpm
作用:管理rpm包
语法:rpm 【选项】 包名
挂载光盘:
[root@localhost ~]#umount /dev/sr0
[root@localhost ~]#mount /dev/sr0 /mnt/
查看包个数:
[root@localhost ~]# cd/mnt/Packages/
[root@localhostPackages]# ls | wc -l
4372
zsh-5.0.2-7.el7.x86_64.rpm
zsh -5 .0 .2 -7 x86 64
软件名 主版本号 此版本号 修订号 release(第几次发布版本) CPU架构系统平台 支持的系统位数
el7 :Enterprise Linux 7 :RHEL7 或 CentOS7
el6 :RHEL6 或 CentOS6
el5 :RHEL5 或CentOS5
安装rpm软件
[root@localhost ~]# rpm-ivh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
[root@localhost ~]# rpm--help
-i, --install install package(s)
-v, --verbose 详细 provide more detailed output
-h, --hash print hash marks as packageinstalls (good with -v) #安装时打印散列标记#号
安装时,解决依赖关系:
[root@localhost ~]# rpm-ivh /mnt/Packages/mariadb-server-5.5.41-2.el7_0.x86_64.rpm --nodeps #强制安装
方法一:直接找以perl-DBD-MySQL开头的包
[root@localhost Packages]#rpm -ivh perl-DBD-MySQL
方法二:找关键字
[root@localhostPackages]# ls *perl-DBD-MySQL*
perl-DBD-MySQL-4.023-5.el7.x86_64.rpm
方法三:上rpm包相关的网站上找
http://rpmfind.net/
http://rpm.pbone.net/
http://www.rpmseek.com/index.html
Zsh的安装
[root@localhost ~]# rpm-ivh /mnt/Packages/zsh-5.0.2-7.el7.x86_64.rpm
warning:/mnt/Packages/zsh-5.0.2-7.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, keyID fd431d51: NOKEY
Preparing... #################################[100%]
Updating /installing...
1:zsh-5.0.2-7.el7 ################################# [100%]
[root@localhost ~]# cat/etc/shells #多了一个zsh
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
/bin/zsh
RHEL
redhat enterprise linux
rpm查询功能:
[root@localhost ~]# rpm-q zsh (查询zsh软件是否安装)
zsh-5.0.2-7.el7.x86_64
[root@localhost ~]# rpm-qa (查询系统所有安装过的rpm软件)
[root@localhost ~]# rpm-qa | grep zsh
zsh-5.0.2-7.el7.x86_64
[root@localhost ~]# rpm-ql zsh | more
(查询zsh这个软件安装后,产生了那些文件和目录)
zsh这个文件是那个软件安装的
[root@localhost ~]# rpm-qf `which zsh`
zsh-5.0.2-7.el7.x86_64
在软件没有安装之前进行查看
[root@localhost ~]# rpm-qpl /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
warning:/mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature,key ID fd431d51: NOKEY
/usr/bin/rb
/usr/bin/rx
/usr/bin/rz
/usr/bin/sb
/usr/bin/sx
/usr/bin/sz
/usr/share/locale/de/LC_MESSAGES/lrzsz.mo
/usr/share/man/man1/rz.1.gz
/usr/share/man/man1/sz.1.gz
升级:
[root@localhost ~]# rpm-Uvh /mnt/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
卸载:
[root@localhost ~]# rpm-e zsh 只写软件包的名字,不用写版本号
强制卸载
[root@localhost~]# yum -y install httpd
[root@localhost ~]# rpm-e mailcap --nodeps
导入RPM-GPG-KEY安装rpm包时,对rpm的签名进行验证。
[root@localhost ~]# rpm--import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@localhost ~]# rpm-ivh /mnt/Packages/zsh-5.0.2-7.el7.x86_64.rpm
Preparing... ################################# [100%]
package zsh-5.0.2-7.el7.x86_64 is already installed
验证的原理是:非对称加密。 导入公钥。验证rpm中的签名是否是对的。
使用yum安装软件:
自动装软件包(软件包管理):
YUM
解决依赖关系问题、自动下载软件包。基于C/S架构。
S:
直接使用光盘的根所在的目录(/media/xxx/或 /mnt )
ftp http file(本地yum源)
C: 配置yum源配置文件
[root@localhost ~]# vim/etc/yum.repos.d/rhel7.repo
[rhel7-yum] #yum源名称,唯一的,用来区分不同的yum源
name=rhel7-source #对yum源描述信息
baseurl=file:///mnt #yum源的路径(repodata目录所在的目录)
enabled=1 #为1,表示启用yum源
gpgcheck=0 #为1,使用公钥检验rpm的正确性
YUM使用:
[root@localhost ~]# yumclean all #清空yum缓存
[root@localhost ~]# yumlist #生成列表
[root@localhost ~]# yuminstall zsh #安装软件包
安装一组软件包:
[root@localhost ~]# yumgrouplist
[root@localhost ~]# yumgroupinstall "Security Tools"
yum查询:
[root@localhost ~]# yumlist z*
[root@localhost ~]# yumsearch zsh
[root@localhost ~]# rpm-qpi /mnt/Packages/zsh-5.0.2-7.el7.x86_64.rpm
查看一个包的作用
凡是加上p则表示查询的包未安装。若查询已安装的包则去掉p
删除:
[root@localhost ~]# yumremove zsh
选项 :-y #回答yes 取消交互
[root@localhost ~]# yum-y install mariadb-server
http://mirrors.sohu.com/ #系统镜像站
源码编译安装软件包:
前提:系统必须安装:开发工具、开发库
步骤:
1. 获得源码包
2. 解压
tar
3. 配置,检测安装环境
#./configure #检查安装环境是否符合需求,如果没有问题,生成:Makefile文件
4. 编译
#make (编译时会读取Makefile文件)
5. 安装
#make install
例:安装软件包extundelete-0.2.4.tar.bz2
[root@localhost ~]# tarjxvf extundelete-0.2.4.tar.bz2
[root@localhost ~]# cdextundelete-0.2.4/
[[email protected]]# ./configure
Configuring extundelete0.2.4
configure: error: Can'tfind ext2fs library
[[email protected]]# yum -y install e2fsprogs-devel
[[email protected]]# ./configure
[[email protected]]# make
[[email protected]]# make install
删除:
[[email protected]]# make uninstall
Making uninstall in src
( cd '/usr/local/bin' && rm -fextundelete )
不过多有时删除不干净,所以建议大家安装时,在configure步骤添加一个: --prefix 参数。这样删
除或备份时,直接对删除这个目录操作就可以了。
再次编译时
[[email protected]]# make clean
Making clean in src
Making clean in .
指定安装路径
[[email protected]]# ./configure --prefix=/usr/local/extundelet-rm
Configuring extundelete0.2.4
Writing generated filesto disk
编译安装
[[email protected]]# make && make install
删除时只需删除路径即可:
[root@localhost local]#rm -rf extundelet-rm/
软件安装方法特点:
rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。
源码手动:麻烦,软件版本新。稳定性稍差、管理稍差。性能好。 LAMP,LNMP
安装.src.rpm源码包的方法
[root@localhost ~]#uname -r
3.10.0-229.el7.x86_64
[root@localhost ~]# cat/etc/redhat-release
Red Hat EnterpriseLinux Server release 7.1 (Maipo)
rpmbuild --rebuild lrzsz-0.12.20-27.1.el6.src.rpm #将src.rpm中源码文件编译成可执行
的二进制文件。
若顺利执行成功则会在root用户家目录下生成一个: rpmbuild目录。
在/root/rpmbuild/RPMS/x86_64/目录下生成lrzsz-0.12.20-27.1.el6.x86_64.rpm这个rpm文件。
安装
接下来就是rpm的安装过程。
[root@localhostx86_64]# rpm -e lrzsz
[root@localhostx86_64]# rpm -vih lrzsz-0.12.20-27.1.el7.x86_64.rpm
学习过程中如果问题,请留言。更多内容请加:
学神IT-linux讲师-RM老师QQ:2805537762
学神IT-戚老师QQ:3341251313
学神IT-旭斌QQ:372469347
学神IT教育RHEL7交流群:468845589