jsnjzlw 发表于 2019-2-16 11:28:56

CentOS6软件包管理

一、软件包管理
  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 /校验文件和是否与官网相同
66d8e107f85acc039fd5e624e85728a9httpd-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
         仓库名
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软件



页: [1]
查看完整版本: CentOS6软件包管理