一、软件包管理


1.常见软件包格式
(1).exe Windows系统软件格式
(2).tar.gz | .tar.bz2 | .tar.xz 软件开发人员编写的软件源代码;所有发行版都可安装
(3)绿色免安装版 与Windows绿色软件一样,解压到对应目录即可运行
(4).rpm Red Hat系列(RHEL、Centos)发行版使用的封装类型
(5).deb Debian系列(Debian、Ubuntu)发行版使用的封装类型;apt-get install 软件名
2.软件开发流程:开发人员 --> 源代码 --> 编译 --> 二进制文件(.exe)
注:默认Linux不能安装Windows系统软件,如需安装可通过wine解决方案
3.软件包名称详解
bash-4.1.2-15.el6_4.x86_64.rpm
bash:软件名
4.1.2:版本号;主版本号.次版本号.修订版本号
15:发布次数
el6_4:硬件平台;Red Hat Enterprise Linux 6.4发行版
x86_64:适用系统位数;x86_64可64位系统使用、i386可32位系统使用
RPM包下载地址:www.rpmfind.net

二、RPM包管理工具


1.查询(已安装的)

(1)rpm -qa          //显示所有系统已安装的RPM包
(2)rpm -qa | grep <软件名>     //搜索指定软件包是否安装
(3)rpm -ql <软件名>            //显示指定软件包所有提供文件位置
(4)rpm -qi <软件名>        //显示指定软件包的详细信息
(5)rpm -qc <软件名>        //显示指定软件包的配置文件位置
(6)rpm -qf $(which 命令)      //查看指定命令所提供软件包名
(7)rpm -qd <软件名>    //显示指定软件包文档文件位置

2.查询(未安装的)

(1)rpm -qpl    //查询未安装RPM软件包安装之后存放文件的路径
(2)rpm -qpi    //查询未安装RPM软件包详细信息


mount /dev/cdrom /mnt //挂载光盘/mnt目录
rpm -qpi /mnt/Packages/apr-utils-1 //查询未安装apr-utils软件包的详细信息
rpm -qpl /mnt/Packages/apr-utils-1
//查询未安装apr-utils软件包安装后所存在路径

3.安装

 rpm -ivh RPM软件包位置  //安装指定软件包

选项

-i:install安装
-v:verbose安装信息
-h:以#显示安装进度
-U:升级RPM软件包,如果系统未安装该软件包旧版本,则安装指定的新版本软件
-F:更新RPM软件包,如果系统未安装该软件包旧版本,则放弃安装
--nodeps:忽略依赖关系强制安装指定安装软件包;一般不用
--force:强制


mount /dev/cdrom /mnt //挂载光盘/mnt目录
①rpm -ivh /mnt/Packages/portreserve //安装portreserve软件包
②rpm -ivh --force --nodeps /mnt/Packages/firefox //强制安装firefox软件,但有可能软件不能正常使用

4.卸载

(1)rpm -e 软件包名      //卸载指定软件包
(2)rpm -e 软件包 --nodeps  //强制卸载指定软件包;建议替换为yum -y erase 软件包名

①rpm -e portreserve //卸载portreserve软件包
②rpm -e --nodeps net-tools //忽略依赖关系,强制卸载该软件

重建数据库文件与导入

(1)rpm --rebuilddb 或 rpm --initdb 重建数据库文件(/var/lib/rpm/_db)
(2)rpm --import /mnt/RPM-GPG-KEY-CentOS-6 导入光盘中公钥文件

三、源代码安装


可定制性强

1.下载软件包
2.解压(tar)       /解压源码包到/usr/src/目录
3.配置(./configure)   /启用、禁用对应功能,并指定安装路径
4.编译(make)      /生成可执行二进制文件、命令
5.安装(make install)  /移动生成文件、命令到安装路径
6.验证(ls)

①下载源代码软件包,通过Xshell传输(Ctrl+Alt+F)到Centos系统(/root)
②md5sum httpd-2.2.17.tar.gz /校验文件和是否与官网相同
66d8e107f85acc039fd5e624e85728a9 httpd-2.2.17.tar.gz
③tar -zxvf httpd-2.2.17.tar.gz -C /usr/src/ /将源代码包解压到/usr/src/目录
④yum -y install gcc* /安装编译必要环境
⑤cd /usr/src/httpd-2.2.17/ /进入httpd源码包目录
⑥./configure --prefix=/usr/local/httpd /配置源码软件需要的功能,--prefix指定软件安装的路径
⑦make && make install /编译生成二进制文件并移动文件到软件指定安装路径(/usr/local/httpd)
⑧ls -l /usr/local/httpd /查看是否生成对应目录
⑨cd /usr/local/httpd/bin/apachectl start /启动httpd服务,提供网页访问
⑩浏览器使用 http://ip地址 访问

四、YUM


作用:自动解决依赖关系;自动安装依赖的.rpm软件包

1.本地源(速度快、版本旧、只有光盘内的软件包)

rm -rf /etc/yum.repos.d/*
vim /etc/yum.repos.d/local.repo
[local]         仓库名
name=local      名字
baseurl=file:///mnt 光盘挂载位置
enabled=1       启动该仓库
gpgcheck=0          不检测公钥文件
mount /dev/cdrom /mnt //挂载光盘

2.在线源(速度慢、版本新、软件包多)

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo  //下载在线源YUM文件另存为到/etc/yum.repos.d/目录下    
vim /etc/yum.repos.d/CentOS6-Base-163.repo
:% s/$releasever/6.9/g          //将下载系统版本位置改为6.9版本
yum clean all     //清除YUM所有缓存
yum repolist     //重建YUM缓存

3.YUM命令用法

yum -y install 软件包名     //安装指定软件
yum search 软件包名     //搜索YUM源中是否存在指定软件
yum erase 软件包名     //卸载指定软件
yum -y update     //更新系统所有已安装软件包
yum info 软件包名     //查看指定软件包的详细信息
yum provides */命令     //搜索指定命令提供的软件包名

yum -y install dhcp //安装dhcp软件
yum search firefox //搜索YUM源中是否有firefox软件
yum erase firefox //卸载firefox软件