1. 源代码
绝大多数开源软件都是直接以源代码形式发布,源代码一般会被打包成tar.gz的归档压缩文件,需要编译成二进制之后才能运行使用。
开源软件的基本编译流程:
(1) ./configure----检查编译环境、相关库文件以及配置参数并生成makefile
(2) .make----对源代码进行编译,生成可执行文件
(3) make install----将生成的可执行文件安装到当前的计算机
源代码形式的软件使用起来较为麻烦,但是兼容性及可控性较好。开源软件一般都会大量使用其他开源软件的功能,所以开源软件会有大量的依赖关系(使用某软件需要先安装其他软件)
因此,源代码形式的优点是:适于所有操作系统,可控性强,缺点是操作复杂、编译时间长、极易出现错误。为了方便使用,出现了RPM(Redhat Package Manager)。
2. RPM
RPM通过将源代码基于特定的平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理。
RPM的设计目标是:使用简单、使用单一软件包格式文件发布、可升级、追踪软件的依赖关系、可查询基本信息、支持软件验证功能、支持多平台(不同平台,编译不用RPM包)。
RPM软件包的常用命名规范为:linuxcast-1.2.0-30.el6.i686.rpm,其中linuxcast为软件名,1.20.0-30为版本号,el6为系统平台,i686为32位。
RPM基础命令:
安装软件:rpm -i software.rpm 卸载软件:rpm -e software(只跟软件名)
升级形式安装:rpm -U software-new.rpm
rpm支持通过http、ftp协议安装文件:rpm -ivh http://www.linux.net/software.rpm,其中-v表示显示详细信息,-h显示进度条
RPM查询:
列出所有安装的rpm软件:rpm -qa
查询指定已安装rpm软件的信息:rpm -qi packagename
查询指定已安装rpm软件包含的文件:rpm -ql packagename
查询目标文件属于哪个rpm包:rpm -qf filename
查询rpm文件的信息:rpm -qip software.rpm
查询rpm文件包含的文件:rpm -qlp software.rpm
RPM验证:软件在传播的过程中可能会被恶意的修改,所以安全起见,现代系统都加入了对软件的验证功能,一般使用非对称加密算法,所以需要一个密钥。
导入密钥的方法:rpm --import RPM-GPG-KEY-CentOS -6
验证rom文件:rpm -k software.rpm
验证已安装的软件:rpm -v software
3. 软件管理:YUM
YUM(Yellowdog Updater Modified)是一个RPM的前端程序,主要目的是设计用来自动解决RPM的依赖关系问题。
YUM的特点是:自动解决依赖关系、可对RPM进行分组,并基于组进行安装操作、引入仓库概念并支持多个仓库、配置简单等
YUM引入仓库(repo)的概念,仓库用来存放所有现有的rpm软件包,当使用yum安装一个rpm软件的时候,如果存在依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可通过http、ftp或NFS形成使用集中的,统一的网络仓库。仓库的配置文件保存在/etc/yum.repos.d/目录下。格式如下:
[linux-rpm-package]
name = this is xx rpm software repo
baseurl = http://www.linux.com/yum/centos
enabled = 1
gpgcheck = 1
yum配置文件必须以.repo结尾,一个配置文件可以保存多个仓库的配置信息。
YUM仓库:
yum管理软件常见命令:
yum install software-name 表示安装指定文件
yum remove software-name 表示卸载指定文件
yum update software-name 表示升级指定文件
YUM查询:
yum search keyword 表示按照指定关键字进行搜索
yum list (all|installed|updates) 表示列出全部、已安装的、最近的、软件更新
yum info packagename 表示显示指定软件信息
yum whatprovides filename 表示查询哪个rpm软件包含目标文件
创建YUM仓库:
手工创建yum仓库:
(1) 将所有的rpm包拷贝到一个文件夹(一般在安装光盘中的package文件中)
(2) 通过rpm命令手工安装createrepo软件
(3) 运行命令,出现repodata文件夹:createrepo -v /rpm-directory
(4) 如果有分组信息,则运行命令的时候用-g参数指定分组文件
createrepo -g /tmp/ *comps.xml /rpm-directory
CentOS/RHEL的分组信息保存在光盘repodata/目录下,文件名以.xml结尾的xml文件
(5) 创建好之后,编写yum配置文件,本机可以通过file方式直接使用,如需作为对外的YUM仓库服务器,可通过HTTP、FTP或NFS协议获取。
在/etc/yum.repos.d目录下,创建.repo配置文件
[linux-base]
name = linux yum repo
baseurl = file:///linux-yum/
enabled = 1
gpgcheck = 1
yum为了提高速度会缓存很多信息,这些缓存有时会造成一些故障,可通过: yum clean all消除缓存,每次安装或查询类命令会重建yum缓存。
Linux学习笔记(十二)软件安装
最新推荐文章于 2023-10-16 11:35:30 发布