在使用linux系统的过程当中,软件包的安装是避免不了的,在linux下,软件安装程序的种类不少,安装方法也格式各样,论安装的温馨确定比不上windows,windows安装软件基本就是用鼠标点击下一步,若是学习linux的软件包安装,还像windows那样点击鼠标下一步安装,那就太对不起linux的shell了,linux的shell比linux的图形化界面要强大太多了。好了废话很少说了,安装软件包,首先要了解软件包的组成。前端
软件包由二进制文件、库文件、配置文件、帮助文件、头文件等这重要的部分组成。他们分别存放在系统的那些路径里面?node
二进制文件:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbinlinux
库文件:/lib, /usr/lib, /usr/local/libnginx
配置文件:/etcshell
帮助文件:/usr/share/man, /usr/local/share/man, {像README, INSTALL文件主 要存放在 /usr/share/doc}数据库
头文件:/usr/include/apache
一、软件包的安装方法之rpm安装的相关操做windows
rpm包的组成:name-version-release.arch.rpmcentos
name:表示包的名称,包括主包名和分包名缓存
version:表示包的版本信息
release:用于标识rpm包自己的发行号,可还包含适应的操做系统
arch:表示主机平台,noarch表示此包能安装到因此平台上面
gd-devel-2.0.35-11.el6.x86_64.rpm
gd是这个包的主包名,devel是这个包的分包名,
2.0.35是表示版本信息,2为主版本,0为此版本,35为修订号,
11.el6中的11是表示发行号,el6表示是RHEL6,
x86_64是表示包适合的平台,若是是noarch这表示与平台无关
option |
参数解释 |
Example |
|
安装 |
-i |
安装 |
|
-v|-vv|-vvv |
显示详细信息 |
||
-h |
以#显示安装进度一个#表示2%的进度 |
rpm -ivh zsh-4.3.10-5.el6.x86_64.rpm |
|
--nodeps |
忽略依赖关系 |
||
--test |
测试安装 |
||
--replacepkgs |
从新安装(安装的包已经安装了) |
||
升级 |
-U -Uvh |
升级+安装 |
|
-F -Fvh |
升级(此包已经安装了) |
||
--force |
有冲突强制升级 |
||
--nodeps |
忽略包依赖性关系 |
||
卸载 |
-e |
卸载 |
rpm -e 包名 |
--nodeps |
忽略包依赖性关系 |
||
查询 |
-q |--query |
rpm -q|--query 包名 |
|
-qa |
查看全部已经安装的包 |
rpm -qa 查看全部包名 rpm -qa | grep 包名查看某个包名 |
|
-qi |
查看包的摘要信息 |
||
-qf |
查看文件是有那个包安装的 |
rpm -qf /path/to/file |
|
-ql |
查看包安装生成的文件清单 |
||
-qc |
查看包安装生成的配置文件 |
||
-qd |
查看包安装生成的帮助文档 |
||
-q --scripts |
查看相关的脚本 |
rpm -q--script 包名 |
|
-qp[i|l|d|c] |
查看还没有安装包的详细信息 |
rpm -qpi /path/to/rpm_file |
|
校验 |
-V |
rpm -V 包名 |
|
数据库管理 |
--initdb |
新建 |
rpm --initdb |
--rebuilddb |
重建 |
rpm --rebuilddb |
二、软件包的安装方法之yum安装的相关操做
yum(Yellowdog Update Manager),yum是RPM的前端工具,是基于RPM的一个管理工具,他能自动的解决安装rpm包产生的依赖关系。
yum的配置文件 /etc/yum.conf
yum仓库的搭建是使用yum安装的前提,如何搭建一个好的yum仓库?
1)首先要在yum仓库的文件(/etc/yum.repos.d/)中创建一个以.repo结尾的文件;
2)[ ]方括号里面是写仓库的ID(repository_ID),名称能够随便取,但必须惟一;
3)name是yum的名称也能够随便取,也必须惟一;
4)baseurl指定你能够能经过本机、http或者ftp访问到那些rpm包的所在路径,该路径下必须有一个
repodata的文件,好比/media下面有那个repodata的文件,那你的baseurl指向/media/,若是
是/media/Server下面有那个repodata的文件,那你的baseurl指向 /media/Server/目录;
5)enabled默认为1,1表示启用此仓库,0表示不启,
6)gpgcheck默认也是为1,1表示检查公钥,当检查公钥时要指定gpgkey的地址,0表示不检查,不
检查公钥就不用指gpgkey的地址,若是是本地光盘搭建yum仓库,则能够设置gpgcheck=0
7)当gpgcheck=1时,gpgkey指向包含RPM-GPG-KEY-CentOS-6这个文件的路径
8)cost是表示花费代价,cost默认是2000,越小越先访问
用光盘搭建本地yum仓库的方法:
1 2 3 4 5 6 7 8 |
|
搭建外网的yum仓库(sohu的yum仓库)的方法
1 2 3 4 5 6 7 8 |
|
$releasever:表示你的系统的版本,变量会自动的检测你的版本
$basearch:表示CPU的架构,是x86_64,仍是i386系列
若是本身在网上下载了不少rpm软件包,也想搭建一个yum仓库,则使用createrepo
createrepo会生成一个repodata的软件信息仓库文件,而后搭建该目录的yum仓库
rpm包能够在下面两个网站去搜索
1 2 3 4 5 6 |
|
搭建完xen的yum后,能够用yum安装xen了
yum经常使用的命令:
操做命令 |
命令解释 |
|
列表 |
yum list <package_name> |
列出指定安装软件的清单 |
yum list installed |
列出全部已安装的软件包 |
|
yum list extras |
列出全部已安装但不在 Yum 仓库內的软件包 |
|
yum grouplist |
列出全部的组 |
|
yum grouplist "Group1" |
列出指定组的软件包列表 |
|
安装 |
yum -y install <package_name> |
安装指定的软件 |
yum -y groupinstall "Group1" "Group2" |
安装指定的组 |
|
yum -y localinstall <package_name> |
用yum安装下载到本地的rpm包 |
|
更新 |
yum check-update |
列出全部可更新的软件清单 |
yum update |
安装全部更新软件 |
|
yum update <package_name> |
更新指定的软件 |
|
信息 |
yum info |
显示全部包的信息 |
yum info <package_name> |
显示指定包的信息 |
|
yum groupinfo "Group1" "Group2" |
显示指定组的信息 |
|
清除 |
yum clean all |
清除全部yum所保存的信息 |
yum clean metadata |
只清空保存的数据信息 |
|
其它操做 |
yum repolist [all|enable|disable] |
查看yum仓库的个数,默认显示启用的 |
yum makecache |
手动生成缓存 |
|
yum search <package_name> |
查询rpm包 |
|
yum reinstall <package_name> |
从新安装一遍 |
|
yum provides <package_name> |
列出软件包提供哪些文件 |
用yum安装开发组
(RHEL6.x)
yum -y groupinstall "DesktopPlatform Development" "Development tools" "Server Platform Development"
(RHEL5.x)
yum -y groupinstall "Development tools " "Development Libraries"
三、软件包安装之tar源码包编译安装
tar编译安装的三部曲:
在安装三部曲以前,建议先看看解压以后目录里面的包含README, INSTALL文件,这里面的文件会告诉你详细安装步骤。
1)configure 检测编译环境
2)make 进行编译
3)make install 编译安装
http://mirror.bit.edu.cn/apache/httpd/httpd-2.2.25.tar.bz2
下载apache的tar源码包地址
1 2 3 4 5 6 7 8 9 10 11 |
|
用tar安装包后须要修改几个地方,使得tar安装包后能与系统识别的路径相关联
1)、改PATH环境变量
写到/etc/profile.d/*.sh------>source /etc/profile 里面写安装软件后bin的路径
1 2 |
|
或者直接 export PATH=/usr/local/apache/bin:$PATH
2)、添加库文件的搜索 /etc/ld.so.conf/ etc/ld.so.conf.d/*.conf
在/etc/ld.so.conf.d/*.conf 写 lib的路径 ldconfig -v
1 2 |
|
3)、帮助文档的使用 /etc/man.conf MANPATH
在/etc/man.config写 man手册的路径
1 |
|
而后就能够直接使用man httpd等命令了,不在配置文件中指定路径能够直接
man -M /usr/local/apache/man httpd
4)、关联系统所识别的头文件
把头文件的路径连接到系统头文件中, ln -sv 源 目的 /usr/include
1 |
|
作完这些操做后源码包安装的软件的使用方法能够和rpm安装的使用方法类似了
[root@Redhat6 ~]# apachectl start #开启服务
四、软件包安装之rpm源码包src安装
1)先用rpm安装rpm源码包生成spec文件,这个文件在用户家目录的rpmbuild目录下的SPECS里面
2)在用rpmbuild编译spec文件生成rpm文件
3)而后用rpm或者yum安装生成的rpm包
下载nginx的rpm源码包,经过此包来安装nginx,所需包的下载地址
http://mirrors.sohu.com/fedora-epel/6Server/SRPMS/nginx-1.0.15-5.el6.src.rpm
ftp://195.220.108.108/linux/epel/6/x86_64/GeoIP-devel-1.4.8-1.el6.x86_64.rpm
ftp://195.220.108.108/linux/epel/6/x86_64/GeoIP-1.4.8-1.el6.x86_64.rpm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
经过rpm源码包安装的访问已经可以成功了。