程序包管理(RPM,yum与编译安装)

RPM|YUM|编译安装

篇一RPM:

了解RPM; Linux程序以源代码的形式发行,用户把源代码构建为所需的程序或程序集

(需要注意的事项:初装环境,需要满足依赖关系)

     
    rpm的命名格式
          name-version-relase.arch.rpm
          name:程序包的名称
          version:程序包源代码的发行号。
          relase:rpm程序包版本号.
          arch:适用于的硬件平台(x86.x86_64,ppc等)
    rpm包的安装
        命令:rpm [option] /path/to/package_file 
        选项
           -i  :install 安装
           -v  :可视安装进度
           -h  :可以看到安装进度条
          -ivh :安装过程中能够看到安装进度,安装rpm包时必须要找到rpm本身
    rpm包的卸载
               命令:rpm [option] package_name
                     -e :        注意:后面跟所要卸载安装包的名字,不是路径
                                        过程中可能会出现依赖关系不考虑的话(--nodepes)
                                        
    rpm升级程序包
              命令:rpm [option] /path/to/package_file
                          -Uvh: 升级或安装 :有没有老版本都没问题有就替换,没有就安装。
                          -Fvh: 纯升级 (必须要有老版本才能升级)
                       --force: 强制升级。
                                  注意:对内核不能进行升级,只能对内核进行安装。
                                        (Linux允许多内核版本共存)                                    
    
    rpm查询程序包
              命令:rpm [option] package_name....
                         -q   包名  查询某单个包是否安装
                         -ql  包名  查询安装包生曾的列表的位置
                         -qf  文件  查询某文件是那个包安装生成的   
                         -qd  包名  查询包安装后生成的帮助文档
                         -qc  包名  查询安装后生成的配置文件
                 -q --scripts 包名  查询包相关的脚本       
                 
    rpm安全检测
              校验:检查包安装后生成的文件是否被修改过     
                rpm -V package_Name
              校验来源合法性和软件完整性
                   rpm -K /path/to/somefile
                   rpm --checksig /path/to/package_file
                          --nosigeature:不检查来源合法性
                             --nodigest:不检查包完整性
    rpm数据库
           位置:/var/lib/rpm
           重建:rpm --initdb:初始化
                               如果事先不存在一个数据库,则新建之
                 rpm --rebuilddb 重建
                               直接新建数据库,会覆盖原有库

篇二YUM:

了解yum(基于rpm上的工具|可以理解为一份详细的菜谱,里面包含了每道菜需要的材料和配方)

定义了当前仓库中所有的rpm包列表以及各包之间的依赖关系和每个软件包安装生成的文件列表

基于C/S架构的服务,需要Server和Client来进行使用,即yum仓库和本地的yum工具

最好的用处就是自动解决依赖关系

要使用yum管理应用程序,首先得配置其可用的yum仓库,保存在配置文件中
            /etc/yum.conf
            /etc/yum.repo.d/*.repo

[[email protected] yum.repos.d]# vi centos6.6.repo.b 
[[email protected] yum.repos.d]# ls
centos6.6.repo.b  CentOS6-Base-163.repo
[[email protected] yum.repos.d]#

[名字唯一]
       name=见名知意
       baseurl=仓库的访问路径    
                                       ftp ftp://server/path/to/repo
                                       http http://server/path/to/repo
                                       nfs  nfs://servr/nfs_path
                                       file file:///path/to/path     (本地以/开始)

enabled={1|0}1,表示启用。0表示不启用
       gpgcheck={1|0}1,验证gpg。0表示不验证
       gpgkey=公钥地址(可以是本地,也可以是服务器端路径)
       cost=定义此仓库开销,默认为1000

[bashoooo]
name=localcentos6.6
baseurl=file:///etc/zhong
enabled=1
gpgcheck=0

[class]
name=classcentos6.6
baseurl=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/
enabled=0
gpgcheck=0

yum安装

命令:yuminstall package_name

yum命令执行后会自动分析安装文件所依赖的包并下载下来后一并安装。

yum卸载

命令:yumremove package_name

yum缓存清理

命令 : yum clean{all|packages|metadata|expire-cache|rpmdb|plugins}

yum查询

命令 :  yum repolist {enabled|disabled|all}

列出所有可用的repo

yum list {all|installed|available}

列出rpm包

升级

yumupdate package_name

yum的命令历史查看

yum history

[[email protected] Packages]# yum grouplist
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Group Process
Loading mirror speeds from cached hostfile
Installed Groups:(安装的)
   Additional Development
   Base
   Console internet tools
Available Groups:(可安装)
   Backup Client
   Backup Server
   CIFS file server
   Client management

yum groupinfo "package_group_name": 显示包组信息
       三个跟开发相关的包组:
       Desktop Platform Development:有图形程序时需安装此组
       Server Platform Development
       Development Tools

yum  groupinstll    "group_name"  : 安装包组
 
yum  groupremove"group_name":卸载组

如果系统为Centos 5,开发包组为Development Tools,DeveLopment Libraries
        如何系统为centos 6,常用的开发包为Development tools,Server Platform Development

yum配置文件中可用的变量
  $releasever:程序的版本,对Yum而言指的是redhat-relrase版本。

只替换为主版本号,如 Redhat6.5则替换为6
  $arch:系统架构
  $basharch:系统基本架构,如i686,i586等的基本架构为i386
  $YUM0-9:在系统定义的环境变量,可以在yum中使用

篇三YUM编译安装:

编译安装的步骤:

先要确定Development tools,Server Platform Development  开发软件已安装

1.拿到源代码,并解压
           tar -xf package-version.tar.{gz|bz2|xz}
           注意:展开后的目录通常为package-version

[[email protected] ~]# ls
201312121212.12        ddtr.rar  httpd-2.2.31.tar.gz  one.sh    zhong
anaconda-ks.cfg        echo      install.log          scripts
CentOS6-Base-163.repo  etc       install.log.syslog   zero.tar

2.切换至源码目录中
            cd package-version

[[email protected] ~]# tar xf httpd-2.2.31.tar.gz -C /etc/zhong826
[[email protected] ~]# cd /etc/zhong826/

3.执行configure脚本         configure脚本的通用功能:
                                                          我们需要定义的配置:
                                                                                         1.指定安装路径
                                                                                            --prefix=前缀,用于指定安装路径
                                                                                            --sysconfdir=/etc/package_name
                                                                                        2.指定启动/禁用的特性
                                                                                            --enable-feature:例如--enable-fpm
                                                                                           --disable-fecture;例如 --disable-socket
                                                                                       3.指定所依赖功能、程序或文件
                                                                                           --with-function: 启用某功能
                                                                                           --without-function: 禁用某功能

[[email protected] httpd-2.2.31]# ./configure --prefix=/etc/httpd2 --sysconfdir=/etc/httpd2

不同的程序,其configure不尽相同,应获取帮助信息      ./configure --help     ./configure

(不是默认目录需要改环境变量)
   4.编译
           make
   5.安装
           make install

二进制程序的访问方法 (摘要)

/etc/profile.d/apache.sh
    PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH
    expore PATH=source /etc/profile.d/apache.sh

头文件输出给系统
    ln -sv /usr/local/apache/include /usr/include/httpd
    库文件
    vim /etc/ld.so.conf.d/httpd.conf
    /usr/local/apache/lib

让系统重新生成库文件路径缓存
    ldconfig
 
    导出man文件
    /etc/man.conf
    添加
    MANPATH /usr/local/apache/man

时间: 2024-10-09 11:29:56

程序包管理(RPM,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

十七、程序包管理之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.

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

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

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

Linux 程序包管理 rpm yum dnf

Linux程序包管理: 包管理器功能:打包,包管理(安装,升级,卸载,查询,校验) 目前Linux中最常见有两种常用工具 deb:debian Linux使用 包括ubuntu rpm:Redhat Package Manager ,Centos等在使用 程序包的组成: 二进制程序:/bin,  /sbin,  /usr/bin, /usr/sbin 库文件: /lib64, /usr/64 配置文件:/etc 帮助文件:manual, info 包管理器: 打包:将源文件,一个一个单一的归档文

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

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

程序包管理rpm、yum与简单编译安装程序

Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个ls命令就是一个二进制程序. 库文件:程序的公用功能模块,比如A程序需要用一个打印机,B程序也需要一个打印机就可以公用这一个模块了.在window下库文件为.dll格式,linux下为/lib/*so格式的文件. 配置文件:通过设置配置文件来改变程序启动时的运行特征. 帮助手册:使用的帮助文档. ?

Linux程序包管理rpm与yum

Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个ls命令就是一个二进制程序. 库文件:程序的公用功能模块,比如A程序需要用一个打印机,B程序也需要一个打印机就可以公用这一个模块了.在window下库文件为.dll格式,linux下为/lib/*so格式的文件. 配置文件:通过设置配置文件来改变程序启动时的运行特征. 帮助手册:使用的帮助文档.  

程序包管理之yum的用法

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

详解程序包管理RPM

一.定义      RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了. 二.RPM包管理的用途 1.可以安装.删除.升级和管理软件:当然也支持在线安装和升级软件:2.通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包:3.可以在查询系统中的