RPM,YUM,源码包安装

来源:互联网 发布:淘宝用户服务协议 编辑:程序博客网 时间:2024/06/06 00:42

7.1-7.9 rpm,yum,yum搭载本地仓, yum更换国内源, yum下载rpm包,源码包安装

和windows不同,Linux下安装软件的方式有三种,分别是rpm,yum以及源码包安装:

  • rpm是redhat package manager,红帽公司的产品。但是使用上不是很方便。
  • yum是yellowdog updater modified,起初是杜克大学物理系的学生为了解决rpm使用太麻烦的问题而开发的。rpm不能自动安装包所需要的依赖,而yum可以自动的安装包所需要的依赖,所以可以大大简化安装的过程。但是需要注意的是,yum工作时依然基于rpm。
  • 源码包安装。

rpm

安装升级
rpm安装时可选的选项有:
-i 表示安装
-v 表示可视化
-h表示显示安装进度
-U 升级

–force 表示强制安装,即使覆盖属于其他包的文件也要安装
–nodeps 表示当要安装的rpm包依赖于其他包时,即使其他包没有安装也要安装这个包

使用范例:

cd /mnt/Packagesrpm -ivh libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm  //安装libjpegrpm -Uvh filename  //升级filename

卸载
卸载rpm包的命令为:

rpm -e filename  //卸载filename包

安装时,filename需要包含版本号等参数,而卸载时只需要使用包名即可。

查询一个包是否已安装

rpm -q filename //查询filename是否已安装rpm -qa  //查看当前系统已安装的所有rpm包rpm -qi filename  //查看一个已安装的rpm包的信息,i指的是informationrpm -ql filename  //列出一个rpm包的安装文件rpm -qf /usr/lib64/libjpeg.so  //列出某个文件属于那个安装包,用-qf 加文件绝对路径

yum

yum的优势是比rpm更方便,他可以自动安装所需要的包。

yum list //列出所有可用的包,在本机已经安装的前面会显示@ ,可以升级的包会显示updates

yum install -y packagename //对包进行安装。-y可以避免安装过程中多次输入yes

yum remove packagename // 对包进行卸载。卸载命令也可以添加-y减少交互,但是为了避免卸载不该卸载的依赖,这里还是应该避免用-y。

yum update //不添加任何参数时,对系统内所有可更新的包进行更新
yum update -y packagename //对指定的的包进行更新

使用本地光盘制作yum源
有时候linux不能联网,这时我们可以用linux光盘制作yum源。处理步骤如下:

mount /dev/cdrom /mnt   //把光盘挂载在mnt目录mv /etc/yum.repos.d /etc/yum.repos.d_bak  //删除/etc/yum.repos.d文件夹并备份mkdir /etc/yum.repos.d  //创建目录/etc/yum.repos.dvim /etc/yum.repos.d/dvd.repo  //用vim创建并编辑dvd.repo文件此文件中写入以下内容:[dvd]name=install dvdbaseurl=file:///mntenabled=1gpgcheck=0  //:wq 保存并退出yum makecache  //刷新repos生成缓存 yum install -y ftp //测试是否可以正常的使用安装

恢复到正常的源:

rm -rf /etc/yum.repos.d/dvd.repo  //删除dvd.repo文件mv /etc/yum.repos.d_bak /etc/yum.repos.d  //还原/etc/yum.repos.d_bak文件yum list //更换源之后重新建立缓存,这一步很重要

利用yum下载rpm包而不安装
有时候我们需要下载rpm包而不安装,仅仅只是复制给其他机器用。操作方式是:

如果本机已经安装此包:
yum reinstall -y packagename --downloadonly

如果本机没有安装此包:
yum install -y packagename --downloadonly

但是上述方法下载后的默认保存路径是 /var/cache/yum/x86_64/xxx/packages xxx指的是base,updates,extras等。

通过以下方法可以指定下载的保存路径,一般我们保存在/usr/local/src
yum install -y packagename --downloadonly --downloaddir=/usr/local/src

源码包安装

Linux下使用源码包安装是最常见的,在日常工作中大部分软件都是通过源码包安装。安装源码包,需要我们把这些源码编译成可执行的二进制文件。源码包编译需要使用liux的编译器,可以通过yum install -y gcc进行安装。

源码包的安装分为三步:
1. ./configure 这一步可以对功能进行定制,也可以检测编译所需要的库是否都已安装,一旦缺少某个库就不能进行编译。只有检测通过后才能生成Makefile文件。
2. make 根据Makefile文件中预设的参数进行编译,这一步已经是gcc在工作。
3. make install 这一步是安装,用于创建相关软件的存放目录和配置文件。

以下是示例:

yum install -y gcc  //安装编译器gccyum install -y wget  //安装下载工具wgetcd /usr/local/src/   //转到此目录,稍后源码即直接下载在此目录wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz  //下载源码tar -xzf httpd-2.2.34.tar.gz  //解压缩cd httpd-2.2.34./configure --prefix=/usr/local/apache2  //./configure 并设置安装路径echo $?   //如果返回值为0,则说明上一步成功make   //用上一步生成的Makefile文件进行编译echo $?  //检查返回值make install   //安装echo $?  //检查返回值

yum update与yum upgrade的区别:
update只升级需要升级的包,不会删除过期的包。而upgrade在升级的同时会删除过期的包,从而带来一定的风险,因此一般用update而少用upgrade。