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包依赖其他包时,即使其他包没有安装,也要安装这个包 

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

[[email protected] ~]# rpm -q tree
tree-1.5.3-2.el6.i686
[[email protected] ~]# rpm -e tree
[[email protected] ~]# echo $?
0

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

查询一个包是否安装

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

[[email protected] ~]# rpm -q tree
package tree is not installed

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

查询rpm包的相关信息 : 
rpm -qi 包名

列出一个rpm所安装的文件: 
rpm -ql 包名

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

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

[[email protected] ~]# 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    重新安装;

示例:

[[email protected] yum]# yum install -y yum-plugin-downloadonly
[[email protected] packages]# pwd
/var/cache/yum/i386/6/base/packages
[[email protected] 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    安装编译后的文件;

时间: 2024-09-29 22:08:13

linux下系统软件包管理(rpm、yum、源码包安装)的相关文章

Linux软件包管理{rpm|yum|源码包}2015082901

CentOS软件包管理 Linux程序安装有三种方式: 1.  二进制包安装 a.RPM b.YUM 2.  源码包安装 (1)二进制包管理: RPM CentOS上的二进制包为rpm格式,并且rpm软件包管理程序也叫做rpm(RPM is Package Manager) RPM包管理方式的优点是:安装简单方便,因为软件已经编译完成打包完毕,安装只是个验证环境和解压的过程.此外通过RPM方式安装的软件,RPM工具都会记录软件的安装信息至数据库中(/var/lib/rpm),这样方便了软件日后的

RedHat系列软件管理(第二版) --源码包安装

RedHat系列软件管理 --源码包安装 源码包特点: 拥有广泛的平台支持性,可以装在所有的类UNIX操作系统上,不用考虑CPU架构. 灵活性,可以在安装过程中指定特有的选项. 定制度非常高,可以自己去修改源代码.像大企业对性能,应用,配置要求很高的话,推荐使用源代码包! *安装过程非常透明,有利于学习. 1.tar -zxvf proftpd-1.3.5.tar.gz  #解压解包 2.cd proftpd-1.3.5 #进入目录 3../configure #配置,执行configure可执

二十二、yum更换国内源、yum下载rpm包、yum源码包安装

一.yum更换国内源(更换yum仓库源) 1. # cd /etc/yum.repos.d/          进入到这个目录里边 2. # rm -f dvd.repo                    删除之前创建的这个文件 # cp ../yum.repos.d.bak/* .       复制之前备份的文件回来 # rm -f CentOS-Base.repo        将最核心的这个文件删除,可以ls查看到 3.# wget http://mirrors.163.com/.he

rpm/yum/源码包编译等操作说明

rpm/yum/编译 RPM篇: RPM是RedHat Package Manager(RedHat软件包管理工具)其作用相当于Windows里面的"添加/删除程序. RPM包的一般格式为: name-version-arch.rpm name-version-arch.src.rpm   name:软件包名称. version:带有主.次和修订的软件包版本. arch:硬件平台.硬件平台包括了:i386.i486.i586.i686.x86_64.ppc.sparc.alpha src.rpm

linux系统程序安装(三)源码包安装程序

源码包安装是日常使用过程中最经常的安装方式,比如nagios套件.apche等重要软件都是源码包方式安装,源码包编译安装技术是运维技术中比较重要的部分. 一.源码包安装位置 运维时,最好把要跑的业务包放到/usr/local/src下,方便其他管理员管理代码. 转载一篇博客中的解析:(转载至https://itony.me/769.html) 二.源码安装方法 源码安装分为三个步骤:(1)./configure 定制程序的某些参数.检测系统是否具备程序运行的某些库.配置完成后,会生成mskefi

linux CentOS7 中安装包管理:rpm 、yum及源码包安装使用

一. 安装软件包的三种方法 yum ---python rpm工具 yum工具 源码包 二. rpm包介绍 设置光驱并挂载: [[email protected] ~]# mount /dev/cdrom /mntmount: /dev/sr0 写保护,将以只读方式挂载 [[email protected] ~]# ls /mntEULA    isolinux  repodata                      TRANS.TBL GPL     LiveOS    RPM-GPG-

【one day one linux】linux下的软件包管理工具

Linux 下的软件包管理工具 linux下的软件安装可以通过两种方式,一种是直接使用自带的软件包管理工具安装,另外一种通过编译源码安装. 1.软件包的种类 Red Hat和Fedora:redhat最早发行的个人版本的Linux,自从Red Hat 9.0版本发布后,RedHat 公司就不再开发桌面版的 Linux发行套件,Red Hat Linux停止了开发,而将全部力量集中在服务器版的开发上,也就是 Red Hat Enterprise Linux 版.2004年4月30日,Red Hat

7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装

7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 扩展 1. 配置yum源优先级 http://ask.apelearn.com/question/7168 2. 把源码包打包成rpm包 http://www.linuxidc.com/Linux/2012-09/70096.htm # 7.6  yum更换国内源 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170812/154757717.png?imagesl

rpm工具使用、yum工具使用、源码包安装、yum更换国内源、使用系统盘搭建本地仓库源

Linux安装软件包的三种方法 rpm工具:预先在Linux机器上编译并打包安装的文件,安装迅速.(缺点:安装程序包时,有可能因为依赖另外一个程序包而无法安装)yum工具:可以使用工具安装时,同时将依赖的另外的程序包同时安装好:(CentOS中免费,Red Hat里需要付费)源码包:一般源码包都是通过C语言开发出来的,Linux机器必须安装gcc才能编译: 检测命令 echo $? 检查上一条命令是否错误 0为正确 1为错误 RPM工具 rpm包格式:包名.版本号.发布版本号.平台举例:libj