今天给大家介绍的是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,此时就可以看到文件了