本节所讲内容:
rpm软件包管理
yum安装软件包
源码编译安装软件包
安装srpm软件包
源码
RPM RedHat Packet Manager sign 额外的管理
GCC
软件管理:
rpm软件包管理:
#rpm
作用:管理rpm包
语法: rpm 【选项】 包名
挂载光盘:
[root@xuegod63 Desktop]# mount /dev/cdrom /mnt/
[root@xuegod63 Desktop]# mount /dev/sr0 /opt/
mount: block device /dev/sr0 is write-protected, mounting read-only
查看包个数:
[root@xuegod63 Desktop]# ls /mnt/Packages/ | wc -l
3597
Word count
Linux下软件包命名规则:
zsh-4.3.10-4.1.el6.x86_64.rpm
zsh -4 .3 .10 -4.1 x86. 64位
软件名 主版本号 次版本号 修订 release(第几次发布版本) CPU架构系统平台 支持的系统位数el6 : enterprise linux 6 : RHEL 6 或centos 6
el5: rhel5
安装rpm软件
[root@localhost ~]# rpm -ivh /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
[root@localhost ~]# rpm - -help
-i, --install install package(s)
-v, --verbose 详细 provide more detailed output
-h, --hash print hash marks as package installs (good with -v) #安装时打印散列标记#号
安装时,解决依赖关系:
[root@xuegod63 Packages]# rpm -ivh /mnt/Packages/mysql-server-5.1.52-1.el6_0.1.x86_64.rpm
warning: /mnt/Packages/mysql-server-5.1.52-1.el6_0.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
error: Failed dependencies:
perl-DBD-MySQL is needed by mysql-server-5.1.52-1.el6_0.1.x86_64
[root@xuegod63 Packages]# rpm -ivh --nodeps /mnt/Packages/perl-DBD-MySQL-4.013-3.el6.x86_64.rpm
方法1 : 直接找以perl-DBD-MySQL开头的包
方法2:找关键字
root@xuegod63 Packages]# ls *perl-DBD-MySQL*
方法3:上rpm包相关的网站上找
http://rpmfind.net/
http://rpm.pbone.net/
http://www.rpmseek.com/index.html
强制安装:
rpm -ivh --nodeps /mnt/Packages/mysql-server-5.1.52-1.el6_0.1.x86_64.rpm
rpm查询功能:
[root@xuegod63 Packages]# rpm -ivh /mnt/Packages/zsh-4.3.10-4.1.el6.x86_64.rpm
zsh是什么?
zsh是UNIX系统下的一种shell,高度兼容bash
[root@localhost Packages]# cat /etc/shells #多了一个zsh
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/zsh
#rpm -q zsh (查询zsh软件是否安装)
#rpm -qa (查询系统所有安装过的rpm软件)
#rpm -ql zsh (查询zsh这个软件安装后,产生了那些文件和目录)
[root@localhost Packages]# rpm -ql zsh
zsh这个文件是那个软件安装的
#which zsh命令名(返回命令的绝对路径)
#rpm -qf /bin/zsh
zsh-4.2.6-3.el5.i386.rpm
或:
[root@bogon tmp]# rpm -qf `which zsh`
[root@bogon tmp]# rpm -pql /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
#预先查看一个软件包,安装时将会生成哪些目录
升级:
#rpm -Uvh zsh-4.2.6-3.el5.i386.rpm
卸载:
#rpm -e zsh 只写软件包的名字,不用写版本号
强制卸载
--nodeps
[root@bogon Packages]# rpm -e --nodeps perl-DBD-MySQL
导入RPM-GPG-KEY 安装rpm包时,对rpm的签名进行验证。
[root@bogon tmp]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
例,验证:
[root@localhost Packages]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@localhost Packages]# rpm -e lrzsz
[root@localhost Packages]# rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm #导入后,安装rpm包,不再有nokey这个提示
Preparing... ########################################### [100%]
1:lrzsz ########################################### [100%]
验证的原理是:非对称加密。 导入公钥。验证rpm中的签名是否是对的。
使用yum安装软件:
自动装软件包(软件包管理):
Duke 杜克大学 Yellow Dog Updater Modified
本地源 :快,稳 网络源:更全,新。 网络源没有本地源稳定。
YUM
解决依赖关系问题、自动下载软件包。基于C/S架构。
S:
直接使用光盘的根所在的目录(/media/xxx/或 /mnt )。
C: 配置yum源配置文件
[root@xuegod63 Packages]# cd /etc/yum.repos.d/
[root@xuegod63 yum.repos.d]# cp rhel-source.repo rhel-source.repo.back 这里先备份一次。做修改都记得备份下。
[root@xuegod63 yum.repos.d]# mount /dev/cdrom /mnt/
[root@xuegod63 yum.repos.d]# cat !$
cat rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///mnt/
# baseurl=ftp://192.168.1.63/pub/
# baseurl=http://192.168.1.63/pub/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#说明:
[local-Server] 其中serverid是用于区别各个不同的yum软件包库,必须有一个独一无二的名称。
name=local-Server 是对yum软件包库的描述
baseurl=file:///mnt (repodata目录所在的目录)
#baseurl=file:///media/Server (RHEL5 repodata目录所在的目录是Server)
enabled=1 #为1,表示可以用
gpgcheck=1 #为1,使用公钥检验rpm的正确性
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
#mount后重启失效,要想永久生效,添加此句话
[root@localhost yum.repos.d]# echo "mount /dev/cdrom /iso" >> /etc/rc.local
[root@localhost yum.repos.d]# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
mount /dev/cdrom /iso
YUM使用:
安装:
yum clean all
yum list
yum install zsh #安装
[root@xuegod63 mnt]# yum install httpd
Loaded plugins: product-id, refresh-packagekit, security, subscription-
: manager
Updating certificate-based repositories.
Setting up Install Process
Package httpd-2.2.15-15.el6.x86_64 already installed and latest version
Nothing to do
这里我已经安装过了。所有会有提示。
安装一组软件包:
yum grouplist
yum groupinstall "Development tools"
yum查询:
yum list z*
yum search zsh
rpm -qpi /mnt/Packages/zsh-4.3.10-4.1.el6.x86_64.rpm 查看一个包一作用
删除:
yum remove zsh
选项 : -y #回答yes
yum install -y zsh
http://mirrors.sohu.com/ #系统镜像站
http://mirrors.ustc.edu.cn 这两个都挺不错的。
# yum info tigervnc yum info 可以查找一个包的
# yum provides "*/vncviewer"
查找能生成vncviewer命令的包
源码编译安装软件包:
前提:系统必须安装:开发工具、开发库。
步骤:
1. 获得源码包
2. 解压
tar
3. 配置,检测安装环境
#./configure #检查安装环境是否符合需求 ,如果没有问题,生成:Makefile文件
4. 编译
#make (编译时会读取Makefile文件)
5. 安装
#make install
例:安装软件包extundelete-0.2.4.tar.bz2
[root@xuegod63 ~]# tar jxvf extundelete-0.2.4.tar.bz2
[root@xuegod63 extundelete-0.2.4]# ./configure
Configuring extundelete 0.2.4
configure: error: Can't find ext2fs library
[root@xuegod63 ~]# rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm
[root@xuegod63 extundelete-0.2.4]# ./configure
[root@xuegod63 extundelete-0.2.4]#make
[root@xuegod63 extundelete-0.2.4]#make install
删除:
[root@xuegod63 extundelete-0.2.4]# pwd
/root/extundelete-0.2.4
[root@xuegod63 extundelete-0.2.4]# make uninstall
不过多有时删除不干净,所以建议大家安装时,在configure步骤添加一个: --prefix 参数。这样删除或备份时,直接对删除这个目录操作就可以了。
# make clean
指定安装路径:
[root@xuegod63 extundelete-0.2.4]# ./configure --prefix=/usr/local/extundelete-mk
[root@xuegod63 extundelete-0.2.4]# make && make install
cd /usr/local/extundelete-mk/
软件安装方法特点:
rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。
手动:麻烦,软件版本新。稳定性稍差、管理稍差。性能好。 LAMP,LNMP
安装.src.rpm源码包的方法
[root@xuegod63 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.2 (Santiago)
[root@xuegod63 ~]# uname -m
x86_64
编译:
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的安装过程。
rpm -e lrzsz
rpm -ivh rpmbuild/RPMS/x86_64/lrzsz-0.12.20-27.1.el6.x86_64.rpm
阿里云主机,yum源配置文件解说:
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyun.com/centos/
#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-19&arch= x86_64
镜像服务器地址列表
# repo = fedora-19 arch = x86_64 country = CN country = BD country = JP country = HK country = PK country = VN country = KR country = TW country = ID
http://mirrors.yun-idc.com/fedora/releases/19/Everything/x86_64/os/
http://mirrors.zju.edu.cn/fedora/releases/19/Everything/x86_64/os/
http://mirrors.ustc.edu.cn/fedora/linux/releases/19/Everything/x86_64/os/
http://mirrors.hustunique.com/fedora/releases/19/Everything/x86_64/os/
http://ftp6.sjtu.edu.cn/fedora/linux/releases/19/Everything/x86_64/os/