rpm/yum/源码包编译等操作说明

rpm/yum/编译

RPM篇:

RPM是RedHat Package Manager(RedHat软件包管理工具)其作用相当于Windows里面的“添加/删除程序。

RPM包的一般格式为:

name-version-arch.rpm

name-version-arch.src.rpm

  name:软件包名称。

version:带有主、次和修订的软件包版本。

arch:硬件平台。硬件平台包括了:i386、i486、i586、i686、x86_64、ppc、sparc、alpha

src.rpm:源代码包。

 例如: python-psutil-1.2.1-1.el7.x86_64.rpm

  python-psutil:是软件名称。

1.2.1-1:是软件版本。

    e17:表示这个软件包的发行商版本。

x86_64:是适用的硬件平台。

另外还有有些包中有如下字符表示:

  devel:表示这个RPM包是软件的开发包,例如mysql-devel-5.1.52-1.el6_0.1.i686.rpm。

noarch:说明这样的软件包可以在任何平台上安装,不需要特定的硬件平台。在任何硬件平台上都可以运行

RPM包配置文件以及二进制程序关联包的查看

查看二进制程序所依赖的库文件:

ldd /bin/ls:列ls命令所需要的所有库以及调用:查看二进制程序所依赖的库文件;

管理以及查看本机装载的库文件:

ldconfig

/sbin/ldconfig -p:显示本机已经缓存的所有可用库文件以及名称文件路径的映射关系:

配置文件为:/etc/ld.so.conf.d/,/etc/ld.so.conf.d/*.conf

缓存文件: /etc/ld.so.cache

RPM包的安装、升级、删除以及查询:

1,安装:

rpm {-i|--install} [install-options]PACKAGE_FILE ..

如:rpm -ivh  --replacepkgs zsh-5.0.2-7.el7.x86_64.rpm  --nodigest --nosignature

其中: -ivh:表示安装并显示安装进度等详细信息;

--replacepkgs:重新安装;替换原有的程序包

--nodigest不检查包完整性

--nosignature:不检查包来源合法性

安装常用参数选项:

--test:测试安装,不真正执行安装过程:dry run模式:

--nodeps:忽略依赖关系:

--replacepkgs:重新安装;替换原有的程序包

--nodigest不检查包完整性

--nosignature:不检查包来源合法性

2,升级:

rpm {-U|--upgrade}[install-options] PACKAGE_FILE ...

rpm {-F|--freshen} [install-options]PACKAGE_FILE ...

upgrage:安装有旧版程序包,则升级;如果不存在旧版,则安装;

fresshen:安装有旧版程序包,则升级;如果不存在旧版,则不执行升级操作;

常用参数选项:

--oldpackage:由新版本降级为旧版本

--force:强制升级;

如:rpm -Uvh--oldpackage python-psutil-1.1.1.el6.x86_64.rpm

            3,删除:

                  rpm {-e|--erase} 包名

                  如:rpm -e zsh

             4,查询:

                 rpm {-q|--query} [select-options] [query-options]

                 RPM安装前查询:

                   查看的前提是您有一个.rpm 的文件,也就是说对既有软件file.rpm的查看;

1)查看一个软件包的用途、版本等信息;

rpm -qpifile.rpm

2)查看一件软件包所包含的文件;

rpm -qplfile.rpm

3)查看软件包的文档所在的位置;

rpm -qpdfile.rpm

4)查看一个软件包的配置文件;

rpm -qpcfile.rpm

5)查看一个软件包的依赖关系

rpm-qpR file.rpm

RPM在系统安装后的查询:

1)查询系统已安装的软件;

rpm -q 包名

rpm –qa:查看系统所有的RPM包,可用配合grep选取自己需要的查询或rpm –qa|less

2)查询一个已经安装的二进制文件属于哪个软件包

rpm -qf 文件名   如:rpm –qf  /usr/bin/ls

3)  查询已安装软件包都安装到何处

rpm -ql 包名      如:rpm –ql zsh

4)  查询一个已安装软件包的信息

rpm -qi 包名       如:rpm –qi zsh

5)  查看一下已安装软件的配置文件;

rpm –qc 包名

6)  查看一个已经安装软件的文档安装位置:

rpm -qd 包名

7)  查看一下已安装软件所依赖的软件包及文件;

rpm-qR 包名

RPM包的签名导入:

rpm --import RPM-GPG-KEY

RPM包的校验:

rpm {-V|--verify} [select-options][verify-options]

如:rpm -V zsh

RPM数据库重建:

rpm数据库存储在: /var/lib/tpm/下:

rpm{--initdb|--rebuilddb}

initdb:初始化:存在就不进行操作,没有就新建

rebuilddb:重建

无论存在与否,直接重新创建数据库

YUM篇:

RPM虽然能管理安装包,但是无法自动解决安装过程中包的依赖关系。因此我们一般使用RPM管理工具YUM来安装和管理RPM包;

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。

yum的命令形式一般是如下:

yum [options] [command] [package ...]
[options]是可选的,

-h:帮助

-y:当安装过程提示选择全部为"yes"

-q:不显示安装的过程

[command]为所要进行的操作

[package ...]是操作的对象。

1 安装
yum install 全部安装
yum install package1 安装指定的安装包package1
yum groupinsall group1 安装程序组group1

2 更新和升级
yum update 全部更新
yum update package1 更新指定程序包package1
yum check-update 检查可更新的程序
yum upgrade package1 升级指定程序包package1
yum groupupdate group1 升级程序组group1

3 查找和显示
yum info package1 显示安装包信息package1
yum list 显示所有已经安装和可以安装的程序包

yum list available:可以还没安装的

yum list updates :可以升级包

yum list installed:已经安装的包
yum list package1 显示指定程序包安装情况package1
yum groupinfo group1 显示程序组group1信息yumsearch string 根据关键字string查找安装包

4 删除程序
yum remove package1; erase package1 删除程序包package1
yum groupremove group1 删除程序组group1

5 清除缓存
yum clean all 清本地除缓存

6.重新安装

yum  reinstall package1  package2 ....

7.降级安装

yum    downgrade package1  package2 ...

8.显示程序包的依赖关系

如:yum deplist  gcc

YUM repository: yum仓库

存储rpm包,以及包的相关的元数据文件(放置在特定目录:repodata);

yum配置文件:

/etc/yum.conf :各yum仓库指向的公共配置:为所有仓库提供公共配置

/etc/yum.repos.d/*.repo:指定多仓库,为仓库的指向提供配置信息

YUM仓库的定义:

[repositoryID]yum仓库名称,为仓库提供公共配置

name=some name for thisrepository

baseurl=url://path1/to/repository

ur2://path1/to/repository

...

enabled={1|0}:是否启用仓库

gpgcheck:是否检查包的完整性和来源合法性

repo_gpgcheck:是否检查仓库的元数据文件的签名信息;

gpgkey=URL:url指向密钥文件

enablegroups={1|0}:是否支持组管理程序包

failovermethod={roundrobin 轮询随机| priority优先级}:故障管理方法;

keepalive:保持连接功能:

username=

password=

cost={1000| }    定义开销数字;

程序包的编译安装:

testapp-VERSION-release.src.rpm  :使用rpmbuild命令制作成二进制格式的rpm包,需要编译而后再安装;

在我们进行编译安装的时候需要提前安装编译软件需要的开发环境和开发库:"Development Tools"和”DevelopmentLibraries“;先配置好yum库,然后利用yum库安装

yum –y groupinstall "Development Tools"  //安装开发工具

yum groupinstall -y "DevelopmentLibraries"  //安装开发库

下面以编译安装apache 2.2; 启动此服务为例说明:

a,获取安装包并解压:apr-1.5.2.tar.gz ,apr-util-1.5.4.tar.gz , httpd-2.2.31.tar.gz , pcre-8.36.tar.gz

b:编译安装

tar -zxf apr-1.5.2.tar.gz

cd cd apr-1.5.2/

./configure--prefix=/usr/local/apr

make

make install

tar -zxf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4/

./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make

make install

tar -zxf pcre-8.36.tar.gz

cd pcre-8.36/

./configure--prefix=/usr/local/pcre

make

make install

tar -zxf httpd-2.2.31.tar.gz

cd httpd-2.2.31/

./configure--prefix=/usr/local/apache --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

如果报错可以执行下面一句

./configure--prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ap_cv_void_ptr_lt_long=no

make

make install

检查/usr/local/apache 目录中是否已经编译成功。

c:启动测试

/usr/local/apache/bin/apachectlstart

/usr/local/apache/bin/apachectlstop

d:查看 ps -ef | grep httpd

安装完成后配置:

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

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

exportPATH=/path/to/bin:$path

2,导出库文件路径:

编辑  /etc/ld.so.conf.d/name.conf

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

让系统重新生成缓存:

ldconfig [-v]

3,导出头文件:

创建链接;

基于链接的方式实现:

ln -sv

4,导出帮助手册

编辑/etc/man.config文件中

添加一个 MANPATH

时间: 2024-11-06 00:54:57

rpm/yum/源码包编译等操作说明的相关文章

Linux软件包管理{rpm|yum|源码包}2015082901

CentOS软件包管理 Linux程序安装有三种方式: 1.  二进制包安装 a.RPM b.YUM 2.  源码包安装 (1)二进制包管理: RPM CentOS上的二进制包为rpm格式,并且rpm软件包管理程序也叫做rpm(RPM is Package Manager) RPM包管理方式的优点是:安装简单方便,因为软件已经编译完成打包完毕,安装只是个验证环境和解压的过程.此外通过RPM方式安装的软件,RPM工具都会记录软件的安装信息至数据库中(/var/lib/rpm),这样方便了软件日后的

liunx命令6 vim编辑、压缩命令、rpm、yum及源码包编译安装

[[email protected] ~]# yum install -y vim-enhanced vim打开文件编辑(有颜色) [[email protected] ~]# vim  !$                   //上一条命令的最后一条参数 [[email protected] ~]# vim +10 !$                //打开文件进入第十行 :set number                                 //显示行号 vim 一般模式

源码包编译安装mariaDB

前言 MySQL是一个关系型数据库管理系统,是最流行的关系型数据库管理系统,由于其体积小.速度快.总体拥有成本低,并且之前是完全开源,所以大受欢迎.但由于后面MySQL卖给了SUN,随后SUN被Oracle收购,虽然也有开源免费版本,但是很多功能都需要另外购买商业版本,导致现在MySQL使用份额逐渐减少.所以MariaDB就是因为这种原因诞生出来,成为数据库管理系统是MySQL的一个分支. 先前已经使用二进制安装了mariaDB(详细请查看http://www.178linux.com/8787

源码包编译安装之--实战

最近安装公司安排很多程序让源码安装的活,今天和大家分享一下. 本文就以nginx为例进行源码安装的讲解: 解压: 1.# tar xf nginx-1.4.7.tar.gz{xz|bz2|gz} 2.# cd nginx-1.4.7 ./configure 还需通过许多选项指定编译特性 查看: ./configure--help --prefix=PATH        setinstallation prefix     nginx安装路径 --prefix=PATH        set i

nginx-1.8.0源码包编译安装

nginx源码包编译安装 1.nginx简介 Nginx ("engine x") 是一个高性能的HTTP和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行. 2.安装nginx时必须先安装相应的编译工具 [[email protected] ~]# yum -y install gcc gcc-c++ autoconf autom

源码包编译搭建LNMP+FastCGI平台

源码包编译搭建LNMP+FastCGI平台 搭建环境: CentOS 6.5 软件包版本: nginx-1.2.0.tar.gz mysql-5.5.13.tar.gz php-5.4.9.tar.gz PHP依赖包: mhash-0.9.9.9.tar.gz libiconv-1.13.tar.gz libmcrypt-2.5.8.tar.gz libevent-2.0.21-stable.tar.gz IP地址设置: server:10.21.1.80 client:10.21.1.81 一

Day13 目录结构&自定义Yum仓库&源码包编译安装(Service02)

一.linux一级目录 man hier可以查看所有一级目录的作用 1.1 /bin 普通用户使用的常用命令 1.2 /boot 系统引导必须的文件,包括内核.启动配置 1.3 /dev 键盘.硬盘.光驱等设备文件 1.4 /etc 系统配置文件和用户程序配置文件等配置文件 1.5 /home 普通用户的家目录 1.6 /lib /lib64 启动系统和程序所需要的库文件,lib表示32位.lib64表示64位 1.7 /mnt 临时挂载其他文件系统的挂载点 1.8 /opt 某些程序会安装在这

二十二、yum更换国内源、yum下载rpm包、yum源码包安装

一.yum更换国内源(更换yum仓库源) 1. # cd /etc/yum.repos.d/          进入到这个目录里边 2. # rm -f dvd.repo                    删除之前创建的这个文件 # cp ../yum.repos.d.bak/* .       复制之前备份的文件回来 # rm -f CentOS-Base.repo        将最核心的这个文件删除,可以ls查看到 3.# wget http://mirrors.163.com/.he

Linux安装yum源码包及相关操作

一.使用场景 很多时候下载的rpm包所提供的功能并不符合我们的需要,或者只需要使用其中一部分功能的时候,就需要进行源码安装.源码安装前,首先使用 yum grouplist 确认 Development tools 和 Server Platform Development这两个组已经被安装. 二.相关知识详解 1.make工具 所有的程序都需要gcc编译后才能执行,项目的开发者为了简化使用者的编译步骤,当时用make工具后,make会调用gcc对程序进行编译,所以说make是一种项目编译工具,