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

相关推荐

  • N25-第19周博客作业

    1、描述Tomcat的架构; 2、详细解释Tomcat的配置文件及配置文件中的参数所代表的含义; 3、配置apache通过mod_proxy模块与Tomcat连接的详细过程; 4、配置基于mod_jk的负载均衡; 5、配置tomcat集群,能够实现用户的session会话保持。 1、描述Tomcat的架构; Tomcat组件,分为4类: 顶层类组件:包括&l…

    2017-05-21
  • 铭记今天

        2016年10月19日,我做了一个很艰难的决定,选择了马哥24期网络全程班,就算是冲动也好,无论对错都要坚持下去。 从出来工作之后,一直做销售这块,虽然跟电脑有关,但是其中的艰苦只有自己明白。慢慢的年级上来了,手中没有什么技术,做人生活,总觉得少了什么,总觉得自己以后会被社会淘汰,心一天一天着急。在后选择了一个从来都没有涉及的运维…

    Linux干货 2016-10-19
  • linux shell 脚本详解

    . Linux  shell 脚本编写基础◆1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行:编译 chmod +x filen…

    2017-08-05
  • MySQL常用字符函数

    MySQL常用字符函数简介 CONCAT(S1,S2…Sn) 连接S1,S2…Sn为一个字符串 concat函数,把传入的参数连接成为一个字符串。 例如: 把“aaa”、“bbb”、”ccc”3个字符串连接成一个字符串,“aaabbbccc”.另外任何与NULL进行连接的结果都将是NULL. >SELEC…

    Linux干货 2017-05-01
  • 第三周练习

    列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,只显示一次。                     ~]# who | cut -d" " …

    Linux干货 2016-11-09
  • cp命令浅析

      cp主要作用    1拷贝文件到指定目录    2拷贝文件到指定文件    3拷贝多个文件到指定目录    4拷贝目录到指定目录    5拷贝多个目录到指定目录 先做些准备工作 &nbs…

    2017-04-04