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