yum.rpm 详解

本节所讲内容:

  1. rpm软件包管理    
  2. yum安装软件包
  3. 源码编译安装软件包
  4. 安装srpm软件包

 

源码

RPM RedHat Packet Manager sign 额外的管理

GCC 

 

软件管理:

rpm软件包管理:

 

#rpm

作用:管理rpm包

语法: rpm  【选项】  包名

 

挂载光盘:

[[email protected] Desktop]# mount /dev/cdrom  /mnt/  

[[email protected] Desktop]# mount /dev/sr0 /opt/

mount: block device /dev/sr0 is write-protected, mounting read-only

 

查看包个数:

[[email protected] 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软件

[[email protected] ~]# rpm -ivh /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm

 

[[email protected] ~]# rpm  - -help

-i, --install                    install package(s)

-v, --verbose 详细             provide more detailed output

-h, --hash                     print hash marks as package installs (good with -v) #安装时打印散列标记#号

 

安装时,解决依赖关系:

[[email protected] 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

[[email protected] Packages]# rpm -ivh --nodeps /mnt/Packages/perl-DBD-MySQL-4.013-3.el6.x86_64.rpm

 

方法1 : 直接找以perl-DBD-MySQL开头的包

方法2:找关键字

[email protected] 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查询功能:


 [[email protected] Packages]# rpm -ivh /mnt/Packages/zsh-4.3.10-4.1.el6.x86_64.rpm

zsh是什么?

zsh是UNIX系统下的一种shell,高度兼容bash

 

 

[[email protected] 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这个软件安装后,产生了那些文件和目录)

[[email protected] Packages]# rpm -ql zsh    

 

zsh这个文件是那个软件安装的

#which zsh命令名(返回命令的绝对路径)

#rpm -qf /bin/zsh 

zsh-4.2.6-3.el5.i386.rpm

或:

[[email protected] tmp]# rpm -qf `which zsh`

 

[[email protected] 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

[[email protected] Packages]# rpm -e --nodeps perl-DBD-MySQL

 

导入RPM-GPG-KEY 安装rpm包时,对rpm的签名进行验证。

 

[[email protected] tmp]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

例,验证:

[[email protected] Packages]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 

[[email protected] Packages]# rpm -e lrzsz

[[email protected] 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源配置文件

[[email protected] Packages]# cd /etc/yum.repos.d/

[[email protected] yum.repos.d]# cp rhel-source.repo rhel-source.repo.back 这里先备份一次。做修改都记得备份下。

[[email protected] yum.repos.d]# mount /dev/cdrom  /mnt/

[[email protected] 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后重启失效,要想永久生效,添加此句话
[[email protected] yum.repos.d]# echo "mount /dev/cdrom /iso" >> /etc/rc.local 
[[email protected] 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  #安装

[[email protected] 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

[[email protected] ~]# tar jxvf extundelete-0.2.4.tar.bz2

[[email protected] extundelete-0.2.4]# ./configure

Configuring extundelete 0.2.4

configure: error: Can‘t find ext2fs library

[[email protected] ~]# rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm

[[email protected] extundelete-0.2.4]# ./configure

[[email protected] extundelete-0.2.4]#make

[[email protected] extundelete-0.2.4]#make install

删除:

[[email protected] extundelete-0.2.4]# pwd

/root/extundelete-0.2.4

[[email protected] extundelete-0.2.4]# make uninstall

不过多有时删除不干净,所以建议大家安装时,在configure步骤添加一个: --prefix  参数。这样删除或备份时,直接对删除这个目录操作就可以了。

# make clean

指定安装路径:

[[email protected] extundelete-0.2.4]# ./configure  --prefix=/usr/local/extundelete-mk

[[email protected] extundelete-0.2.4]# make && make install

cd /usr/local/extundelete-mk/

软件安装方法特点:

rpm+yum:方便,软件版本低。稳定性好、管理方便。性能稍差。

手动:麻烦,软件版本新。稳定性稍差、管理稍差。性能好。  LAMP,LNMP

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

[[email protected] ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.2 (Santiago)

[[email protected] ~]# 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/


时间: 2024-08-28 21:18:02

yum.rpm 详解的相关文章

rpm包安装和卸载,rpm查询,yum工具详解,yum仓库搭建

rpm包安装和卸载 [[email protected] Packages]# rpm -ivh zip-3.0-1.el6.x86_64.rpm    安装rpm包命令   ivh I=安装的意思install    v=可视     h =显示安装进度 mount /dev/cdrom  /mnt/  挂载到mnt下 cd /mnt/ cd packages Ls    查看rpm包 遇到有相互依赖的包,两个包一起安装 卸载也是一样的 两个包同时卸载 rpm -e yp -tools ypb

linux yum命令详解

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...]其中的[opti

yum命令详解

yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载 RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至 全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...]其中的[o

bash数组和字符串处理、yum命令详解及编译安装

8月22号主要内容: 一.bash中的数组 二.bash中字符串处理 三.高级变量及配置用户环境 四.yum详解 五.编译安装 一.bash中的数组 1.数组的组成和申明 (1) 数组:存储多个元素的连续的内存空间,相当于多个变量的 集合. (2) 组成:数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式 ,即为关联索引,bash4.0版本之后开始支持. bash的数组支持稀疏格式(索引不连续) (3) 申明数组: declare -a ARRAY

yum 命令详解

linux yum命令详解 yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载 RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至 全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [pac

Linux 软件包管理器-----yum配置详解一

一.yum简介    Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装.    yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级.安装.删

Linux -Yum 命令详解

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...]其中的[opti

Linux yum配置文件详解

说明:经过网上抄袭和自己的总结加实验,非常详细,可留作参考. yum的配置一般有两种方式: 一种是直接配置/etc目录下的yum.conf文件, 另外一种是在/etc/yum.repos.d目录下增加.repo文件. 一.yum的配置文件yum.conf详解  $ cat /etc/yum.conf [main] cachedir=/var/cache/yum #yum下载的RPM包的缓存目录 keepcache=0 #缓存是否保存,1保存,0不保存. debuglevel=2 #调试级别(0-

【转】linux yum命令详解

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...]其中的[opti