Linux应用程序基础及Yum仓库的建立
更新:HHH   时间:2023-1-7


一、Linux应用程序基础

1.Linux应用程序与命令的关系

(1).Linux的基本命令通常放置在系统中的”/bin”和”/sbin”子目录中,应用程序通常放置在”/usr/bin”和”/usr/sbin”目录中

(2).命令文件通常在Linux系统安装时就已经安装完成,应用程序需要管理员以软件包的形式进行选择安装

(3).命令的作用是完成对Linux系统本身的管理工作,应用程序则完成相对独立的任务

(4).命令只能以命令行的形式运行,应用程序运行方式比较多样

(5).命令一般只在字符操作界面中运行,应用程序可在图形界面中运行

 

2.系统应用程序与第三方应用程序的比较

(1).系统应用程序通常遵从Linux软件包管理格式,第三方应用程序可能使用其它方式进行安装

(2).系统应用程序安装一般简单和顺利,第三方应用程序安装过程会复杂,通常需要管理员手工完成配置

(3).系统应用程序可获得源代码,而商业版本的第三方应用程序只提供程序的可执行代码,一般不会提供源代码

 

3.Linux应用程序组成

(1).普通执行文件,保存在”/usr/bin”目录中

(2).服务器执行程序文件和管理程序文件,保存在”/usr/sbin”目录中

(3).应用程序配置文件,保存在”/etc”目录下

(4).应用程序文档文件,保存在”/usr/share/doc/”目录下

(5).应用程序手册页文件,保存在”/usr/share/man/”目录下

(6).日志文件,保存在“/var/log”目录下

 

 

二、RPM包管理

1.RPM包管理的基本概念:RPM(Redhat Package Manager的缩写)最早由Red Hat公司提出的软件包管理标准,现在成了Linux中公认的软件包管理标准

 

2.RPM包的文件名称:RPM包文件的名称拥有固定的格式,例如”bash-3.0-19.2.i386.rpm”,”bash”是软件名称,”3.0”是主版本号,”19.2”是次版本号,”i386”是运行的硬件平台,”rpm”是文件的扩展名,为RPM格式的软件包

 

3.rpm命令的格式:单独使用会显示rpm命令格式,”rpm”命令很复杂,使用不同的命令选项可实现的功能有:查询已安装的RPM软件包信息,查询RPM软件包安装文件的信息,安装RPM软件包,卸载软件包,升级软件包

 

4.使用rpm命令查询软件包:(rpm -q)

(1).rpm -qa:查询系统中安装的所在RPM包, 与”grep”命令一起使用用于查询RPM包名称中包含指定关键词字符串的软件包,例如”rpm –qa |grep –i x11 |head -3”

(2).rpm –q:查询软件包是否安装,名称需要准确的拼写

(3).rpm –qi:查询软件包详细信息,命令的结果中包括软件包的名称、版本信息、建立时间、安装时间、大小、遵从的许可协议、打包者、概括和详细的描述信息


(4)rpm –ql:查询已安装软件包中的文件列表,命令执行结果将显示该软件包中包括的所有文件的列表,与”grep”配合可过滤查询结果,只显示包括指定关键字的文件列表

(5)rpm –qf查询系统中文件所属的软件包

(6)rpm -qc:检查rpm软件包的配置文件

(7)rpm -qd:文档手册

(8)rpm –qpi:查询RPM安装包文件中的信息,(显示该RPM软件包文件的详细信息) 和 ” RPM包文件名”(以qp为选项时,必须以软件包的路径作为参数)

(9)rpm –qpl:(显示该RPM软件包中包含的文件列表)


 

5.使用rpm命令安装软件包

(1).rpm –i:安装RPM软件包


(2).rpm –U:更新

(3).rpm -F :查看某一文件夹目录属于哪个rpm安装包        

 

6.使用rpm命令卸载软件包:

(1).rpm –eRPM软件包的卸载,卸载前,应确认系统中不再需要该软件包中的任何文件


7.辅助选项

(1).--force :强制执行

(2).--nodeps:解决rpm依赖问题

(3).-h :友好显示

(4).-v :详细显示


8.维护数据库

(1).重建数据库

(2).导入验证公钥


 

 

三、应用程序编译

1.使用源代码编译安装的原因:

(1)Linux发行版本中软件不够丰富,

(2)应用程序的配置功能不能满足要求,

(3)通过编程可以添加某些特定的功能

 

2.编译应用程序前的准备工作

(1)确认系统中已经安装了编译环境:对任何应用程序进行源代码编译之前都需要确认当前系统中已安装了gcc编译器环境(若没有,使用图形界面方式进行安装)

(2)下载应用程序源代码安装包文件,或者从其它途径获得(我们以超级玛丽游戏为例进行演示,若在实验室,可到ftp上下载,我已将安装文件源码打包附带,其中包括两个文件)

(3)释放已下载的源代码软件包文件,使用”tar”命令将源代码压缩包解压,并将其释放到同名的子目录中(.tar.gz格式解压命令为:tar –zxvf ,tar.bz2格式解压命令为tar -jxvf)

(4)进入源代码目录,使用”cd”命令,使用户处于源代码所在的子目录(首先安装sdl目录中的rpm包,包含的是一些库文件;然后再进行源代码的安装)

 

3.编译前的配置,所有源代码软件在进行编译前都需要执行”configure”命令完成程序编译前的配置工作,”configure”命令需要进入源代码目录后执行,命令格式为”./configure --prefix=程序安装目录的绝对路径”,使用”--prefix”选项可以指定应用程序编译完成后的安装路径,如果不使用此参数,默认的安装路径为”/usr/local/bin

 

4.编译与安装

(1)程序编译过程,使用”configure”命令对源代码进行配置后,需要使用”make”命令进行程序的二进制编译

(2)程序安装过程,编译之后程序的安装命令为”make install”,将安装到”--prefix”选项设定的目录

(3)验证编译安装的程序,完成应用程序的编译安装后需对安装的应用程序进行验证

a)查看安装时建立的目录

b)使用”man”命令查看手册页内容

c)执行所安装的程序是否实现需要的功能

 

5.应用程序编译总结

(1)采用源代码编译方式具有更大的灵活性和可定制性

(2)因为需要对应用程序进行配置和编译,所以耗时更长

(3)安装复杂,卸载更复杂


6.YUM仓库的建立(断网情况下可以使用yum仓库安装软件包)

(1)将虚拟机网络连接设置为仅主机模式,这样虚拟机就不能上网了

(2)进入终端,输入vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入网卡

(3)将dhcp改为static,并设置ip,子网,网关,保存退出

(4)输入service network restart 开启服务

(5)连接cd-rom,镜像还是选择安装的那个镜像(前面文章“linux系统安装”中有介绍)

(6)输入mount /dev/sr0 /mnt 将镜像挂载到/mnt目录下

(7)输入cd /etc/yum.repos.d/

(8)将里面的文件备份在一个文件夹中

(9)输入vim abc.repo新建

  输入【abc】             (文件名)

     name=test           (描述性信息)

     baseurl=file:///mnt     (rpm包存放路径)

     enabled=1            (开启=1 关闭=0)

     gpgcheck=0          (关闭=0)

保存退出

(10)输入 yum list 加载rpm包

(11)输入yum install httpd安装httpd

(12)输入systemctl start httpd         开启服务

   输入systemctl stop firewalld.service  关闭防火墙

   输入setenforce 0               关闭增强性安全功能

(13)在网页中输入192.168.1.100看能否连接

连接成功,说明httpd安装成功

这样我们的YUM仓库就建立完成了







返回云计算教程...