今天给大家介绍的是Linux系统中的程序安装和创建私有YUM仓库
文章总览
1、Linux应用和层序基础
2、RPM软件包相关命令与实际操作
3、RPM安装、卸载、升级
4、源代码编译安装
5、创建私有yum仓库
·
1、Linux应用和层序基础
(1)、应用程序与系统命令的关系
文件位置
系统命令:一般在/bin和/sbin目录中。或为shell内部指示
应用程序:通常在/usr/local目录中
·
主要用途
系统命令:完成对系统的基本管理工作
应用程序:完成对对的其他辅助任务
·
适用环境
系统命令:一般只在字符操作界面中运行
应用程序:根据实际需要,有些程序可在图形界面中进行
·
运行格式
系统命令:一般包括命令字,命令字选项和命令参数
应用程序:通常没有固定的执行格式
应用程序的目录结构
普通执行程序文件 | /usr/bin |
---|---|
服务器执行程序文件和管理程序文件 | /usr/sbin |
应用程序配置文件 | /etc |
日志文件 | /var/log |
应用程序文档文件 | /usr/share/doc |
应用程序手册页文件 | /usr/share/man |
PRM管理包工具
RPM [1] 是Red-Hat Package Manager的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
优点:
1、建立统一的数据库文件
2、详细记录软件包安装、卸载等变化信息
3、自动分析软件包依赖关系
·
RPM软件包:
1.软件素材参考:http://www.rpm.org
2.一般命名格式:bash-4.1.2-15.el6_4.x86_64.rpm
?bash:软件名称
? 4.1.2:版本号
? 15.el6_4:发布次数
?x86_64:硬件平台
?.rpm:扩展名
常用的软件包封装类型
1、rpm软件包:扩展名为“.rpm”,二进制文件(命令rpm)
2、deb软件包:扩展名为“.deb”,debian,ubantu(命令dpkg)
3、源代码软件包:一般为“.tar.gz”、“.tar.bz2”等格式的压缩包,包含程序的原始代码(bz2的解压效率较高)
4、绿色免安装的软件包:在压缩包内提供已编译好的执行程序文件,解开压缩包后的文件即可直接使用(会有install.sh或setup文件)
RPM软件包相关命令
查询已安装的RPM软件信息
rpm -q【子选项】【软件名】
常用选项
-qa:所有软件包
-qi:软件包详细信息
-ql:软件包包含的哪些内容
-qf:软件包当中的文件多少
-qc:软件包当中的配置文件
·
查询未安装的RPM软件包文件
rpm -qp【子选项】RPM包文件
常用选项
-qpi:检查未安装软件包的详细信息
-qpl:检查未安装软件包中包含了哪些内容
-qpc:查询未安装软件包中的配置文件
-qpd:检查未安装软件包的文档手册
·
安装、升级、卸载RPM软件包
常用选项
-i:安装软件包
-u:更新软件包
-f:查看文件属于哪一个RPM文件安装包
-e:已卸载的RPM软件包
卸载指定的软件包:rpm-e+ 软件名
辅助选项
--force:强制换行
--nodeps:依赖关系
-h:友好显示
-v:详细信息
解除软件包依赖关系方法
1、安装有依赖关系的多个软件时
被依赖的软件包需要先安装
可同时指定多个rpm包文件进行安装
2、卸载有依赖关系的多个软件时
依赖其他程序的软件包需先卸载
可同时指定多个软件名进行卸载
3、忽略依赖关系
结合"--nodeps"选项,但可能导致软件异常
接下来我们来看一下rpm的具体操作
(1)、输入man rpm
就可以进去查看rpm的详细信息
(2)、如果想要知道我们先在的系统安装了哪些rpm包,可以输入rpm -qa查看
(3)、如果要统计一共有多少rpm包的话输入rpm -qa | wc -l,可以查看了
(4)、除此之外我们的RPM包还是比较多的,那么我们目前使用的rpm软件包在哪里呢?这么多的软件包其实是放在yum仓库里,输入yum list,就可以查看yum仓库里的软件包了,输入了之后会自动加载远程的yum服务器里所有的软件包。
(5)、yum源里的软件包都是实时更新的,我们安装的都是最新的,官方会自动维护,官方的路劲在/etc里,我们可以cd /etc里,输入ls查看详细信息,往下翻可以找到以yum开头的三个文件,里面可以看到yum.repos.d就是yum源的配置地点。
(6)、我们接下来进入到源配置文件,输入cd yum.repos.d/
,再输入ls查看详细信息,这时候看到这里都是以CentOS开头的配置文件。
(7)、如果我们此时用yum install httpd安装该服务,其中我们会发现在安装过程中自动帮我们处理了文件依赖关系,安装了多个在安装httpd服务之前需要安装的其它软件包,安装过程中显示如下图:
·
因为这是一个网站服务,所以我们接下来需要开启此项服务,
输入:systemctl start httpd.service开启网站服务
输入:systemtcl stop firewalld关闭防火墙
输入:setenforce 0关闭增强安全功能
·
此时我们安装都是在有网络连接的情况下,如果没有网络的情况下,我们可以使用镜像文件,但是无法实时更新,接下来用的方法就是如何在离线状态下使用RPM软件包服务,并且创立私有yum仓库。
1、首先我们把网络断开,注销当前用户,点击右下角的网络配置设置,更改为仅主机模式,这时就不可以联网了。
2、接下用管理员身份登录,配置静态ip,与Xshell的远程连接也会断开,右击桌面,打开终端
输入/vim /etc/sysconfig/network-scripts/ifcfg-enss进入网卡配置,此时BOOTPROTO为dhcp自动获取ip地址,更改为static。
3、按大G到末行,再按$符号到末尾,保证ONBOOT状态为yes,按o进入下一行插入
4、输入IPADD=192.168.100.100设置静态ip,再按o进入下一行插入
5、输入NETMASK=255.255.255.0配置MAC地址,再按o将进入下一行插入
6、输入GATEWAY=192.168.100.1配置网关,按Esc退出到命令模式,按":"到末行模式
7、输入"wq"保存并退出
8、输入service network restart重启服务(配置文件修改后需要重启)
9、输入ifconfig,查看ip地址是否生效
这时候我们访问外部网络时时不可以访问的,打开火狐浏览器,输入www.baidu.om 显示找不到服务器
输入yum list 加载远程仓库,显示的时之前的缓存,输入yum clean all,再加载时会出现报错
·
这个时候就需要使用离线安装,依赖于镜像文件,之后我们还要创建一个yum仓库,要使用镜像文件的话,首先就需要挂载
1、再虚拟机右下角点击虚拟光驱选择设置,在使用ISO镜像文件中有我们之前安装系统使用的镜像文件,我们此处就可以使用这个镜像文件,选择状态为已连接,点击确定。
2、输入df -h查看光盘有没有被挂载,也可以查看相对应的挂载点(目录)
3、输入cd /dev,进入设备文件,输入ls 查看到其中有个目录为cdrom
4、这时候就可以挂载了,因为使用的是光驱里的文件,所以我们要把光驱挂载到自己的目录中去(这里举例为mnt),如果要使用光驱里的东西,只需要打开目录就可以了。
5、输入:mount /dev/cdrom/mut此时光驱挂载到mut目录下去了,输入df -h 查看是否挂载成功
6、输入ls /mnt 查看目录的详细信息,可以看到其中有我们安装所需要的Package包。
接下来我们把vim的服务卸载,输入rpm -qa | grep -l vim 安装了那几个vim包,输入rpm -evh | grepv -i vim 删除vim包
此时vim失效了,但是vim还可以使用
我们重新安装vim输入rpm -ivh vim.enhanced-7.4.160-2.el7.x86_64,就可以正常使用了
假如现在卸载vim-common会出现报错,输入rpm -e vim-common-7.4.160-2.el7.x86_64,敲击回车出现错误
如果要解除这种依赖关系,我们要创建一个yum仓库,接下来就是考虑如何创建yum仓库
现在所有的rpm包都放在/mnt/Packages里面,把这个作为yum源
1、cd /etc/yum.repos.d/进入目录,ls查看详细信息,目录下的文件都是不可以使用的
2、创建一个文件夹叫bak将以CentOS的文件全部移动bak中,输入mkdir bak ,创建bak,再输入mv CentOS.* bak/ 将以CentOS开头全部移动bak中。
接下来就是创建yum私有仓库的步骤
创建一个yum仓库的配置文件,以“.repo”为结尾,举例创建为“vim abc.repo” 回车键写入,写入以下信息
[abc]文件名
name=test描述性信息
baseurl=file:// /mnt
enabled=1开启 0关闭
gpgcheck=0(软件包密钥0不需要验证)
:wq保存退出
再使用yum list,此时就可以看到文件了
原文地址:https://blog.51cto.com/14307755/2430971