linux软件包安装及自制yum源

程序的代码是用编程语言写的给人看的(源代码),计算机只能识别二进制,因此程序要先编译才能运行。系统安装盘内置的安装包提供的是最稳定运行的软件版本,都是编译好的rpm包,可以直接安装。如果是自己下载的新版软件,那么需要转成rpm包,或者执行源码编译安装。

rpm 和 yum 安装命令

  • rpm -ivh zsh-5.0.2-25.el7.x86_64.rpm
软件名 -版本号-发行版本enterprise linux 7.-架构.rpm

如果软件名对应唯一软件包,写完软件名,tab可以自动补全安装包全名。安装有.rpm后缀。

  • 安装 rpm -ivh 软件包全名.后缀 --force(覆盖安装,用于更新软件包)(输入软件名后tab可自动补全)
  • rpm -q 软件名 查看是否安装,直接写软件名就行。查询出来的结果,就是软件安装后在系统的名字(注意,无rpm后缀)。所以卸载的时候,要提供这个名字。
  • rpm -qa | grep 软件名 查看系统安装的所有包,并过滤
  • 其他 rpm -qi 软件包全名 查看详细信息
  • rpm -ql 软件包全名 查询查询软件包撞到了哪些目录
  • rpm -e 软件包全名 --nodeps(忽略依赖性卸载) 卸载软件包
linux软件包安装及自制yum源
rpm安装时需要手动安装依赖包,这样很不方便,一般我们用yum安装,yum可以从网络获取安装包,并自动解决依赖性关系。
  • yum install 软件名(或者软件名*,把所有以该名字开头的都装上)自动监测并安装依赖包
  • yum -y(不询问的方式)remove 只删除本身,不删依赖包
  • yum list/grouplist 列出有哪些软件包和软件包组
  • yum –y groupinstall 组件名 安装软件包组; yum –y groupremove组件名卸载软件包组
  • 使用yum查找软件包:yum search 软件包名
  • yum安装时,每次都要检索源,速度慢
    yum makecache -y 建缓存,避免检索浪费时间(缓存重启会消失,不过服务器一般不关机。。。)
    (注意:yum同一时间只能运行于一个终端,也就是说一个命令必须等另一个命令停止才行)
  • yum的问题:自动从网络源检测并更新软件;公司一定要关闭自动更新功能(公司服务器必须稳定运行,因此所有机器的os版本和软件版本必须一致,所以一定要自己做yum源)。
  • 关闭yum自动更新功能

自制yum源

  • 首先新建自己的软件包仓库,这里在根目录新建 /rpms
  • 新建目录/rpms_cache 更改yum软件包的缓存路径为自己新建的目录
linux软件包安装及自制yum源
linux软件包安装及自制yum源
  • 用yum安装完软件后,我们进入/rpms_cache下查看,已经自动新建了如下目录
linux软件包安装及自制yum源
linux软件包安装及自制yum源
  • 进入base目录下的packages目录,找到了刚刚安装时下载的软件包
linux软件包安装及自制yum源
同理,在extras下和updates下也发现了packages目录(暂时为空)
  • 将这些软件包移动到自己的软件仓库下 /rpms
linux软件包安装及自制yum源
用这样的办法,安装完需要的软件,并将软件包全部移动至自己的软件仓库
  • 只是把rpm包放在一个文件夹不是一个源,因为yum解决依赖性关系并不是自动的,而是 人为的把依赖性关系写到一个文件,yum读取该文件。所以我们要为这些软件创建依赖性关系, createrepo /软件仓库路径 命令,创建依赖性关系文件(如果时最小化安装,需要先安装createrepo-0.9.9-26.el7.noarch.rpm才能使用这个命令)
linux软件包安装及自制yum源
  • 经过以上几部,自制yum源就做好了,接下来修改yum配置文件,让yum每次安装时都从自己的源获取安装包。
linux软件包安装及自制yum源
linux软件包安装及自制yum源
  • 重建yum缓存
linux软件包安装及自制yum源