莫道桑榆晚,为霞尚满天。这篇文章主要讲述Linux基础-12day-Linux系统软件管理相关的知识,希望能为你提供帮助。
??Linu??x??系统软件管理??
??1、??Linux??常用软件包类型??
?1.1源码包??脚本安装包,一般为压缩包。?
?优点:开源,有能力可对源码进行修改;可以自由选择所需的功能;软件是编译安装,所以更适合自已的系统;更加稳定、效率更高,卸载方便。?
?缺点:安装过程步骤较多,安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误;编译过程时间较长;编译安装过程报错新手不容易解决。?
?1.2二进制包??rpm包、系统默认安装包。?
?优点:包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载;安装速度比源码包安装快。?
?缺点:经过编译,不可以看到源代码;功能选择不如源代包灵活。?
2、RPM包管理(安装、卸载)?2.1 RPM包命名规则??(1)RPM包的一般格式为:?
?name-version-release.arch.rpm?
??name?:软件包名称?
??version?:包含主、次、修订的软件包版本信息?
??arch?:硬件平台,主要包括:i386、i486、i586、i686、X86_64、pcc、sparc、alpha,noarch包可在任何平台上安装。?
?例如:openssl-devel-1.0.1e-57.el6.x86_64.rpm?
?名称? | ?说明? |
?(name)openssl-devel? | ?openssl软件主包名,devel软件包分包名? |
?(version)1.0.1e? | ?1为主版本号,0为次版本号,1e为修订号? |
?(release)57.el6? | ?57是表示发行号,el6表示是RHEL6? |
?(arch)X86_64? | ?(主机)硬件平台? |
?Linux硬件平台说明:?
?i386、i586、i686与Noarch?
?i386—几乎所有的X86平台,不论是旧的pentum或者是新的pentum-IV与K7系统CPU,都可以正常工作,i指得是Intel兼容的CPU,至于386就是CPU的等级。?
?i586—就是586等级的计算机,包括pentum第一代MMX CPU,AMD的K5,K6系统CPU(socket7插脚)等CPU都是这个等级。?
?i686—pentum 2 以后的Intel系统CPU及K7以后等级的CPU都属于这个686等级。?
?Noarch—代表跟硬件体系结构无关。不管是 x86、PowerPC,Sparc 或者 Alpha 系统。?
?2.2 RPM依赖性??Linux系统中,rpm包之间的依赖关系主要分为以下几种:?
?(1)树形依赖:(A-B-C-D)要想安装软件 A,必须先安装 B,安装B需要先安装 C…….解决此类型依赖的方法是从后往前安装,即先安装 D,再安装 C,然后安装 B,最后安装软A。?
?(2)环形依赖:(A-B-C-D-A)各个软件安装的依赖关系构成“环状”。解决此类型依赖的方法是用一条命令同时安装所有软件包,即使用 rpm -ivh 软件包A 软件包B .....?
?(3)模块依赖:软件包的安装需要借助其他软件包的某些文件(比如库文件),解决模块依赖最直接的方式是通过 http://www.rpmfind.net 网站找到包含此文件的软件包,安装即可。?
?2.3 RPM命令???描述:?rpm包管理,安装、升级、卸载、查询等。?
??用法:?rpm [选项][rpm包名/软件名]?
??主要参数:??
??必要参数?? | ??作用?? |
?-a? | ?查询所有已安装软件包? |
?-c? | ?显示配置文列表? |
?-d? | ?显示文档文件列表? |
?-q? | ?查询指定安装包是否已安装? |
?-l? | ?打印软件包列表? |
?-f? | ?查询包含file的软件包? |
?-i? | ?Rpm包安装? |
?-v? | ?打印输出详细信息? |
?-U? | ?升级RPM包? |
?-h? | ?软件安装,打印安装进度? |
?--last? | ?列出软件包时,按照安装时间排序,最近的在上面? |
?-e? | ?卸载rpm软件包? |
?--force? | ?表示强制,强制安装或卸载? |
?--nodeps? | ?RPM包无依赖? |
?-R? | ?列出软件包依赖的其他软件包? |
?--provides? | ?列出软件包提供的特性? |
?--scripts? | ?累出软件包自定义的小程序? |
?(1)?安装?rpm包,显示详细信息,及安装进度?
[root@test]# rpm -ivh ftp-0.17-67.el7.x86_64.rpm
?(2)?查询?系统是否已安装ftp软件?
[root@test ~]# rpm -q ftp
??(3)??-qa:查询?系统中已安装的所有软件;?
[root@test ~]# rpm -qa ftp#所有已安装的rpm包查找ftp的软件包
?(4)?-qi:查询?指定安装软件包的详细信息;?
[root@test ~]# rpm -qi ftp
?(5)?-ql:查询?指定软件的安装路径与文件列表。-qd只显示文件列表。?
[root@test ~]# rpm -ql ftp
??(6)??-qc:查询?指定软件的配置文件?
[root@test ~]# rpm -qc bash
#查询bash配置文件
?(7)?-qf:查询?指定文件由哪个软件安装?
[root@test /]# rpm -qf /etc/init.d
?(8)?-qR:查询?已安装软件的依赖包信息?
[root@test /]# rpm -qR ftp
?(9)?卸载rpm包?,-e静默卸载?
[root@test /]# rpm -evh ftp
#显示卸载过程并显示进度
??(10)??升级?rpm包?
?格式:[root@test /]# rpm -Uvh 新软件包全名?
?(11)?检验?rpm包,防止配篡改?
?格式:[root@test /]# rpm -V 包名称?
?主要提示信息包含:?
?5-md5值以改变;S-文件大小以改变;L-连接文件的源以改变;?
?T-文件最后修改时间以改变;D-设备已改变;U-用户发生改变;?
?G-群组发生改变;M-包括权限、类型在内的模式改变;?-不可读文件。?
??其他:??
?(12)rpm -ivh --relocate 路径 包名 #指定安装目录?
?(13)rpm -ivh --test 包名#只检查依赖关系不安装;?
?(14)rpm -Uvh --oldpackage 软件包全名 #新版本降级为旧版本?
?2.4 yum命令??Yum是改进版rpm软件管理器,有效的解决rpm的软件包依赖问题。Yum可以从很对源中进行软件搜索以及依赖包查询,并可自动完成相应依赖包安装。使用yum安装时,至少需要一个yum源,即存放很多RPM包软件的文件夹,用户可使用http、ftp或本地文件夹的方式访问yum源。?
?Yum源定义文件默认存放在/etc/yum.repos.d目录下,用户可自定义任意使用的yum源,其文件名的扩展名必须为repo。文件格式如下:?
?选项? | ?功能? |
?[]? | ?填写yum源唯一的ID号,可以为任意字符串? |
?name? | ?Yum源名称? |
?baseurl? | ?指定yum源URL(http/ftp/本地路径)? |
?Mirrorlist? | ?镜像站点目录? |
?enabled? | ?是否激活该yum源(0禁用,1激活)? |
?gpgcheck? | ?安装软件是时候检查签名(0禁用,1激活)? |
?gpgkey? | ?如果检查签名,该语句定义检查签名的秘钥文件? |
[root@test yum.repos.d]# more install.repo
[centos7]
name=CentOS7
baseurl=file:///mnt
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@test yum.repos.d]#
??描述:?基于RPM的包管理工具。?
??用法:?yum [选项][指令][软件包...]?
??选项:??
??选项?? | ??作用?? |
?-y? | ?Yes,对所有询问都执行yes? |
?-c? | ?指定配置文件? |
?-q? | ?安静模式? |
?-v? | ?详细模式? |
?-d? | ?设置调试等级(0-10)? |
?-e? | ?设置错误等级(0-10)? |
?-R? | ?设置yum处理一个命令的最大等待时间? |
?-C? | ?完全从缓存中运行,而不去下载或者更新任何头文件? |
??参数:??
??主要参数?? | ??作用?? |
?install? | ?安装rpm软件包? |
?update? | ?更新rpm包? |
?check-update? | ?检车是否有可用更新的rpm包? |
?remove? | ?卸载指定rpm包? |
?list? | ?显示软件包信息? |
?serch? | ?检查软件包信息? |
?info? | ?显示指定rpm包描述信息和概要信息? |
?clean? | ?清理yum过期缓存? |
?shell? | ?进入yun的shell缓存? |
?resolvedep? | ?显示rpm包依赖关系? |
?localinstall? | ?安装本地rpm包? |
?localupdate? | ?显示本地rpm进行更新? |
?deplist? | ?显示rpm包所有依赖关系? |
?groupinstall? | ?安装组包? |
?grouplist? | ?查看已安装及可用的组包? |
?history? | ?查看历史记录? |
??常用案例:??
??(1)??安装??
??格式:??
?yum -y install 软件名称 #安装软件?
?yum -y groupinstall 程序组名称 #安装程序组?
[root@test ~]# yum install ftp
[root@test ~]# yum -y groupinstall "Development Tools"
??格式:??
?yum update 软件名称 #更新指定程序包?
?yum check-update #检查可更新的程序?
?yum upgrade 软件名称#升级指定程序包?
【Linux基础-12day-Linux系统软件管理】?yum groupupdate 程序组名称#
推荐阅读
- 金融科技十大技术趋势出炉,这两项技术关注度飙升!
- Python Pandas时间戳isoformat介绍
- Python Pandas时间戳now用法介绍
- Python Pandas时间戳替换
- Python Pandas时间戳介绍和用法实例
- Python Pandas.to_datetime()用法介绍
- Python Pandas tseries.offsets.DateOffset用法介绍
- Python Pandas处理文本数据详细指南
- Python Tkinter中的PanedWindow小部件用法