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 23:10
下一篇 2017-08-07 02:17

相关推荐

  • 马哥教育网络班22期+第三周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  ~]# who |sort -nu root     pts/0        2016-08-…

    Linux干货 2016-08-29
  • class14磁盘管理(一)

    一、硬盘基础知识及分区类型 1、磁盘结构 设备文件 I/O Ports: I/O 设备地址 一切皆文件:   open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键…

    Linux干货 2016-08-29
  • 马哥教育千万级PV实战大揭秘

    又到了激动人心的架构实战项目实践时间,马哥教育面授班的学员都很期待这一刻的到来,因为经过此次洗礼,能让自己成长更多! 上周二,马哥教育张Sir带领18期面授班的学员们做千万PV级别的电商架构实战项目!新增的多台R710企业级服务器设备,轻松搭建大数据、云计算等高端实验环境,让实战,更加真实!相信经过这场实战的洗礼,小伙伴们架构技能会有更大提升! 【张Sir生…

    2016-06-30
  • 为什么新建文件时,所在文件系统还有大量剩余空间,却提示此文件系统空间已满??

    一:答疑解惑:    这是因为该文件所在分区的inode号被用尽,虽然分区的剩余容量还有很多。 二:基本原理:   inode为何物block又为何物?以及,inode都有哪些特征?   ①我们知道,在linux文件系统中,文件名只是计算机用来给人看,而计算机本身只识别文件所对应的数字或编号,而这个编号或数字…

    2017-07-22
  • 创建用户、用户组

    创建用户、用户组                  1解释Linux的安全模型   2解释用户帐号和组群帐号的目的   3用户和组管理命令   4理解并设置文件权限 5默认权限 6特殊权限 …

    Linux干货 2016-08-08
  • lvs笔记之nat&dr模型简单实现

    lvs笔记之nat&dr模型简单实现 lvs笔记之nat&dr模型简单实现 lvs 集群 实现 负载均衡 nat lvs笔记之nat&dr模型简单实现 ipvsadm使用说明 lvs-nat的简单实现 踩过的坑1 lvs-dr实现 总结 ipvsadm使用说明     -A: 添加一个…

    2017-01-03