Linux系统软件管理node
一、Linux经常使用软件包类型nginx
脚本安装包,通常为压缩包。shell
优势:开源,有能力可对源码进行修改;能够自由选择所需的功能;软件是编译安装,因此更适合自已的系统;更加稳定、效率更高,卸载方便。小程序
缺点:安装过程步骤较多,安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误;编译过程时间较长;编译安装过程报错新手不容易解决。vim
rpm包、系统默认安装包。centos
优势:包管理系统简单,只经过几个命令就能够实现包的安装、升级、查询和卸载;安装速度比源码包安装快。缓存
缺点:通过编译,不能够看到源代码;功能选择不如源代包灵活。bash
(1)RPM包的通常格式为:服务器
name-version-release.arch.rpm架构
name:软件包名称
version:包含主、次、修订的软件包版本信息
arch:硬件平台,主要包括:i38六、i48六、i58六、i68六、X86_6四、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硬件平台说明:
i38六、i58六、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—表明跟硬件体系结构无关。不论是 x8六、PowerPC,Sparc 或者 Alpha 系统。
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 网站找到包含此文件的软件包,安装便可。
描述: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 软件包全名 #新版本降级为旧版本
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目录下。
当收集到足够多的软件包时,为方便管理及使用,有必要将其汇总并建立属于本身的yum源。
建立步骤:
(1)安装createrepo;
(2)将全部软件包存入指定目录,例如/root/soft
(2)运行 createrepo /root/soft便可。
软件的源代码是软件的原始数据,任何人均可以经过源代码查看该软件的设计架构与实践方法,但软件源代码不能够在计算机中直接运行安装。咱们须要将软件源代码经过编译转换计算机可识别的机器语言,最后在执行安装。
源码包安装步骤:
(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
我的公众号: