Linux基础-12day-Linux系统软件管理

Linux系统软件管理

 

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

累出软件包自定义的小程序

Eg:

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 软件名称#升级指定程序包

yum groupupdate 程序组名称#升级程序组

[root@test ~]# yum update httpd

格式:

yum info 软件名称#显示安装包信息

yum list #显示所有已安装及可安装的rpm包

yum list 软件名称#显示指定程序包信息

yum groupinfo 包组名称 #显示程序组信息

[root@test ~]# yum groupinfo "Development Tools"

格式:

yum remove 软件名称 #现在指定软件

yum groupremove 程序组名称#卸载指定程序组

yum deplist 软件名称#查找指定软件包依赖情况

[root@test ~]# yum remove httpd

5)清楚缓存

格式:

yum clean all #清除所有缓存信息

yum clean 软件名称#清除指定目录下软件包缓存

[root@test ~]# yum clean all

6)建立缓存区

作用:将服务器上的软件包信息,先在本地缓存,以提高搜索、安装软件速度。

[root@test ~]#yum makecache

7)下载rpm包

安装yum-downloadonly

[root@test ~]# yum -y  install yum-downloadonly

下载文件到指定目录:

yum install namerpm -y --downloadonly --downloaddir=path

Eg:只下载ftp的rpm到/tmp下,不进行安装

[root@test ~]# yum -y install ftp --downloadonly --downloaddir=/tmp

下载ftp的rpm到/tmp下,并进行安装

[root@test ~]# yum -y install ftp --downloaddir=/tmp

或者修改/etc/yum.conf文件

vim/etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0

注:keepcache0改为1,安装或升级软件时,会下载rpm包文件到/var/cache/yum目录下。 

2.5创建yum

当收集到足够多的软件包时,为方便管理及使用,有必要将其汇总并创建属于自己的yum源。

创建步骤:

1)安装createrepo;

2)将所有软件包存入指定目录,例如/root/soft

2)运行 createrepo /root/soft即可。

3 源码包安装

软件的源代码是软件的原始数据,任何人都可以通过源代码查看该软件的设计架构与实践方法,但软件源代码不可以在计算机中直接运行安装。我们需要将软件源代码通过编译转换计算机可识别的机器语言,最后在执行安装。
源码包安装步骤:

1)下载软件源码包,并进行解压;

2)运行configure脚本,通过特定选项指安装路径、指定软件功能等;

3)运行make命令将软件源代码编译为计算机可直接识别的机器语言;

4)通过make install 根据配置阶段指定的路径、功能将软件以特定的方式安装到指定位置。

Eg:

# wget -c http://nginx.org/download/nginx-1.16.0.tar.gz
# tar -xzf nginx-1.16.0.tar.gz
# cd nginx-1.16.0
# useradd www
# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# make
# make install


个人公众号:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章