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

相关推荐

  • 浅谈编译kernel+busybox构建拥有远程ssh登录和web功能最小linux系统(二)

    忘了介绍本文的源码的版本了 dropbear-2013.58.tar.bz2    busybox-1.21.1.tar.bz2 linux-3.13.6.tar.xz  nginx-1.4.7 基于上文,我们还差group文件没有写 root@mysql etc]# vi group  …

    Linux干货 2015-09-22
  • Linux的基础文件管理命令

    Linux用于管理文件的一些基本常见的命令如下: ls:  列出指定目录下的清单    -a  显示所有文件包括隐藏文件    -l  显示文件的详细信息    -d  查看目录自身   示例: cat:  可查看指定路径下的文件文本 fi…

    Linux干货 2016-11-06
  • Linux 内存管理

    1.Linux 进程在内存数据结构      可以看到一个可执行程序在存储(没有调入内存)时分为代码段,数据段,未初始化数据段三部分:      1) 代码段:存放CPU执行的机器指令。通常代码区是共享的,即其它执行程序可调用它。假如机器中有数个进程运行相同的一个程序,那么它们就…

    Linux干货 2015-04-13
  • 文本处理练习题

    文本处理练习:   1.找出本机ip地址   [root@localhost ~]# ifconfig |head -2 |tail -1 |tr -s ' ' ':' |cut -d: -f3   10.1.252.221   2.查看本机分区最大的利用率   [root@l…

    Linux干货 2016-08-08
  • 网络管理(三)之路由设置、网络组

    网络管理(三)之路由设置、网络组 一、网卡名称: 1、网络接口的识别命名udev配置文件:#vim /etc/udev/rules.d/70-persistent-net.rules 2、网卡查看:#dmesg | grep -i eth 或者#ethtool -i eth0            …

    Linux干货 2016-09-08
  • 初识linux

    Linux 是什么?2014年之前我都没有听说过linux。 简单来说,Linux是一种操作系统,我们知道Windows吧,Linux也是一种操作系统。 特性: (1)字符界面(当然现在也有图形界面了) (2)一切皆文件 (3)许多小工具程序组合 Linux脱胎于Unix,Unix是由贝尔实验开发的。符合posix 标准,Unix系统上面的应用程序大部分可以…

    Linux干货 2016-06-01