Linux软件管理

一、rpm命令

rpm:

数据库:/var/lib/rpm

rpmbuild:

创建软件包

1、安装

rpm -i /PATH/TO/PACKAGE_FILE

-h : 以#显示进度:每个#表示2%

-v:显示安装详细信息

-vv:显示更详细信息

--nodeps:忽略依赖关系,软件可以装但装上也无法运行

--replacepkgs:重新安装,替换原有安装

--oldpackage:降级安装

--force:强行安装,可以实现重装或降级(相当于--replacepkgs和--oldpackage和--replacefiles)

--test:不真正安装,仅测试

通常:

rpm -ivh /PATH/TO/PACKAGE_FILE

2、查询

rpm -q PACKAGE_NAME(只需跟包名即可)

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

rpm -qi PAKAGE_NAME: 查询指定软件包的说明信息

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

rpm -qf /path/to/somefile : 查询某文件是由哪个软件包安装生成的

rpm -qc PACEAGE_NAME : 查询指定软件包安装的配置文件

rpm -qd PACKAGE_NAME : 查询指定软件包安装的帮助文件

rpm -q --scripts PACKEAGE_NAME : 查询指定的文件是由哪个rpm包安装生成的

如果某rpm包尚未安装,我们需要查询其说明信息、安装以后会生成的文件

rpm -qpi /PATH/TO/PACKAGE_FILE (说明信息)

rpm -qpl ......(将会生成的文件列表)

同样   -qp{f,c,d}都可使用

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   查看软件安装文件是否被改动过

missing 文件被删除

S 文件大小改变

M 文件权限改变

5 md5码改变

D 设备文件主次号不匹配

L 连接路径不匹配

U 属主改变

G 属组改变

T 最近修改时间改变

6、重建数据库

rpm

--rebuilddb:重建数据库 , 一定重新建立

--initdb:初始化数据库,没有建立,有就不用建立

7、检验来源合法性及软件包完整性

rpm -K /PATH/TO/PACKAGE_FILE

dsa,gpg:验证来源合法性,也及验证签名;可以用--nosignature略过此项

sha1,md5:验证软件包完整性;可以使用--nodigest,略过此项

验证前要导入秘钥文件

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-radhat-release

二、yum软件包管理

yum仓库包括

rpm软件包

元数据文件

1、primary.xml.gz

所有rpm包的列表

依赖关系

每个rpm安装生成的文件列表

2、filelists.xml.gz

当前仓库中所有rpm包的所有文件列表

3、other.xml.gz

额外信息,rpm包的修改日志;

4、repomd.xml

记录上面三个文件的时间戳和校验戳(当上面三个文件被缓存到本地时,每次使用进行比对,不同则重新下载)

5、comps*.xml:rpm包分组信息

红帽5和红帽6光盘仓库的结构有所不同

红帽5将rpm包和repodata放在同一目录(有四个仓库)

红帽6将rpm包和repodata放在不同的目录下

注意:在使用的时候必须以repodata所在的目录作为yum仓库的真正目录

yum命令

使用仓库要先在配置文件中指定仓库位置

/etc/yum.conf配置文件中指定要想添加一个yum仓库必须在/etc/yum.repos.d/目录下面创建.repo结尾的文件;repo文件创建规则:

[Repo_Name] 表示名(id)

name=     (Description描述信息)

baseurl=  (仓库位置)

仓库位置支持3中格式:

ftp://

http://

file:///  本地目录

enabled={1|0}  (定义该仓库是否启用)

gpgcheck={1|0}  (是否验证软件包的合法性,如果指定为1,则必须指定下一个gpgkey)

gpgkey=   (秘钥文件位置,也支持3种格式【当gpgcheck设置为1时必须指定】)

【一个repo文件下可以创建多个yum仓库,都按照以上规则】

yum

list 软件包列表

clean 清空缓存

repolist 查看repo列表信息[all | enabled | disabled]

如何创建yum仓库

createrepo

1、将rpm包放到将要创建为仓库的目录下

2、使用createrepo -g /path/to/comps-rhel5-vt.xml /仓库路径/  【创建依赖关系等文件】

comps-rhel5-vt.xml为 红帽创建依赖关系等文件所需要的文件,一般仓库内都有

3、将添加repo文件创建仓库

三、make install编译安装

前提:准备开发环境(编译环境)

安装"Development Tools" 和 "Development Libraries"

1、tar  解压源程序

2、cd 到程序文件目录

3、./configure

--help  查看选项

--prefix=/path/to/somewhere    指定安装目录

--sysconfdir=/path/to/CONFFILE_PATH  指定配置文件路径

功能: 1、让用户选择编译特性  2、检查编译环境和依赖关系

--without_http_rewrite_module 忽略依赖关系

4、make

5、make install

安装完成后:

1、修改PATH环境变量,以能够识别此程序的二进制文件路径

(1)将安装好的程序添加到PATH查找路径中:修改 /etc/profile  添加PATH=$PATH:/新装程序路径

(2)在/etc/profile.d/目录建立一个一.sh为名称后缀的文件,在里面定义 :export PATH=$PATH:/path/to/somewhere(程序路径)

2、如果新安装的程序可能会被别的程序依赖的话:

默认情况下,系统搜索库文件的路径是:/lib /usr/lib ;要添加额外的搜寻路径

在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中

ldconfig  通知系统重新搜寻库文件

-v : 显示重新搜寻过程

3、添加头文件搜寻:【头文件定义了库函数信息,包括接收的参数、参数类型个数、返回值等】

系统默认路径:/usr/include

增加头文件搜寻路径,使用链接:

将 /usr/新程序的库头文件路径/    链接到  /usr/include

两种方式:

ln -s /usr/local/tengine/include/*  /usr/include   【将所有头文件都链接过去】

ln -s /usr/local/tengine/include  /usr/include/tengine  【将头文件的目录链接过去】

4、man文件路径 :安装在--prefix指定的目录下的man目录 :/usr/share/man

1、在/etc/man.config中添加一条MANPATH

2、每次使用指定man地址 : man -M /PATH/TO/MAN_DIR COMMAND

时间: 2024-08-02 07:03:32

Linux软件管理的相关文章

linux入门基础——linux软件管理RPM

因为linux入门基础是基于CentOS讲解的,讲的是CentOS上的软件包管理.ubuntu的软件包管理有这些:ubuntu软件包管理,包管理指南,ubuntu软件包管理. linux软件管理:RPM软件包管理 源代码形式 绝大多数开源软件都是直接以源代码形式发布 源代码一般会被打包成tar.gz的归档压缩文件 程序源代码需要手动编译成二进制形式之后才能够运行使用 源代码基本编译流程: 1 ./configure   检查编译环境.相关库文件以及配置参数并生成makefile 2 make  

linux软件管理(六)

[教程主题]:linux软件管理 [1]软件包管理 在系统管理中,软件包的管理是最重要的,是系统管理的基础的基础, 只有我们学会软件包的管理才能谈得上其它的应用. RPM RPM是软件管理程序,提供软件的安装.升级.查询.反安装的功能.优点:a.安装方便,软件中所有数据都经过编译和打包b.查询.升级.反安装方便缺点:a.缺乏灵活性b.存在相依属性 用法: rpm  参数   软件包 指令选项-i:安装.-U:升级安装,如果不存在也安装.-F:更新安装,如果不存在不安装.-v:查看信息.-h:有进

linux软件管理之------编译安装nginx服务器并手动编写自动化运行脚本

红帽系列的 linux软件管理分为三类:1. rpm 安装软件.2. yum 安装软件.3. 源码包编译安装.前面两种会在相关专题给出详细讲解.源码包的编译安装是非常关键的,我们知道linux的相关版本非常多,相关的编译器,解释器也有很多,很多还有最小系统,嵌入式系统等等.同一功能的软件如果只有编译好的软件包,在其它linux的平台上,可能并不能正常安装运行,在此情况下,源码包编译安装出现了.所以本文的重点是以nginx为例,给出源码包编译安装的详细过程,同时带你手工编写自动化运行脚本. 准备工

Linux软件管理 - RPM工具

Linux软件管理 - RPM工具 文本关键字:Linux.软件管理.RPM工具.软件依赖 一.RPM介绍 1. RPM含义 RPM的全称是:Red Hat Package Manager,是RPM软件包管理器.在Linux系统中对应命令是rpm,我们看到名称中含有Red Hat,也就说明主要是在Red Hat发行版中使用的,除此之外还包括和Red Hat最亲近的CentOS,以及其他一些主流发行版:SuSE.Fedora等. 2. RPM特点 rpm也是一种打包格式,使用rpm工具来进行管理

Linux软件管理 - YUM工具

Linux软件管理 - YUM工具 文本关键字:Linux.软件管理.YUM工具.解决依赖 一.YUM介绍 1. YUM含义 YUM的全称是:Yellowdog Updater Modified,是一个基于RPM包管理的Shell前端软件包管理器.由于是基于RPM包管理器,那么使用的场景也就和RPM类似,主要支持的Linux操作系统为:RedHat.CentOS.Fedora.YUM还提供了图形化前端工具:yumex和kyum,需要在yum正常工作的前提下使用. 2. YUM特点 使用pytho

Linux软件管理 - 编译安装

Linux软件管理 - 编译安装 文本关键字:Linux.软件管理.configure.make.make install 一.环境准备 很多软件下载之后是一个源码包,是不能够直接运行的,需要先进行编译安装,生成可执行程序.在进行编译时,需要先使用yum安装编译工具. 1. 核心组件 必须要安装的就是gcc(GNU Compiler Collection)GNU编译器套件,其中包含了C.C++.Objective-C.Fortran.Java.Ada.Go语言前端,也包含了对应语言的库,几乎可以

16、Linux软件管理工具rpm详解

1 Linux软件安装概述 安装程序的方式: 软件包概述 RPM RPM的缺点 RPM包 RPM分包 RPM命令的使用 rpm 包管理 升级注意项 如何安装rpm软件包 如何卸载rpm软件包 如何升级rpm软件包 如何查询rpm软件包 如何查看与rpm包相关的文件和其他信息 如何校验rpm包 RPM的数据库 1 Linux软件安装概述 安装程序的方式: 通用二进制格式:直接解压压缩文件,就可以使用.但一定要注意安装平台. 软件包管理器:如RPM. 软件包管理器的前端工具:如YUM. 源代码编译.

Linux学习之CentOS(二十三)--Linux软件管理之源代码以及RPM软件包管理

在Linux系统下,对于软件包的管理有多种机制,有源代码方式.RPM软件包管理方式以及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件包管理机制 一.源代码形式 首 先我们先来看一下源代码的方式.我们知道,在开源的环境下,大多数的开源软件都是以源代码的形式来发布,通常将源代码打包成tar.gz的归档压缩文件发 布到网上供我们下载使用.但是我们下载下来的源代码方式我们还不能够直接使用,不像在windows系统上直接下载下来可执行的二进制文件,我们需要将下 载好的

linux入门基础——linux软件管理基础:YUM

YUM软件管理 YUM(yellowdog Updater,modified)是一个RPM的前端程序,主要的目的是设计用来自动解决RPM的依赖关系问题.其特点如下: 自动解决依赖关系 可以对RPM进行分组,并基于组进行安装操作 引入仓库概念,支持多个仓库 配置简单 YUM引入了仓库的概念,仓库用来存放所有现有的rpm软件包,当使用rpm安装一个rpm软件时,如果存在依赖关系,会自动在仓库中查找依赖软件并安装 仓库可以是本地的,也可以通过http.ftp或者NFS形式使用集中的.统一的网络仓库.

linux软件管理器之——rpm

rpm的全名为"RedHat Package Manager",是一种软件管理机制.顾名思义,这个机制最早是有RedHat公司开发出来的,后来因为实在很好用,包括fedora,centos,suse等知名厂商也使用了这个机制来作为软件安装的管理方式.rpm是以一种数据库记录的方式来将你所需要的软件安装到你的linux系统的一套管理机制. rpm包的命名格式     rpm的命名格式为:name-version-relase.arch.rpm version: major.minor.r