linux中软件的安装 linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装;另外一种直接获取rpm软件包进行安装。 不管是经过哪一种途径安装的软件都具备如下4个特色: 1. 都具备配置文件,经过设置配置文件来改变程序启动时的运行特征; 2. 都具备二进制的程序主体; 3. 都自带库文件,共程序主体进行调用; 4. 都自带帮助文件,对程序的使用方法进行说明。 软件的安装路径: 除了自行下载源码编译安装的软件能够自定义安装路径以外,rpm包的安装都是按照软件自身预设的安装路径进行安装。主要有如下几类: 1. / :系统根目录,在此安装的文件一般是os在运行时须要调用到得程序; 2. /usr :此目录下的通常状况下是提供基本服务的软件。 3. /usr/local :此目录下通常状况下是用户自行安装的第三方软件。 系统相关: i.配置文件路径:/etc ii.二进制文件路径:/bin、/sbin iii:库文件路径:/lib 系统提供功能服务相关: i:配置文件路径:/etc ii:二进制文件路径:/usr/bin、/usr/sbin iii:库文件:/usr/lib 第三方软件: i:配置文件路径/usr/local/etc、/usr/local/APP/etc ii:二进制文件路径:/usr/local/bin、/usr/local/sbin iii:库文件:/usr/local/lib 说明文件主要都存放在:/usr/share/man和/usr/local/share/man 下面就详细说一说到底如何在linux上安装软件: 二进制软件包的安装 [root@server155 axel-2.4]#./configure The strip option is enabled. This should not be a problem usually, but on some systems it breaks stuff. Configuration done: Internationalization enabled. Debugging disabled. Binary stripping enabled [root@server155 axel-2.4]# make [root@server155 axel-2.4]# make install 总共3个命令即完成二进制程序的安装。 使用RPM对软件包进行安装: rpm 是redhat package manger的缩写,是由redhat公司提供的软件包管理器。 经常使用的功能: 查询 rpm –q -qa 查询全部本机安装过的包 -q PACKAGENAME 查询已安装软件包的版本 eg :rpm –qa #显示本机装过的软件包 rpm –qa | grep “xxx” 查询xxx名的软件包 -ql PACKAGENAME 列出此安装包生成了那些文件 -qc PACKAGENAME 列出此安装包生成了哪些配置文件 -qd PACKAGENAME 列出此安装包生成了那些文档 -qf FILENAME 查看文件是由那些安装包产生的 -qi PACKAGENAME 查看软件包信息 安装 rpm –ivh PACKAGENAME -i 安装对应软件包 -vh 显示安装读条 --nodeps 忽略依赖关系安装 卸载 rpm -e PACKAGENAME 卸载软件包 --nodeps 忽略依赖关系卸载 升级 rpm -Uvh PACKAGENAME 安装过的直接升级;不然直接安装新版本 -Fvh PACKAGENAME 只对安装过的软件升级 校验 rpm –V PACKAGENAME 校验已经安装过的文件是否被人修改过 注意:rpm的安装查询是基于rpm生成的数据库,数据库的重建通常使用rpm –rebuilddb 和rpm –initdb,前者直接重建后者则是在未检测到当前数据库是才建立;rpm在安装时会产生日志文件,/root/install.log文件中记载了安装记录。 使用yum软件升级器进行安装: yum是Yellowdog Updater Modified 的缩写,它是一种基于自身软件库的安装。 它能够经过查询软件库中的连接ftp:// http:// file:///在远程服务器或者指定的本地文件库中获取要安装的软件包。可见软甲库的配置在yum的使用中是很是重要的一环。 yum库文件的配置: 经过/etc/yum.conf和/etc/yum.repos.d目录下的、且已.repo结尾的文件进行对yum软件库的设置。 配置文件的具体格式: [仓库名] name=字符串 #起标示做用 baseurl= {ftp://|http://|file:///}软件库的连接 gpgcheck={0|1} #下载到软件包以后是否进行校验 eg: [base] name=Instructor Server Repository baseurl=ftp://instructor.example.com/pub/Server gpgcheck=0 yum的经常使用功能: 软件包安装 yum install PROGRAMNAME1 PROGRAMNAME2 PROGRAMNAME3… 软件包升级 yum update PROGRAMNAME 软件包安装状况查询 yum list {installed|available|PROGRAMNAME|all} installed 查询已经安装过的软件包 available 查询在软件库中可安装还没有安装的的软件包 PROGRAM 按具体名称查询安装过的软件包 all 显示有全部安装过的、未安装过的软件包 软件包卸载 yum remove PROGRAMNAME 清除软件列表缓存 yum clean all #查询信息从软件库同步到本地缓存,此命令用于清除 查看文件关联的软件包 yum provides FILENAME #FILENAME须要提供文件的绝对路径 eg: [root@server28 myscript]# yum provides /boot/grub Loaded plugins: rhnplugin This system is not registered with RHN. RHN support will be disabled. Importing additional filelist information grub-0.97-13.5.i386 : GRUB - the Grand Unified Boot Loader. Repo : base Matched from: Filename : /boot/grub grub-0.97-13.5.i386 : GRUB - the Grand Unified Boot Loader. Repo : installed Matched from: Other : Provides-match: /boot/grub 查看软件包信息: yum info PROGRAMNAME eg: [root@server28 myscript]# yum info grub Loaded plugins: rhnplugin This system is not registered with RHN. RHN support will be disabled. Installed Packages Name : grub Arch : i386 Version : 0.97 Release : 13.5 Size : 1.0 M Repo : installed Summary : GRUB - the Grand Unified Boot Loader. URL : http://www.gnu.org/software/grub/ License : GPL Description: GRUB (Grand Unified Boot Loader) is an experimental boot loader : capable of booting into most free operating systems - Linux, FreeBSD, : NetBSD, GNU Mach, and others as well as most commercial operating : systems. 使用本地软件包文件进行安装: yun localinstall 软件包的绝对路径 组件包安装: yum groupinstall GROUPPROGRAMNAME 组件包查询: yum grouplist GROUPPROGRAMNAME 组件包删除: yum groupremove GROUPPROGRAMNAME 组件包信息查询:yum groupinfo GROUPPROGRAMNAME