linux 软件包管理

1、Linux软件包管理

Redhat, SUSE: RPM

Redhat Package Manager

PRM is Package Manager

前端工具:yum, apt-get

后端工具:RPM, dpt

 

2、rpm:

数据库:/var/lib/rpm 

rpm包: 软件包作者下载源程序,编译配置完成后,制作成rpm包

格式:name-VERSION-release.arch.rpm

例:httpd-2.4.6-40.el7.centos.x86_64.rpm

VERSION: major.minor.release

release:release.OS

主版本号:较大改变

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

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

 

3、rpm:安装、卸载、升级、查询

 

安装

rpm -i /PATH/TO/PACKAGE_FILE

-h: 以#显示进度

-v: 显示详细过程

rpm -ivh /PATH/TO/PACKAGE_FILE 一般安装参数

–nodeps: 忽略依赖关系;

–replacepkgs: 重新安装,替换原有安装;

–force: 强行安装,可以实现重装或降级;

查询

rpm -q PACKAGE_NAME: 查询指定的包是否已经安装

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

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

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

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

 

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

rpm -qpi /PATH/TO/PACKAGE_FILE

rpm -qpl

 

升级

rpm -Uvh NEW_PACKAGE: 如果装有老版本的,则升级;否则,则安装;

 

不要对内核做升级操作;Linux支持多内核版本并存,因此,对直接安装新版本内核

如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的同一个配置文件并不会直接覆盖老版本的配置文件,而把新版本的文件重命名(FILENAME.rpmnew)后保留

 

卸载

rpm -e PACKAGE_NAME

–nodeps

校验

rpm -V PACKAGE_NAME

重建数据库

rpm

–rebuilddb: 重建已安装的包头的数据库索引目录;

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

 

3、Yum 基于C/S的结构,可以解决软件包的依赖关系

yum仓库中的元数据文件: repodate  软件的依赖关系等

Yum仓库的校验key:RPM-GPG-KEY-CentOS-x  使用建议导入key值

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-x

 

Yum的repo文件配置

[Repo_ID]

name=Description

baseurl=      配置仓库类型  !!路径为repodate的父目录

ftp://    ftp服务器路径

http://

file:///  本地镜像挂载点

enabled={1|0}  启用禁用

gpgcheck={1|0}

gpgkey=

 

Yum list all: 列表 支持glob

clean: 清理缓存

[ packages | headers | metadata | dbcache | all ]

更换yum源,要执行yum clean all 清理缓存

 

repolist: 显示repo列表及其简要信息yum源开启状态 默认enabled

 

使用yum安装软件

yum [options] [command] [package …]   yum安装软件

-y: 自动回答为yes

–nogpgcheck

yum install/remove/updatePACKAGE_NAME

 

5、编译安装

前提:准备编译环境

yum groups install “Development Tools”

# tar xxx.gz…

# cd

# ./configure  

–help   支持安装选项和模块

–prefix=/path

功能:1、让用户选定编译特性;2、检查编译环境;

# make

# make install

ag:

# tar xf httpd-2.4.27.tar.bz2

# cd httpd-2.4.27

# ./configure

# make && make install

 

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

修改/etc/profile文件

/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/local/tengine/include/   /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、man -M /PATH/TO/MAN_DIR COMMAND

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

原创文章,作者:cui,如若转载,请注明出处:http://www.178linux.com/84113

(0)
cuicui
上一篇 2017-08-06
下一篇 2017-08-07

相关推荐

  • 本地yum仓库配置以及创建yum仓库

    如何使用光盘当做本地yum仓库?     1.挂载光盘至某目录,例如/media/cdrom      [root@CentOS7 ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr…

    Linux干货 2016-08-23
  • Linux命令date命令详解

    在linux环境中,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便,下面是详细的使用说明和示例 在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。 1.命令格式:date[参数]… [+格式] 2.命…

    2017-07-18
  • 文本三剑客之sed用法总结

    描述:    sed是Stream EDitor(行编辑器)的简写,是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你…

    Linux干货 2016-08-10
  • Linux运维学习历程-第一天-基础知识

    什么是Linux   Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 为什么学Linux…

    Linux干货 2016-08-03
  • shell脚本基础

    编程基础 v程序:指令+数据 v程序编程风格: 过程式:以指令为中心,数据服务于指令(适合小型程序) 对象式:以数据为中心,指令服务于数据(适合大型程序) vshell程序:提供了编程能力,解释执行 程序的执行方式 v计算机:运行二进制指令; v编程语言: 低级:汇编 高级: 编译:高级语言–>编译器–>目标代码 java…

    Linux干货 2016-08-15
  • http协议基础(一)

    web服务:      Apache      Nginx      LVS      http协议 网站运维:      web站点      游戏网站web服务 高性能,高可用…

    Linux干货 2017-04-18