十七、程序包管理之yum和编译安装

YUM

  Redhat二次发行版 Yellow Dog Linux,上使用的yum(Yellowdog Update Modifier),由yellow dog 研发

yum命令的工作原理

1、接收用户命令

2、yum扮演为客户端,请求启用的仓库(yum.repos.d/*.repo)中URL对应的文件服务器,下载元数据(repodata),保存至缓存中。

3、yum命令分析元数据,找出将要安装的程序包所依赖的程序包且在系统中没有安装的程序包列表,并向文件服务器请求下载程序包,保存至缓存中。

4、根据缓存中的程序包,先安装被依赖的程序包。

5、安装后,删除程序包,保留元数据。

yum repository: yum repo

  存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata)

1、接收命令

2、请求下载repodata目录中元数据校验码:repomd.xml文件

3、比对repomd.xml

相同:用本地的元数据

不相同:重复首次安装过程



  一、Yum作用

1、rpm前端管理工具,自动解决程序包安装/卸载时的依赖关系。

2、C/S架构:C:yum程序所在的电脑,S:文件服务器

3、基于插件,提供众多功能,工作机制或设计体系存在问题,安装过程中半道中止时,下次重启yum命令不能够解决。

4、dnf命令能够解决Yum命令存在的问题,使用方法基本同yum

5、yum支持proxy,color,ssl

二、配置文件

ini风格: [] 表示一个配置段

获取帮助:

man的章节: 1: 普通用户 8:管理员 2:syscall 3:libcall 4:设备 5:配置文件 6:game 7:杂项

1)查看帮助手册所有的章节: whatis yum

2)查看帮助: man 5 yum.conf

获取配置文件

rpm -qc yum

  yum.conf         ## 为所有仓库提供公共配置

  yum.repos.d/*.conf  ## 为仓库的指向提供配置

配置文件格式

yum.conf
[main]      表示主配置段
cachedir    缓存文件的位置(程序包+元数据信息)     $$basearch   # cpu架构,X86_64等     $releasever  # 系统版本
keepcache 缓存使用后是否保留 1保留 0删除 debuglevel 调试级别 logfile yum安装程序包的安装日志文件路径 exactarch 是否精确平台匹配 1是 0否 (当前rhl6,程序包rhl7能否安装?) obsolutes 是否废弃 gpgcheck 安装包时是否检查来源合法性及完整性 1检查 (yum --nogpgcheck本次不检查) plugins 是否支持插件机制 1支持 (yum --noplugins 本次关闭) installonly_limit 同时安装几个程序包 bugtrack_url 追踪bug的URL distroverpkg 发行版 版本号 获取位置: centos / redhat 
debuglevel  调试级别
logfile     yum安装程序包的安装日志文件路径
exactarch   是否精确平台匹配   1是   0否 (当前rhl6,程序包rhl7能否安装?)
obsolutes   是否废弃
gpgcheck    安装包时是否检查来源合法性及完整性 1检查 (yum --nogpgcheck本次不检查)
plugins     是否支持插件机制   1支持   (yum --noplugins 本次关闭)
installonly_limit  同时安装几个程序包
bugtrack_url 追踪bug的URL
distroverpkg 发行版 版本号 获取位置: centos / redhat


仓库定义
[repositoryid] 仓库ID:多个仓库ID不能相同:base表示安装光盘提供的基本安装树
name=          仓库的名字
fail over method={roundrobin|priority} 故障转移方法  默认为roundrobin: 随机,priority: 从上而下
baseurl=URL     repodata目录所在的目录:是仓库指向的路径
        URL
        ...
enabled={1|0}       默认启用
gpgcheck={1|0}  
gpgkey=URL          指向能访问密钥文件的访问路径
repo_gpgcheck={1|0} 是否检查元数据信息repodata
enablegroups={1|0}  默认启用,是否支持在此仓库上使用组批量管理程序包
cost=               设定开销:默认1000

keepalive           远程为http1.1时,是否使用保持连接
bandwidth           带宽
username            用户名
password            密码
 

用URL定义仓库指向,baseurl=URL

URL: schema://服务器IP或域名/URL路径(指向一个文件或目录文件)

URL schema: ftp:// http:// https://  nfs:// file:///

 三、yum命令

获取帮助: man yum

获取子命令的帮助:yum help [SUB_COMMAND]

3.1、yum [OPTIONS...] [SUB_COMMAND]

OPTIONS

-y  交互式询问,自动回答为yes

-q  静默模式,grep , xz , zip,不显示程序包的依赖信息

--nogpgcheck      禁用 GPG 签名检查,不检查完整性和来源合法性

--disablerepo=REPO  仓库中如果enabled=1,本次安装忽略由REPO指定的仓库

--enablerepo=REPO   仓库中如果enabled=0,本次安装启用由REPO指定的仓库

--noplugins       本次安装禁用所有插件

注:yum -y -q :需要分开写

  yum不允许同时在多个终端同时安装

使用示例
-y
1、不加-y
[[email protected] ~]# yum install zsh
总下载量:2.4 M
安装大小:5.6 M
Is this ok [y/d/N]:  将交互式的显示是否安装
2、加-y
[[email protected] ~]# yum install -y zsh
总下载量:2.4 M
安装大小:5.6 M
Downloading packages:

-q
1、不加
[[email protected]~]# yum remove zsh
已加载插件:fastestmirror
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-25.el7 将被 删除
--> 解决依赖关系完成
[[email protected] ~]# yum -q remove zsh

========================================================================================
 Package         架构               版本                        源                 大小
========================================================================================
正在删除:
 zsh             x86_64             5.0.2-25.el7                @base             5.6 M

事务概要
========================================================================================
移除  1 软件包

是否继续?[y/N]:
依赖关系解决
2、加
[[email protected] ~]# yum -q remove zsh

========================================================================================
 Package         架构               版本                        源                 大小
========================================================================================
正在删除:
 zsh             x86_64             5.0.2-25.el7                @base             5.6 M

事务概要
========================================================================================
移除  1 软件包

是否继续?[y/N]:

--disablerepo=REPO
[[email protected] ~]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.neusoft.edu.cn
源标识                 源名称                                                     状态
base                   CentOS-7 - Base - mirrors.aliyun.com                        9,363
epel/x86_64            Extra Packages for Enterprise Linux 7 - x86_64             11,769
repolist: 21,132
[[email protected] ~]# yum --disablerepo=base repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.neusoft.edu.cn
源标识                 源名称                                                     状态
epel/x86_64            Extra Packages for Enterprise Linux 7 - x86_64             11,769
repolist: 11,769

--enablerepo=REPO
[[email protected] ~]# yum --enablerepo=extras repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirrors.neusoft.edu.cn
 * extras: mirrors.aliyun.com
源标识                    源名称                                                  状态
base                      CentOS-7 - Base - mirrors.aliyun.com                     9,363
epel/x86_64               Extra Packages for Enterprise Linux 7 - x86_64          11,769
!extras/7/x86_64          CentOS-7 - Extras - mirrors.aliyun.com                     449
repolist: 21,581

--noplugins
1、加载插件
[[email protected] ~]# yum install zsh-4.3.11-4.el6.centos.2.i686.rpm
已加载插件:fastestmirror

2、不加载插件
[[email protected] ~]# yum --noplugins install zsh-4.3.11-4.el6.centos.2.i686.rpm
正在检查 zsh-4.3.11-4.el6.centos.2.i686.rpm: zsh-4.3.11-4.el6.centos.2.i686
 

3.2、SUB_COMMAND

安装:install,localinstall,groupinstall

install package ...

localinstall package ... (centos 5安装rpm必须)

groupinstall GROUP ...

1、直接给出: yum install gcc  默认安装最新

2、给出版本: yum install gcc-1.2.3 指定安装版本

3.3、查询:list/repolist grouplist info whatprovides

显示仓库列表:

    repolist [all|enables|disabled]

仓库信息:安装、可用

repolist [all|enabled|disabled] 默认为enabled(启用和禁用)

显示程序包:

显示: yum  list [all|available|installed|updates]  [glob_expr1] ...

搜索:search STRING ... (STRING由Glob通配符和纯文本字符组成)

查看指定CAPABILITY(文件/功能)由哪个程序包所提供

whatprovides CAPABILITY

包内

信息: info package ...

yum repolist 显示启用 仓库id 仓库name 程序包的数量
yum list  包名 release号 仓库id
yum search yum 搜索程序包及简要信息
yum whatprovides /bin/ls  显示功能或文件由哪个仓库或程序包来提供
yum info 报名 :  类似rpm -q -i 显示程序包的内容
Name        : yum
Arch        : noarch
Version     : 3.4.3
Release     : 150.el7.centos
Size        : 5.5 M
Repo        : installed
From repo   : base
Summary     : RPM package installer/updater/manager
URL         : http://yum.baseurl.org/
License     : GPLv2+
Description

卸载: remove,groupremove

    remove package ...

    groupremove GROUP ...

[[email protected] ~]# yum remove yum
 

 3.4、常用命令

yum install  PACKAGES    # yum安装程序包
yum reinstall package1 [package2] [...]  # 重新安装
yum remove  PACKAGES   # yum卸载程序包
yum remove | erase package1 [package2] [...]

yum repolist  # 可查看搭建的yum库有多少个安装包。
yum repolist all  # 显示所有的仓库情况
yum clean  # 清除yum缓存
cat  /var/log/yum.log  # 查看yum安装报的日志文件,包括安装、卸载、更新等
yum list  # 显示所有库中所有的包,前带@说明已经安装
yum list *ftp*  # 支持文件名通配符,列出包含ftp的程序包
yum list [all | glob_exp1] [glob_exp2] [...]  # 列出包,支持文件名通配符
yum list {available|installed|updates} [glob_exp1] # 列出可用的、可安装的、能升级的

yum update [package1] [package2] [...]  # 升级,一般不建议升级
yum downgrade package1 [package2] [...]  # 降级

yum check-update  # 检查可用升级  1、检查可用升级[[email protected] ~]# yum --enablerepo=updates check-update  2、升级:[[email protected] ~]# yum --enablerepo=updates update 
yum info [...] # 查询包信息 

yum provides | whatprovides feature1 [feature2] # 查看指定的特性(可以是某文件)是由哪个程序包所提供 

yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] # 清除/var/cache/yum/$basearch/$releasever缓存,清楚类型指定,all为所有 

yum makecache # 构建缓存

yum search string1 [string2] [...] # 以指定的关键字搜索程序包名及summary信息 

yum deplist package1 [package2] [...] # 查看指定包所依赖的capabilities

3.5、本地缓存

清理: clean [headers|packages|metadata|dbcache|plugins|expire-cache|all]

构建: makecache

1、清理程序包
yum clean packages
2、清理头文件
yum clean headers
3、清理元数据
yum clean metadata
4、清理插件
yum clean plugins
5、清理过期缓存
yum clean expire-cache
6、清理所有
yum clean all

7、构建缓存
yum makecache

 3.6、查看yum历史事务:

  历史: history [info|list|packages-list|summary|addon-info|redo|undo|rollback|new]

yum history   # 查看历史记录
yum history info 6  # 查看yum历史记录第六条的详细信息
yum history undo 6  # 反向操作yum历史记录第六条的操作
[[email protected] ~]# yum history  #### 相当于yum history list
Loaded plugins: fastestmirror
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
   104 | install zsh-4.3.11-4.el6 | 2017-08-16 18:44 | Install        |    1
   103 | remove zsh               | 2017-08-16 18:44 | Erase          |    1
   102 | -y reinstall zsh-5.0.2-2 | 2017-08-16 18:24 | Reinstall      |    1
   101 | install zsh-5.0.2-25.el7 | 2017-08-16 18:22 | Install        |    1
   100 | --nogpgcheck remove zsh  | 2017-08-16 18:18 | Erase          |    1
    99 | install --nogpgcheck zsh | 2017-08-16 18:17 | Install        |    1
    98 | remove --nogpgcheck zsh  | 2017-08-16 18:16 | Erase          |    1
    97 | install zsh-4.3.11-4.el6 | 2017-08-16 18:15 | Install        |    1
    96 | remove zsh               | 2017-08-16 18:14 | Erase          |    1
    95 | --nogpgcheck install zsh | 2017-08-16 18:13 | Install        |    1
    94 | remove zsh               | 2017-08-16 18:13 | Erase          |    1
    93 | install zsh-4.3.11-4.el6 | 2017-08-16 18:12 | Install        |    6  <
    92 | install -y zsh           | 2017-08-16 18:08 | Install        |    1 ><
    91 | install createrepo       | 2017-08-16 10:01 | Install        |   56 ><
    90 | install zsh              | 2017-08-15 11:58 | Install        |   40 ><
    89 | install zsh-4.3.11-4.el6 | 2017-08-15 11:05 | Install        |    2 >
    88 | install mdadm            | 2017-08-11 17:14 | Install        |    2
    87 | install tigervnc-server  | 2017-07-31 22:24 | Install        |   22 P<
    86 | install libtermcap-devel | 2017-07-31 15:54 | Install        |    1 ><
    85 | -y install sendmail mail | 2017-07-31 15:49 | Install        |    4 >
Warning: RPMDB altered outside of yum.
history list

[[email protected] ~]# yum history summary
Loaded plugins: fastestmirror
Login user                 | Time                | Action(s)        | Altered
-------------------------------------------------------------------------------
root <root>                | Last day            | E, I, R          |       74
root <root>                | Last week           | Install          |       44
root <root>                | Last 3 months       | E, I, U          |      469
System <unset>             | Last 6 months       | I, U             |      288
root <root>                | Last 6 months       | I, U             |      206
history summary

[[email protected] ~]# yum history info
Loaded plugins: fastestmirror
Transaction ID : 104
Begin time     : Wed Aug 16 18:44:57 2017
Begin rpmdb    : 100:e66a5c3b4265234fa222836dc108212efe773c48
End time       :            18:44:58 2017 (1 seconds)
End rpmdb      : 101:d0ae5b619911556d572b14f912f0be9bdd0a9ba7 **
User           : root <root>
Return-Code    : Success
Command Line   : install zsh-4.3.11-4.el6.centos.2.i686.rpm
Transaction performed with:
    Installed     rpm-4.11.3-21.el7.x86_64                      @base
    Installed     yum-3.4.3-150.el7.centos.noarch               @base
    Installed     yum-plugin-fastestmirror-1.1.31-40.el7.noarch @base
Packages Altered:
    Install zsh-4.3.11-4.el6.centos.2.i686 @/zsh-4.3.11-4.el6.centos.2.i686
history info

3.7、利用yum安装包组

yum groupinstall group1 [group2] [...]
yum groupupdate group1 [group2] [...]
yum grouplist [hidden] [groupwildcard] [...]
yum groupremove group1 [group2] [...]
yum groupinfo group1 [...]

yum grouplist  # 查看包组列表

3.8、版本: version

[[email protected] ~]# yum version  ##rpmdb的版本
Loaded plugins: fastestmirror
Warning: RPMDB altered outside of yum.
Installed: 7/x86_64                         101:db92c5ee1a848d4268e09e1b87f10e6808a76af1
Group-Installed: yum                         15:396f07de8170b01350e3ca880e428c054b68573d
version

参考:https://www.cnblogs.com/sstjustdoit/p/10068322.html


如何使用光盘当作本地yum仓库

1)、挂载光盘

  挂载光盘至某目录,例如/media/cdrom

  #mount -r -t iso9660 /dev/cdrom  /media/cdrom

2)、创建配置文件

yum的repo配置文件中可用的变量:

   $releasever: 当前OS的发行版的主版本号

    $arch: 平台

    $basearch: 基础平台(x86平台,统一识别为i386)

    $YUM0-YUM9 自定义变量
比如:
实例:(针对不同版本的系统)
http://mirrors.magedu.com/centos/$releasever/$basearch/os
http://server/centos/7/x86_64
http://server/centos/6/i384

对于repo文件我们也可以参考阿里云,http://mirrors.aliyun.com/repo/将其的配置格式直接作为我们自己的配置。可通过:wget url....下载配置文件至当前目录

开销:服务器距离主机的距离,网络的延迟

镜像:同类仓库出现多个时,yum基于插件,同一个仓库指向一堆服务。不同站点同时提供同类仓库

程序包选择:

1、多个版本时,安装新的版本。

2、多个镜像站点,有相同的程序包,选择cost低的服务器

yum仓库配置及生成

仓库配置

1)、挂载光盘

  挂载光盘至某目录 

2)、配置仓库

yum -y install createrepo

仓库的生成

抽取rpm包中元数据(rpm内部文件的清单,CAPABILITY信息),制作repodata文件,放在repodata文件中及元数据的特征码。用createrepo命令实现

createrepo命令

createrepo [OPTIONS...] DIR
-o DIR          将repodata目录输出至
-x rpmfile ...  将目录中的rpm包排除
-i rpmfile ...  只对目录中的rpm包生成元数据及特殊码
--basedir=DIR

# createrepo -o /tmp /root
  /tmp/repodata
repomd.xml 存放元数据的指纹信息

元数据的存储的位置

压缩后存储于文件

sqllite接口存储,便于查询

1、清空目录
[[email protected] ~]# ls /tmp
[[email protected] ~]# 

2、创建元数据
[[email protected] ~]# createrepo -o /tmp /root
Spawning worker 0 with 5 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
lSqlite DBs complete

3、查看元数据位置
[[email protected] ~]# ls  /tmp
repodata

4、查看元数据的组成
[[email protected] ~]# ls /tmp/repodata/
24bff8236c43b8cce77ca9809b2b1e88bfd1e8fdfd74aef81ca79f93581ca228-primary.xml.gz
2f2effdd5cfd0a15456308e7f519c71981c5b6b0a022f1e727c753fd9d0b9257-filelists.sqlite.bz2
511b71f4b3d7d7a45a0578ca8e9afd8afaaed9ec6bc807245b47a70c3d0f02b1-other.sqlite.bz2
6fdabd5af8661afc931075fde9bc87f1859f78819fae135832918a2548ed7c9b-other.xml.gz
9c564d97a9a0ecd0b8d244b14c9cc22fffb62279989b041e66c8a2df1551c730-primary.sqlite.bz2
b0ab6c6ab987d2d530ca3faf2c7c3b725375a156df2130e77ccbc911b1ecc752-filelists.xml.gz
repomd.xml  ##以上数据的校验码信息

lftp命令

lftp> !STRING 执行shell命令
lftp> lcd DIR 本地执行切换目录
lftp> mget file ... 批量下载文件

程序包编译安装

目的:

1、提供的rpm功能不全

2、新功能,rpm包还没有制作

  原理: 源代码 -- 预处理(预处理器) -- 编译(编译器gcc) -- 汇编代码 -- 汇编(汇编器) -- 二进制指令 -- 链接(链接器)

源代码命名:

  testapp-1.2.3-1.操作系统平台.src.rpm -----》安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装

编译:

    静态: 共享库编译进程序,运行时不调用共享库,不链接,占内存。

  共享库:在编译成二进制程序后,需要用链接器,链接库。运行时,调用共享库。节约内存。

源代码组织格式:

  多文件:文件中的代码之间,很可能存在跨文件依赖关系:

    为了简化难度提供项目管理工具

      java源程序: maven

      c,c++程序: make (configure----->Makefile.in(开发工具生成)----->makefile)

C,C++代码编译的步骤

1、获取程序包开源代码的途径

1)、官方自建的站点

    apache.org(ASF:Apache Software Fundition)

   mariadb.org

2)、代码托管站点

  SourceForge

  Github.com

   code.google.com

2、

1)、手动提供开发环境及工具

开发工具 :make 、gcc

autoconf 生成confiugre脚本

automake 生成Makefile.in文件

     建议:安装前查看INSTALL 、README (/usr/share/doc/* )

开发环境:开发库,头文件

glibc(Gnu C标准库)、头文件

2)、通过“包组”提供开发组件 :

  CentOS包组 :可使用yum  grouplist 查看

6 "Development Tools" "Server Platform Development"

     yum -y groupinstall "Server Platform Development" :安装包组以后不需要自己解决依赖环境 或者自己安装软件时自己解决依赖也可以

7 "Development Tools"

3、展开查看INSTALL,README帮助手册:获取安装方式

1)只需要make

2)只需要make install

3) 直接使用

4、安装后检验gcc是否安装完毕: gcc --version

5、编译

5.1、 获取编译可指定的选项:  ./configure --help

   1) 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及Makefile.ini文件生成makefile;

   2)检查依赖到的外部环境;

    --prefix=DIR         程序默认安装位置,便于卸载(只有此选项时,所有其他目录均在DIR目录下)

    --sysconfdir=CONF_DIR   配置文件安装

    --disable-FATURE      默认启用,不想用时,才禁用

    --enable-FATURE     默认禁用,想用时,才启用

    --with-PACKAGE=PATH    指定当前程序包依赖的包及其所在的路径

    --without-PACKAGE    指定当前程序包不依赖的包

5.2 、make          当./configure成功后,生成Makefile文件后,方可make

   根据makefile文件,构建应用程序

  **注意Make后error信息**

5.3、make install     调用install命令,完成复制文件(dd,cp,install)

  一些脚本,就是把构建出来的应用程序,二进制扔到所指定的二进制路径里面去,库文件扔到所指定的库文件里面去

6、编译后的处理

PATH变量输出、库路径输出、头文件路径输出、man手册路径输出

1)导出二进制程序目录至PATH环境变量

环境变量: profile类

  编辑文件/etc/profile.d/NAME.sh

    export  PATH=/PATH/TO/BIN:$PATH

全局: /etc/profile 、 /etc/profile.d/*.sh

个人: ~/.bash_profile

2)导出库文件路径

查看库: ldconfig -p

 编辑库文件: /etc/ld.so.conf 、 /etc/ld.so.conf.d/*.conf

    添加新的库文件所在目录至此文件中

  让系统重新生成缓存: ldconfig [-v]

查看程序依赖的库:

# ldd path

3)导出头文件

  基于链接的方式实现:

     ln -sv /path/to/include /usr/include/NAME

4)导出帮助手册 

 编辑/etc/man.config文件

    添加:MANPATH /PATH/TO/man

不导出时:

man -M /PATH/TO/man COMMAND

原文地址:https://www.cnblogs.com/liuzhiyun/p/11374043.html

时间: 2024-10-13 02:16:57

十七、程序包管理之yum和编译安装的相关文章

linux程序包管理rpm,yum和编译安装以及冒泡排序练习

linux程序包管理: API:Application Programming Interface POSIX:Portable OS 程序源代码--> 预处理--> 编译--> 汇编--> 链接 静态编译: 共享编译:.so ABI:Application Binary Interface Windows与Linux不兼容 ELF(Executable and Linkable Format) PE(Portable Executable) 库级别的虚拟化: Linux: WIN

linux程序包管理之源码编译安装

一.linux程序包基础概念 1.1.linux程序开发遵循开源协定:GPL, BSE, Apache等 1.2.源程序常用的开发语言:C, C++, perl, python等 1.3.应用程序的开发.编译和运行 就像面包师直接使用的材料是面粉而非麦种一样,我们大部分应用程序员在开发程序时也并非直接接触硬件层,因为底层硬件太过抽象和"丑陋",如果应用程序开发都从底层开始,无疑工作量巨大.于是,有些系统级程序员在"裸机"上抹上了一层操作系统,用于管理硬件资源,这个系

程序包管理之yum的用法

程序包管理之yum的用法: yum(全称为 Yellow dog Update Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 工作机制: 基于RPM包管理,能够从配置文件中指定服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次性安装所有依赖的程序包,无须繁琐地一次次下载.安装. 当yum接收到用户的安装指令后,yum将会通过读取配置文件中的信息并从指定的远程服务器上下载该程序包,并会分析该程序包的依赖关系并同时下载改程序包所依赖的

linux程序包管理 rpm yum 编译

rpm命令:rpm  [OPTIONS]  [PACKAGE_FILE] 安装:-i, --install 升级:-U, --update, -F, --freshen 卸载:-e, --erase 查询:-q, --query 校验:-V, --verify 数据库维护:--builddb, --initdb 安装:rpm {-i|--install} [install-options] PACKAGE_FILE ... rpm  -ivh  PACKAGE_FILE ... GENERAL

Linux程序包管理之yum仓库、源码编译安装

CentOS:yum,dnf URL:ftp://172.16.0.1/pub yum是C/S架构,是rpm的前端工具,依赖于rpm存在的: 1.本地要有yun程序: 2.本地要有配置文件(配置远程服务器yum仓库或本地服务器yum仓库): 3.要有存在的文件服务器(程序包仓库即yum仓库).(也可以在本地配置服务器yum仓库): yum支持的服务器有两种:一种是ftp服务器,第二种是http服务器: yum工作简述: yum是客户端,也认为是自我独立管理的组件,需要联系远程的仓库,从仓库中下载

Linux程序包管理及yum安装管理

Linux程序包管理: API:ApplicationProgramming Interface   应用编程接口 POSIX:Portable OS    遵循本协议的程序均可在不同系统间移植 程序编写完成后,执行所要经过的处理步骤: 程序源代码 --> 预处理 --> 编译 --> 汇编 --> 链接 静态编译: 共享编译:直接调用.so共享对象实现 ABI:ApplicationBinary Interface  应用二进制接口 Windows与Linux所支持的可执行二进制

RPM程序包管理以及yum的应用

在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装.这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程.为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的系统去下载相应的安装包进行安装即可,其类似 Windows 的安装方式,由程序开发者直接在已知的系统上面编译好

程序包管理rpm,yum用法解析及自动化部署apache server实战,让您轻松拥有apache网站!

程序包管理器rpm,yum用法及apache httpd服务的自动化部署 程序包管理? 通常来说在windows中将需要安装的程序,程序名.exe下载下来然后点击setup的安装程序或直接点击程序包,下一步下一步即可.而Linux中程序包不是exe,不同的主流发行版有着不同的程序包管理机制.比较主流的主要是rpm程序包管理器和deb程序包管理. 这里要区别: 包名(PACKAGEFILE): rpm包程序文件的全名程序名(PACKAGENAME): rpm包不带版本号的程序名,比如QQ而不是QQ

Linux学习笔记——程序包管理之yum

YUM yum 是rpm程序包管理器的前段管理器.yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的倚赖性问题,便于管理大量系统的更新问题. yum 的操作是基于yum 仓库进行的 yum repository: yum repo  yum仓库 存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录下:repodata): 文件服务器: ftp:// http:// nfs:// file:/// yum 的配置 配置文件 /etc/yum.conf:为所有仓库提供公共配置