yum.rpm 详解

本节所讲内容:

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/



你可能感兴趣的:(linux,yum,rpm,Make)