linux的rpm源码安装包,Linux下系统软件包管理(rpm、yum、源码包安装)

1. rpm工具

rpm全称为RedHat Package Manager,红帽软件包管理工具,设计理念是开放的,不仅仅是在RedHat平台上,在SUSE上也是可以使用的。

rpm包名字构成由-和.分成了若干部分,如abrt-cli-2.0.8-15.el6.CentOS.i686.rpm,abrt-cli是包名,2.0.8-15是版本号,el6指的是redhat企业版6,centos指的是这是在centos上用的,i686指的是平台类型。有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。

安装一个包:rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm

-i    表示安装

-v    可视化

-h    显示安装进度

--force : 强制安装,即使覆盖属于其他包的文件也要安装

--nodeps : 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包

[root@localhost mnt]# rpm -ivh tree-1.5.3-2.el6.i686.rpm

Preparing...                ########################################### [100%]

1:tree                  ########################################### [100%]

升级:rpm -Uvh filename.rpm

-U    就是升级的意思

rpm的卸载:

rpm -e filename  //这里的filename是通过rpm的查询功能所查询到的

rpm -qa |grep libjpeg-turbo-devel

rpm -e libjpeg-turbo-devel

12345 [root@localhost ~]# rpm -q tree

tree-1.5.3-2.el6.i686

[root@localhost ~]# rpm -e tree

[root@localhost ~]# echo $?

0

echo $?    查看上一条命令执行状态,返回0表示执行成功,非0为不成功;

查询一个包是否安装

rpm -q  包名  (不带有平台信息以及后缀名 )

[root@localhost ~]# rpm -q tree

package tree is not installed

查询当前系统所有安装过的rpm包

rpm -qa

查询rpm包的相关信息 :

rpm -qi 包名

列出一个rpm所安装的文件:

rpm -ql 包名

[root@localhost ~]# rpm -ql vim-enhanced

/etc/profile.d/vim.csh

/etc/profile.d/vim.sh

/usr/bin/ex

/usr/bin/rvim

/usr/bin/vim

/usr/bin/vimdiff

/usr/bin/vimtutor

/usr/share/man/man1/rvim.1.gz

/usr/share/man/man1/vimdiff.1.gz

/usr/share/man/man1/vimtutor.1.gz

查看某个文件属于哪个rpm包:

rpm -qf filename

[root@localhost ~]# rpm -qf /etc/passwd

setup-2.8.14-20.el6_4.1.noarch

2. yum工具

yum list 列出所有可用rpm包资源

搜索某个包: yum search  ‘keywords’或    yum list |grep ‘keywords’

yum 安装包: yum install -y  filename(包名)

yum 卸载包: yum remove  -y filename (包名)

yum 升级包: yum update -y filename(包名)

yum 查找包:yum provides  "*/vim"  //这里用通配,可以查找一个命令由哪个包安装来的

yum grouplist  列出所有的套件

yum groupinstall    安装套件

yum groupremove  卸载套件

创建本地的yum源

mount /dev/cdrom /mnt

cp -r /etc/yum.repos.d  /etc/yum.repos.d.bak    //先备份一下

rm -f /etc/yum.repos.d/*

vim /etc/yum.repos.d/dvd.repo  #加入如下内容:

[dvd]

name=install dvd

baseurl=file:///mnt

enabled=1

gpgcheck=0

yum list  //查看是否有dvd的标志出现

安装yum扩展源epel    可以安装nginx、zabbix

rpm -ivh www.lishiming.net/data/attachmen ... e-6-8_32.noarch.rpm

(其他地址http://www.aminglinux.com/bbs/thread-6721-1-1.html)

12 [root@localhost ~]# rpm -ivh http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm

Retrieving http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpmwarning: /var/tmp/rpm-tmp.YcVQW6: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEYPreparing...                ########################################### [100%]  1:epel-release          ########################################### [100%]

安装完成之后yum list 右侧可以列出很多epel的包,供以后使用;

使用yum下载rpm包,而不安装,方法1:

yum有一个plugin(插件)叫做yum-downloadonly,可以实现让用户只下载软件包的功能;

首先需要安装插件:yum install -y yum-plugin-downloadonly

安装完成后:yum install 包名 -y --downloadonly

#这样就已经下载,centos6默认在 /var/cache/yum/i386/6/base/packages 我这里是32位的显示为i386目录;

yum install 包名 -y --downloadonly --downloaddir=/usr/local/src  #指定一个下载目录,如果是已经安装过的rpm包这样不成功,需要使用reinstall: yum reinstall  包名  -y --downloadonly --downloaddir=/usr/local/src

reinstall    重新安装;

示例:

[root@localhost yum]# yum install -y yum-plugin-downloadonly

[root@localhost packages]# pwd

/var/cache/yum/i386/6/base/packages

[root@localhost packages]# ls -l

-rw-r--r--. 1 root root 36464 Jul  3  2011 tree-1.5.3-2.el6.i686.rpm

使用yum下载rpm包,而不安装,方法2:

通过一个专门的包下载工具--yumdownloader。 这个工具是yum工具包(包含了用来进行yum包管理的帮助工具套件)的子集。

使用命令安装:yum install -y yum-utlis

安装完成后,下载rpm包,使用命令:yumdownloader 包名

下载的包保存到当前的目录,你需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。

设置yum保留下载的rpm包

yum 默认情况下,升级或者安装后,会删除下载的rpm包。

修改 /etc/yum.conf 配置文件保留下载的包;

[main]

cachedir=/home/soft/yumcache

keepcache=1

debuglevel=2

cachedir 存放下载包的地址,可以修改为自己放置的地址;

keepcacahe设置为1,表示保存已经下载的rpm包;

3. 源码包安装

源码包是开源的可自行更改的程序包,大多用C语言开发,不能直接使用,需要编译成二进制的可执行文件;

编译源码包的必须有gcc支持,如果没有需要安装 yum install -y gcc

通常情况编译三步曲: ./configure 配置各种编译参数; make 根据指定的编译参数进行编译;make install 安装到指定目录

实例:

1、下载源码包#cd /usr/local/src/ #约定目录;

首先安装wget,安装命令:yum install -y wget

#wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.2.29.tar.gz

2、解压tar zxvf httpd-2.2.29.tar.gz  //查看README或者INSTALL说明文件

3、指定编译参数 ./configure --help  可以查看帮助

#./configure --prefix=/usr/local/apache2    指定一个路径;

执行时提示checking for gcc... no    需要安装gcc编译器;安装命令#yum install -y gcc

4、#echo $? 验证是否成功

5、#make    编译成二进制的文件;

6、#make install    安装编译后的文件;

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值