Linux之软件包管理

软件包管理有一般有3种机制:源代码方式、RPM、YUM

软件包的组成格式与存放路径:

1、二进制程序

主要存放的路径:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin, /usr/local/APP/{bin,sbin}

2、库文件(开发库、运行库)

主要存放的路径:/lib64, /usr/lib64, /usr/local/lib64, /usr/local/APP/lib

3、配置文件

主要存放的路径:/etc, /usr/local/APP/etc或conf目录

4、帮助文件

主要存放的路径:/usr/share/man, /usr/local/share/man, /usr/local/APP/man

源码方式:源代码打包成tar.gz的归档压缩文件直接使用,编译成可执行的二进制文件才能运行使用。操作复杂、编译时间长、极易出现错误。由于源代码方式安装软件比较麻烦,因此出

现了许多代替源码方式安装的软件管理机制:RPM、YUM,使用简单、单一软件包格式发布、可升级、追踪依赖关系、保存软件基本信息、软件验证功能、支持多平台。

RPM(redhat Package Manager)命名格式

RPM包:zip-3.0-10.el7.x86_64.rpm

zip:软件名称

3.0-10:版本号(3.0主版本号,10次版本号)

el7.x86_64:rpm包的运行平台的操作系统版本

RPM包管理:校验、安装、升级、卸载

RPM包校验:来源的合法性、软件包的完整性。必须导入了官方提供的公钥,才可以验证。Linux系统自带的公钥一般放在/etc/pki/rpm-gpg/下,后缀为release的就是公钥,没有这个公钥

,那个后缀为系统名加版本号的就是公钥了

导入密钥:rpm --import /PATH/TO/KEY_FILE

校验:rpm -K /PATH/TO/RPM_FILE

RPM校验命令

语法:RPM  {-V|--verify} [select-options] [verify-options]

常见参数选项

S:文件大小

5:文件的md5校验值

L:链接文件

T:文件创建时间

D:设备文件

U:文件的用户

G:文件的用户组

M:文件的权限

RPM包安装命令

语法:rpm  –i[v|h]  [--excludedocs |prefix |test |replace[pkgs |files] |nodeps] FILE...

i:安装

v:显示详细信息

h:hash是进度信息

常用参数选项

--nodeps:忽略依赖关系安装

--replacepkgs:重装程序包

RPM包升级命令

语法:rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

-U:升级

-h:解压打印#

-v:显示详细信息

常用升级命令组合

-Uvh: 升级包(有旧版程序包,则升级;如没有,则安装)

-Fvh: 升级(安装包存在旧版程序包,则升级;如没有,不安装)

--nodeps:忽略依赖关系

--oldpackage:降级

--force:强制

RPM包卸载

语法:rpm {-e|--erase} [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...

常见参数选项

-e:删除包

RPM包查询

语法:rpm {-q|--query} [select-options] [query-options]

常见组合参数

-qa: 查询本机已经安装的所有程序包;

-qf /PATH/TO/SOMEFILE: 查询此处的文件由哪个程序包安装生成;

-qc: 查询指定程序包安装生成的配置文件

-qd: 查询指定的程序包安装生成的文档

-qi: 查询指定的程序包的相关信息

-ql: 查询程序包安装生成的所有文件的列表

-q --scripts:查询程序包相关的脚本:

preinstall: 安装前脚本

postinstall:安装后脚本

preuninstall: 卸载前脚本

postuninstall: 卸载后脚本

-p: 查询针对是未安装的程序包文件

练习:

1、挂载cdrom至/media/cdrom,用rpm命令安装nmap工具,注意查看参数

2、安装tomcat-lib-7.0.54-1.el7.noarch.rpm,如果有依赖包无法安装可忽略或者使用强制安装,然后卸载,并查询安装情况

3、查看当前本机所有已安装程序包,查看nmap安装包生成哪些文件列表、生成配置文件、包相关信息

yum命令软件包管理器,交互和自动化地从指定的服务器自动下载RPM包并且安装,自动处理依赖性关系。

语法:yum[选项][参数]

常见参数选项

-h:显示帮助信息

-y:对所有的提问都回答“yes”

-v:详细模式

install:安装软件包

update:更新软件包

check-update:检查是否有可更新软件包

remove:删除软件包

list:显示软件包的信息

search:检查软件包的信息

info:显示指定软件包的描述信息和概要信息

clean:清理yum过期的缓存

resolvedep:显示rpm软件包的依赖关系

reinstall:重新安装

常见管理包组信息

grouplist:显示包组信息

groupinfo "GRP_NAME" :显示包组描述信息和概要信息

groupinstall "GRP_NAME" :安装包组

groupremove "GRP_NAME   :卸载包组

常见管理包组信息

repolist [all|enabled|disabled] :显示仓库信息

repoinfo [all|enabled|disabled] :显示仓库描述或概要信息

创建本地仓库:

yum install createrepo

createrepo /PATH/TO/RPMFILES/

使用光盘当做本地仓库方法:

1、挂载光盘至某目录

2、定义仓库,使用file:///指明其访问路径;

指定的服务器自动下载RPM包,一般有以下文件服务器

ftp服务:ftp://hostname/PATH/TO/REPO

http服务:http://hostname/PATH/TO/REPO

本地文件路径:file:///PATH/TO/REPO

yum程序的配置文件:

/etc/yum.conf:全局配置

/etc/yum.repos.d/*.repo:一个文件通常用于一个或一组功能相近或相关的仓库

简要说明yum仓库各项参数

[fedora]      #软件源的名称

name=Fedora $releasever - $basearch   #仓库的名称,$releasever变量定义了发行版本,$basearch变量定义了系统的架构(i386、x86_64……)

failovermethod=priority               #priority是默认值,列出的baseurl中顺序镜像服器地址,roundrobin表示在列出的服务器中随机选择

#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch   #指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了。选择访问速度较快的镜像服务器地址复制并粘贴到repo文件中,格式如下baseurl所示:

baseurl=

ftp://ftp.sfc.wide.ad.jp/pub/Linux/Fedora/releases/10/Everything/i386/os

http://ftp.chg.ru/pub/Linux/fedora/linux/releases/10/Everything/i386/os

http://ftp.yz.yamagata-u.ac.jp/pub/linux/fedora/linux/releases/10/Everything/i386/os

http://mirror.nus.edu.sg/fedora/releases/10/Everything/i386/os

http://mirror.yandex.ru/fedora/linux/releases/10/Everything/i386/os

http://ftp.twaren.net/Linux/Fedora/linux/releases/10/Everything/i386/os

http://ftp.itu.edu.tr/Mirror/Fedora/linux/releases/10/Everything/i386/os

enabled=1 #源是启用的,0为禁用

gpgcheck=1 #进行gpg的校验

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch   #定义用于校验的gpg密钥

练习:

1、备份CentOS-Base.repo为CentOS-Base.repo.backup,定义一个新的仓库Centos-new.repo,已163为yum仓库并且校验

2、挂载光盘到/media/cdrom,并且作为本地仓库名为Local.repo,不校验

3、yum安装nmap工具,并且检查是否有更新包,显示依赖包,如已安装过重新安装

4、安装打印包组,查看包组信息,卸载包组

时间: 2024-11-06 12:06:59

Linux之软件包管理的相关文章

Linux下软件包管理

为什么要有软件包管理器? 虽然使用源代码进行编译可以定制一些高级功能,但对于Linux发行商来说,管理软件不容易,而且不是每个使用Linux的用户都有能力进行编译安装,如果能够将软件预先在相同的硬件与操作系统上编译好在发行出发行版的话,就可以让相同的发行版具有完全一致的软件版本,再加上安装/删除/管理机制,从此对软件包的管理也就相对简单得多,所以就将源代码包按照对应的平台格式封装起来,并发行出来,发行出来的软件包,我们在红帽系列的系统上称之为 RPM: 两大主流的软件包管理器版本: RPM:RP

Linux rpm 软件包管理命令

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合: -ivh:安装显示安装进度--install--verbose--hash-Uvh:升级软件包--Update:-qpl:列出RPM软件包内的文件信息[Query Pac

linux下软件包管理-源码包-二进制包

linux软件包管理  1.软件包分类     源码包     二进制包(rpm包)      2.rpm包命名规则      命名规则:         name-major-minjor-release-release.arch.rpm                   name:包名         major:主版本号         minjor:次版本号         release:发行版本,修复了重大的bug         release:rpm的功能更新         

linux系统管理-软件包管理

概述: inux家族中的软件包管理有很多工具. 一种是在debiton系列的linux中,以像ubuntu的apt-get为代表.对于此种方式的管理方式,个人感觉挺简单方便的, 一种是在Fedora和RedHat以及SUSE中,以YUM为代表.这种包管理,因为现在是在redhat的环境中,不太熟悉,今天就总结一下. 概念:  yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能

Linux的软件包管理

1.二进制的软件包管理(RPM.YUM) 2.源代码包安装 3.脚本安装(Shell或Java脚本) 4.Debian系Linux软件包管理简介 一.RPM包管理 RPM软件包的一个例子: sudo-1.7.2p1-5.el5.i386.rpm 其中包括软件名(sudo),版本号(1.7.2pl),发行号(5.el5),和硬件平台(i386). 1.卸载 rpm -e sudo rpm -e [软件名] 注意:如果其他软件包有依赖关系时,卸载时会产生提示信息,可使用--nodeps强行卸载 2.

(016) Linux之软件包管理

十年运维系列之基础篇 - Linux 作者:曾林 联系:[email protected] 网站:www.jplatformx.com 版权:文章未经同意请勿转载 一.引言 决定Linux发行版本质量最重要的因素是软件包系统和支持该发行版本社区的活力.进一步接触Linux就会发现Linux软件的研究现状相当活跃.事物总是在不停地变化,许多一流的Linux发行版本每6个月就有一个新版本问世,而且许多个人程序每天都在更新.要想同步这些日新月异的软件,我们就需要好的工具进行软件包管理. 软件包管理是一

Linux - rpm 软件包管理

rpm 是 Red-Hat Package Manager(rpm 软件包管理器)的缩写 rpm 的命名规则: 第一部分为 rpm 软件包的名称,第二部分是版本号,第三部分是版本发布次数,第四部分是软件包适用的平台 -i:安装该软件包 -v:显示安装的详细信息 -h:显示安装的进度 [[email protected] test]# rpm -ivh python-tox-1.4.2-8.el7.noarch.rpm 也可以直接安装网络上的软件包 [[email protected] test]

学习日志---linuxの RPM软件包管理器

rpm包的使用: rpm包命名格式: 源程序:name-version.tar.{gz|bz2|xz}  打包在一起的源码 version: major.minor.release rpm包:name-version-release.arch.rpm  这是打包好的二进制程序了 release:通常包含rpm的制作发行号,还包含适用的OS arch:这个是适用于哪种硬件架构,还有位数 例子:bash-4.3.2-2.el6.x86_64.rpm OS平台: el6: redhat enterpr

linux系统-软件包管理-Rpm安装补充管理

一 RPM软件包的安装管理 1 查询选项: (1) -a 查询已经安装的软件包 (2) -f 查询文件所属的软件包 (3) -i 显示软件包的信息 (4) -l 显示软件包的文件列表 (5) -d 显示被标记为文档的列表 (6) -c 显示被标记为配置文件的文件列表 二 RPM查询应用案列 1 查询文件所属的软件包:rpm - qf 2 查询软件包信息:           rpm -qi  rpm -qip 3 查询软件包的安装文件:rpm -qd 4 查询软件包的配置文件:rpm -qc 三