linux的软件安装包管理

1.软件管理器

linux中比较常用的软件管理器分别为RPM和dpkg。dpkg最早是由Debian社区开发出来的,通过dpkg的机制,Debian提供的软件能够快速的安装起来,同时提供安装后的信息。派生于Debian的其他linux版本都可以使用该机制,如ubuntu,B2D。RPM是由红帽公司开发的,使用该机制的如centos等。

为了解决软件属性依赖的问题,linux版本的发行商通过使用“在线升级”机制来处理。具体来讲就是,发行商将依赖属性的数据做成列表,等到实际软件安装时,若发生依赖的情况,只要存在网络,依据软件安装列表就可以将发行商提供的任何软件进行安装。其中红帽公司的在线升级命令是yum,而Debian发行商的在线升级命令为apt-get。

2.软件管理程序rpm

基本工作:软件的安装、查询、卸载、升级、校验、数据库的重建、验证数据包等工作

rpm命令: rpm   rpmbuild

 数据库: /var/lib/rpm

    rpm的默认安装路径:/usr/bin :一些可执行文件

/usr/lib : 一些程序使用的动态链接库

/usr/share/doc :一些基本的软件使用手册与帮助文档

/usr/share/man:一些man page文件

顺便讲述下文件系统的一些内容:

根目录包含的文件夹:

/usr/share/man

/bin /sbin /etc /lib:系统启动就需要的程序,这些目录不能挂载额外的分区,必须在根目录下。

/usr/bin、 /usr/sbin、/usr/lib :这些目录存放的是操作系统的核心功能区,可以单独分区

/usr/local  bin、sbin、lib、etc、man  :第三方软件存放位置

/opt

/proc、/sys   内核虚拟目录,默认为空,不能单独分区

/dev:设备文件,不能单独分区   /udev

/root不能单独分区

/var:存放一些变量、临时文件,建议单独分区

/boot:内核文件initrd

3.软件管理程序rpm命令

rpm命名:

包的组成部分:主包     bind-9.7.1-1.el5.i586.rpm

子包     bind-libs-9.7.1-1.el5.i586.rpm
                                         bind-utils-9.7.1-1.el5.i586.rpm

包名格式:  name-version-release.arch.rpm(发行号、平台架构)

版本名称 版本信息 发布版本次数 适合平台 扩展名

bind-major.minor.release-release.arch.rpm

主版本号:重大改进

子版本号:某个子功能发生重大变化

发行号:修正了部分bug,调整了一点功能。

1.安装

rpm   -ivh      package_name

i:install;             v:查看详细信息;      h:以安装信息栏显示安装信息

--nodeps: 忽略依赖关系;
        --replacepkgs: 重新安装,替换原有安装;
        --force: 强行安装,可以实现重装或降级;

2.查询

rpm -q 仅查询,后面接的软件名称是否安装

rpm -qa 查询已经安装的所有包

rpm -qi package_name :查询指定包的说明信息

rpm -ql package_name :   查询指定包安装后生成的文件列表;

rpm -qc PACEAGE_NEME:查询指定包安装的配置文件;
        rpm -qd PACKAGE_NAME: 查询指定包安装的帮助文件;

rpm -qf /path/to/somefile: 查询指定的文件是由哪个rpm包安装生成的;
        如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件;
        rpm -qpi /PATH/TO/PACKAGE_FILE
        rpm -qpl

3、升级
        rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE: 如果装有老版本的,则升级;否则,则安装;
        rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;
                                             --oldpackage: 降级

4.卸载

rpm -e PACKAGE_NAME           --nodeps

5、校验
            rpm -V PACKAGE_NAME

6、重建数据库
            rpm
              --rebuilddb: 重建数据库,一定会重新建立;
              --initdb:初始化数据库,没有才建立,有就不用建立;

7、检验来源合法性,及软件包完整性;
        加密类型:
         对称:加密解密使用同一个密钥
         公钥:一对儿密钥,公钥,私钥;公钥隐含于私钥中,可以提取出来,并公开出去;  
         单向:

# ls /etc/pki/rpm-gpg/
         RPM-GPG-KEY-redhat-release
         rpm -K /PAPT/TO/PACKAGE_FILE
         dsa, gpg: 验正来源合法性,也即验正签名;可以使用--nosignature,略过此项
         sha1, md5: 验正软件包完整性;可以使用--nodigest,略过此项

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release: 导入密钥文件

 4.yum在线升级机制

 根据各软件的相关性做出属性依赖时的解决方案,然后可以自动处理软件的依赖属性关系,从而解决软件安装与删除与升级的问题。

1.利用yum进行查询、安装、升级与删除功能

查询功能:

yum [options] [查询项目工作目录] [相关参数]

-y :等待用户输入yes时,可以自动提供yes; --installroot=/some/path:安装到其他目录中,不使用特殊目录

search: 搜索某个软件名称或者是描述的重要关键字

list : 列出目前yum所管理的所有的软件名称与版本,类似于rpm -qa

info:类似于rpm -qai

provides:从文件夹中搜索软件,类似于rpm -qf

升级/安装  yum[install/update]

删除        yum [remove]

时间: 2024-10-20 20:54:33

linux的软件安装包管理的相关文章

linux CentOS7 中安装包管理:rpm 、yum及源码包安装使用

一. 安装软件包的三种方法 yum ---python rpm工具 yum工具 源码包 二. rpm包介绍 设置光驱并挂载: [[email protected] ~]# mount /dev/cdrom /mntmount: /dev/sr0 写保护,将以只读方式挂载 [[email protected] ~]# ls /mntEULA    isolinux  repodata                      TRANS.TBL GPL     LiveOS    RPM-GPG-

我的学习记录--Linux (CentOS) 程序安装包管理,rpm

概述: 因为一个应用程序是由很多文件所组成,所以安装卸载非常复杂,为了让用户更加方便的管理应用程序.所以引入了程序打包管理.主要包括:安装,卸载,升级,查询,检验. 常见的包管理器: .deb: Debian研发 .rpm: Red Hat研发(Linux上的包管理器公共标准,故我学习的为rpm) 常见的CPU平台:(所以选择应用程序安装的时候,一定选择和自己CPU所匹配的版本) x86:i386, i486, i586, i686 x86_64: x86_64, amd64 分包机制: 核心包

我的学习记录--Linux (CentOS) 程序安装包管理,yum

此博客,仅仅只是记录本人学习Linux的学习笔记,和学习经验,本人此时也只是一个初学Linux的菜鸟,所以有写得不对的地方还望包涵.谢谢! 简介: Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装. yum配置文件: 主配置文件:/etc/yum.c

Ubuntu软件安装包管理相关

如果您正在运行 Ubuntu,请尽量使用像 aptitude 或者 synaptic 一样的软件包管理器,代替人工手动操作的方式从网页下载并安装软件包. 如libreadline6-dev的下载安装 http://packages.ubuntu.com/trusty/amd64/libreadline6-dev/download

linux系统下软件安装包类型及安装介绍

linux系统下软件安装包类型及安装介绍 一.解析Linux应用软件安装包,通常Linux应用软件的安装包有四种: 1)tar包,如software-1.2.3-1.tar.gz.他是使用UNIX系统的打包工具tar打包的. 2)rpm包,如software-1.2.3-1.i386.rpm.他是Redhat Linux提供的一种包封装格式.包的管理工具YUM 3)dpkg包,如software-1.2.3-1.deb.他是Debain Linux提供的一种包封装格式.包的管理工具apt-get

Centos7安装步骤和环境优化 ------ 新手安装详细教学,免费提供软件安装包

一.环境准备:Vmware workstationxshellcentos7.4镜像 软件安装包百度云分享链接:https://pan.baidu.com/s/1Jg66BsqgYjvT54RT-S-5iQ提取码:5hli 二.centos安装步骤:1.首先打开我们vmware,开始创建虚拟机2.选择自定义,下一步 3.然后点击下一步,来到安装客户机系统这,我们先暂时选择稍后安装操作系统,先将虚拟机配置好,最后再安装镜像.4.选择linux系统中最新的版本,确定好之后,点击下一步5.我们在选择安

ZipInstaller(ZIP 安装包管理器)

ZipInstaller(ZIP 安装包管理器) 软件介绍 直接下载 ZipInstaller 是一个安装和卸载的应用程序的工具,不提供一个内部安装程序.它会自动提取所有文件的zip文件,将其复制到您选择目标文件夹,创建开始菜单和桌面快捷方式,并增加了一个允许您自动删除软件的卸载模块. 软件截图

Sublime Text 3中文乱码解决方法以及安装包管理器方法

一般出现乱码是因为文本采用了GBK编码格式,Sublime Text默认不支持GBK编码. 安装包管理器 简单安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码: import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urlli

ubuntu下载软件安装包

<span style="font-family: Arial, Helvetica, sans-serif;">apt-get -d download xxx</span> ubuntu下载软件安装包命令,只下载deb格式的安装包,不安装. xxx是待下载的安装包.