一、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

linux 软件管理,Linux软件管理相关推荐

  1. Linux系统中的软件管理

    Linux系统中的软件管理 1 Linux中软件包的类型 2 软件包的名称结构 3 rpm命令管理软件包 4 本地软件仓库的搭建 4.1 系统软件仓库的作用 4.2 搭建方法 5 dnf 软件管理命令 ...

  2. 运维笔记10 (Linux软件的安装与管理(rpm,yum))

    概述:用rpm安装和管理软件(rpm解决依赖性),用yum安装与管理软件(yum解决依赖性). 1.linux的软件 linux能够说是一款改变时代的操作系统,可是一个操作系统再优秀假设没有好用的应用 ...

  3. 【Linux】15_软件管理RPM包管理

    目录 RPM包 YUM工具的RPM包管理 RPM工具管理RPM包 RPM包 RPM(原Red Hat Package Manager,现在是一个递归缩写),由 Red Hat 公司提出,被众多 Lin ...

  4. Linux软件管理器(如何使用软件管理器来管理软件)

    我们的Linux系统大部分都是某个Linux厂商的系统,所以这些厂商可以编译好一些软件来提供用户下载,用户下载完了之后就可以直接安装,从而省去了编译源码及其过程中的各种问题.这时我们就可以使用相应的软 ...

  5. tableau linux无网络安装_四十二、Linux网络管理,软件安装,进程管理总结

    「@Author: Runsen」 1.⽹络管理 1.1 网络状态查看 在Linux中经常使用ifconfig,route和netstat查看网络状态,它们就是. net-tools工具,下面我来使用 ...

  6. 【Java从0到架构师】Linux 应用 - 软件包管理、软件安装

    Linux 应用 - 软件包管理.软件安装 软件包管理器 rpm yum 软件的安装 jdk 1.8 mysql 5.7 tomcat8 Java 从 0 到架构师目录:[Java从0到架构师]学习记 ...

  7. 【Linux学习笔记】管理Linux操作系统:软件安装

    目录 一.RPM安装方法 1.查看rpm的版本与用法​ 2.rpm命令用法 3.安装vsftpd软件 二.yum安装 1.建立yum源本地仓库(注意:红帽Linux8是不行的) 2.查看所有库​ 3. ...

  8. linux软件管理及软件仓库

    目录 一.linux中软件包的类型 二.软件包的名称结构 三.rpm命令管理软件包 四.本地软件仓库的搭建 五.dnf软件管理命令 一.linux中软件包的类型 DEB UEBlinux DEBlin ...

  9. 最全解释:Linux操作系统下的软件安装与管理详解(源码安装、rpm/dpkg、yum/apt-get安装)

      在linux上安装软件,安装方式和软件包获取的途径都远远比windows的丰富,那当然这就变得复杂很多,本文旨在理解linux下繁杂的软件安装.管理原理 ,学习软件的安装方式.源码包格式.远程软件 ...

  10. Linux软件安装—软件包管理—rpm命令管理—包名与依赖性

    一.RPM包管理-rpm包命令管理 1.rpm包命名规则 apache包举例: httpd-2.2.15-15.el6.centos.l.i686.rpm各部分的含义如下表 内容 含义 httpd 软 ...

最新文章

  1. c#运行shell命令
  2. No loop matching the specified signature and casting
  3. mui实现手机web拍照_WEB前端开发与后端开发比较
  4. docker 集群中文件挂载的问题
  5. 安装DNN4.6.2 source code出现的问题
  6. LeetCode:Largest Number - 求整型数组中各元素可拼合成的最大数字
  7. [禅悟人生]心平气和, 慢慢修行
  8. mybatis 配置 mysql连接池_spring 5.x 系列第5篇 —— 整合 mybatis + druid 连接池 (xml配置方式)...
  9. android mtk 按键,Android 4.0 虚拟按键、手机模式、平板模式(转)
  10. 【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记
  11. 网页中竖的目录怎么改成横的_一点基础也没有,想快速练漂亮硬笔字,先练什么?怎么练进步明显?...
  12. android中的多渠道打包,Android 多渠道打包简析
  13. test title
  14. python创造订单失败_使用Python API创建新订单,get AttributeError:“str”对象没有属性“iteritems”...
  15. esp8266控制ws2812b
  16. html怎么播放f4v,优秀的flv网页播放器,支持高清f4v,mp4,rtmp,支持广告
  17. 移动地理信息系统学习笔记
  18. Golang面试题整理
  19. 交换机修改dhcp服务器ip范围,华为s5700交换机配置全局地址池dhcp服务器.doc
  20. c语言程序 输入一个四位数,用c语言编程:输入一个四位数,求出它的个位、十位、百位、千位...

热门文章

  1. 全球及中国CVD金刚石散热器行业运行分析及十四五发展战略报告2022年版
  2. 帝国网站导航config.php,帝国cms导航当前页面高亮实现另类方法:灵动标签+逻辑非...
  3. C语言写可联机存档的游戏,黑暗之魂3联机存档继承方法 DLC2怎么继承联机存档_3DM单机...
  4. gta java_Java输出hellow world
  5. navicat如何查询已连接的数据库密码信息
  6. 微电网优化调度(风、光、储能、柴油机)(Python代码实现)
  7. mac 装双系统win10的 任务管理器
  8. 简单易懂的装修流程图
  9. 期刊中的单盲双盲评审
  10. 困扰前端的像素相关概念:PPI、DPI、设备像素、独立像素