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

相关推荐

  • linux的一些简单的命令与操作

    1生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 首先通过hwclock,clock:显示硬件时间,然后通过hwclock –s来以硬件时间为准。校正系统时间。 2生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。 首先看看系统里面按没安装screen,没的话要安装。 安装:首先先把光盘…

    Linux干货 2016-10-19
  • lvs的基本概念及基础配置

    一、知识整理 1、Session:在计算机中,尤其是在网络应用中,称为“会话控制、时域”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将…

    Linux干货 2016-11-11
  • 文件服务及vsftpd的配置

    文件服务:     ftp:应用层,C/S,文件共享;file transfer protocol;     nfs,cifs:文件系统接口,网络文件系统;         nfs:network f…

    Linux干货 2016-10-15
  • Linux系统压缩和解压缩工具gzip、bzip2、xz以及tar打包工具总结

    在Linux系统使用过程中,对于一些不是常用的文件,利用cpu的时间资源对文件进行压缩可以节省一定的磁盘空间,对系统中某个目录经常会有备份的需求,可以使用Linux系统中的tar打包工具实现,文件的压缩对于大量的网络文件传输可以节约带宽,同时也能降低服务器的负载,我们经常需要从网站下载软件包到本地主机,这些包基本都是打包压缩的,要想使用安装,需要我们解压缩他…

    Linux干货 2016-08-18
  • linux小小小入门。

      ❀用户登录:     ❤root用户 这是一个特殊的管理账户,也被称为超级账户,root已经接近完整的系统控制。但是对系统的损害有非常广泛的能力。(一般情况下不会登录root)     ❤普通用户 权限有限,损害能力较小。 ❀终端terminal:     ❤设备终端 键盘,鼠标,显示器     &#x…

    Linux干货 2018-03-26
  • Linux的用户,组及文件权限管理

    Linux用户与组的创建,删除,属性修改,文件权限管理

    Linux干货 2018-02-24