技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

rpm包管理器

0、  rpm包管理: 安装        rpm  -ivh  Packet_file.rpm                  -i, --install                   -e, 卸载                  -q, 查询                  -v, 显示包的详细信息。  v 的个数越多,信息越详细                  -vv                  -vvv v 的个数越多,信息越详细                  -h, hash 以#的个数显示安装进度。 准备的  和安装的。... 全文

rpm;rpm包;rpm详细信息

定制apache的rpm包

 现在很多大公司都在自己定制公司自己的rpm包,比如apache/nginx/php等常用的包,并且把这些包加到自己的yum里面,这样业务部门要是有这些rpm的时候,只要yum install就可以了。大家都知道制作rpm最核心的地方就是spec文件了,在这里跟大家共享一下我写的一个apche的spec文件。里面有我自己定义的一些东西,保证能在线上服务器上面使用。%define _topdir  /ziji/Centos5.4/%define _specdir %{_topdir}/SPEC%define _rpmdir  %{_topdir}/%define _srcrpmdir %{_topdir}/SRPMS... 全文

rpm apache rpm 定制apache spec 定制rpm

Linux程序包管理rpm命令的使用解析

态度决定一切,其实你可以做得更好!今天工作调休,抽空发布一篇博文,和大家一起来学习一下Linux下程序包的管理,rpm命令的使用。先来介绍下Linux下常见程序包的类别:RPM包:是发行商在兼容大众的开发环境下完成编译打包并且测试签名了的,可直接安装使用。... 全文

Linux rpm软件包管理 RPM Linux软件包管理 rpm使用

Linux   rpm包、rpm源码包及tar源码包的安装详解

      在使用linux系统的过程中,软件包的安装是避免不了的,在linux下,软件安装程序的种类很多,安装方法也格式各样,论安装的舒适肯定比不上windows,windows安装软件基本就是用鼠标点击下一步,如果学习linux的软件包安装,还像windows那样点击鼠标下一步安装,那就太对不起linux的shell了,linux的shell比linux的图形化界面要强大太多了。好了废话不多说了,安装软件包,首先要了解软件包的组成。       软件包由二进制文件、库文件、配置文件、帮助文件、头文件等这重要的部分组成。他们分别存放在系统的那些路径里面?... 全文

rpm包、rpm源码包及tar源码包

RPM包的制作过程

前沿:在早期软件开发,安装开源软件时,一般遵循这几个过程:1、获取source code2、安装所需的依赖包3、./configure [optional]4、make5、make install6、make uninstall [optional] 但由于在生产环节,直接安装开源软件比较繁琐,对系统而言危险系数较大,且安装出错没有具体日志可供分析,建议使用编译好的软件rpm包进行安装。RPM包制作过程: 每个程序要建立makefile文件,这一步是最繁琐的1、获取源代码和补丁2、rpm-build建立软件包... 全文

RPM RPM包制作

【 马哥教育内部文档】

本文系原创,转载或其它任何使用方法均需要得到作者授权!一、RPM简介Linux系统上的软件包管理器用于实现对系统上的安装的程序进行跟踪和管理,其中比较著名的有rpm,dpkg等。RPM的全称为RPM Package Manager(早期也叫做Red Hat Package Manager),它最早是Red Hat开发用于实现在Red Hat Linux上软件管理的工具;而目前得益于其强大的管理功能,许多发行版都采用了RPM作为其进行软件包管理的工具,这也使得RPM成为了事实上的工业标准。当然,RPM这个软件本身也由Red Hat基于开源协定发行。最近,RPM文件格式也被LSB(Linux Standards Base)采用为官方标准。RPM最早主要由Red Hat的Marc Ewing和Erik Troan开发,其在管理软件包方面表现出了以下特性(即其设计目标):(1)易用性(2)软件包导向(即以package为中心)(3)便于升级(4)跟踪软件包之间的依赖关系(5)易于查询(6)支持多种系统架构(7)使用纯净的源代码(pristine source)制作好的RPM格式的软件包包含一组带标签的数据(如NAME:nginx)和软件包主体,其通常是一个归档压缩文件,里面包含一个或多个文件,以及用于指明各文件安装位置、属主/属组、权限等信息的安装指令。标签数据用于描述软件包必要可选特征;而软件包主体则主要是指要安装在系统上的文件。进一步来说,RPM包通常包含四个组成部分:用于标示文件格式为RPM格式的前导标示区、数字签名、标签数据(也叫首部)和主体。为了便于软件包的管理,所有的rpm包的命令格式均遵循统一的规范,其共有四个部分组成:name-version-release.architecture.rpm。RPM分为两种类型:二进制格式和源码。二进制格式的RPM包已经编译好且可安装于特定平台,里面通常包含编译好的程序、库文件、配置或帮助文件等。当然,也有一些二进制格式的RPM包是平台无关的,即其名称中平台部分为noarch的RPM包。而源码格式的RPM包通常是打包起来的可用于制作二进制格式RPM包的命令、脚本、程序源码和程序补丁等,其可用于在特定平台上进行快速制作生成二进制格式的RPM包。在系统上,RPM数据库用于存储安装至当前系统的所有RPM包的相关信息,其通常是位于/var/lib/rpm/目录中的众多文件。这些文件可用于已安装RPM包的查询、校验等功能,其通常为:[root@www.magedu.com ~]# ls -lh /var/lib/rpm/ total 35M -rw-r--r-- 1 root root 4.8M Jan 15 14:09 Basenames -rw-r--r-- 1 root root 12K Jan 15 14:08 Conflictname -rw-r--r-- 1 root root 0 Jan 15 14:02 __db.000 -rw-r--r-- 1 root root 24K Jan 15 14:00 __db.001 -rw-r--r-- 1 root root 1.3M Jan 15 14:00 __db.002 -rw-r--r-- 1 root root 440K Jan 15 14:00 __db.003 -rw-r--r-- 1 root root 1.1M Jan 15 14:09 Dirnames -rw-r--r-- 1 root root 5.1M Jan 15 14:09 Filemd5s -rw-r--r-- 1 root root 12K Jan 15 14:09 Group -rw-r--r-- 1 root root 16K Jan 15 14:09 Installtid -rw-r--r-- 1 root root 40K Jan 15 14:09 Name -rw-r--r-- 1 root root 24M Jan 15 14:09 Packages -rw-r--r-- 1 root root 168K Jan 15 14:09 Providename -rw-r--r-- 1 root root 76K Jan 15 14:09 Provideversion -rw-r--r-- 1 root root 12K Feb 2 2012 Pubkeys -rw-r--r-- 1 root root 232K Jan 15 14:09 Requirename -rw-r--r-- 1 root root 156K Jan 15 14:09 Requireversion -rw-r--r-- 1 root root 84K Jan 15 14:09 Sha1header -rw-r--r-- 1 root root 44K Jan 15 14:09 Sigmd5 -rw-r--r-- 1 root root 12K Jan 15 14:02 Triggername其中,__db.001类的文件是RPM用于软件包管理时的锁文件,余下的其它文件通常为Berkeley DB格式的文件,其中最重要的是Packages,其包含了当前系统已经安装的所有RPM包的首部标签信息。其它文件如Name,Providename和Group等通常是为提高访问效率的,一旦损坏,它们都可以使用rpm命令的--rebuild进行重建。二、RPM的相关命令简介rpm命令:执行RPM包的安装、升级、卸载、校验、查询等相关管理工作的基本命令。rpmbuild命令:制作RPM包的命令。rpm2cpio命令:将RPM包展开为cpio格式的命令,其展开结果通常通过“管道”传送给cpio命令做进一步处理。如:# rpm2cpio ngnix-1.0.14-1.el5.i386.rpm | cpio -t # rpm2cpio ngnix-1.0.14-1.el5.i386.rpm | cpio -id三、RPM包的依赖关系程序通常不是完全独立运行的,其总会建构在其它功能的基础上,如nginx就需要用到系统上的网络相关的库文件、SSL库文件、I/O相关的库文件等。而这些表现在提供各不同功能的RPM包上,就是包之间的依赖关系。以RPM特有的方式描述,每个包都提供一种特定的能力(capabilities)。在大多数情况下,能力用文件的名字或软件包的名字表示,但也可以为某RPM明确定义其“能力”。一个特定RPM包的依赖关系通常定义为其依赖于某种“能力”,安装一个RPM包时,其“能力”就会保存至RPM数据库。而卸载RPM时,如果其“能力”被其它的RPM所依赖,卸载命令就会生成一个错误信息。在定义RPM包的依赖关系时,通常还能够根据实际定义其依赖的RPM包的版本信息。此外,当多个软件包也有可能提供相同“能力”,比如httpd和thttpd。在系统上存在某“能力”时,系统再安装相同能力的软件包,就会引发RPM包冲突(conflicts)。同时,当一个新版本的RPM包提供比其老版本的更新的“能力”时,就会导致原来“能力”的废弃(obsoletes)。rpm命令的--requires选项和-q选项一起使用,可以用来查询某RPM包所依赖的“能力”,如:[root@www.magedu.com ~]# rpm -q --requires httpd /bin/bash /bin/mktemp /bin/mv /bin/rm /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh /etc/mime.types /sbin/chkconfig /usr/bin/find /usr/sbin/useradd /usr/share/magic.mime config(httpd) = 2.2.3-31.el5 gawk initscripts >= 8.36 ... ... ... ...rpm命令的--provides选项和-q选项一起使用,可以用来查询某RPM包所提供的“能力”,如:[root@www.magedu.com ~]# rpm -q --provides httpd config(httpd) = 2.2.3-31.el5 httpd-mmn = 20051115 mod_actions.so mod_alias.so mod_asis.so mod_auth_basic.so mod_auth_digest.so ... ... ... ...rpm命令的--conflicts选项和-q选项一起使用,可以用来查询跟某RPM包所冲突的“能力”,如:[root@www.magedu.com ~]# rpm -q --conflicts httpdpcre < 4.0rpm命令的--whatrequires选项和-q选项一起使用,可以用来查询依赖于某RPM包所提供“能力”的其它“能力”,如:[root@www.magedu.com ~]# rpm -q --whatrequires initscripts portmap-4.0-65.2.2.1 foomatic-3.0.2-38.3.el5 kbd-1.12-21.el5 dhclient-3.0.5-21.el5 ... ... ... ...四、RPM中的事务事务即为被看作一个整体的一组操作,所有的操作可以由“回滚”撤销,并且“回滚”后,系统可以重回原来的状态。如果事务执行成功,系统将从旧状态转至新状态,而一旦事务执行过程中的任何一个操作出现故障,系统将会处于不一致状态,此时就需要事务“回滚”来保证系统状态的一致性。在RPM系统中,在安装或删除软件包时就会引发一个事务,并给予被操作的所有rpm包一个事务ID。而后,基于相同的事务ID可以实现对事务的回滚等各种操作。但目前来说,RPM系统仅支持对软件升级的操作进行回滚。事务给予RPM系统的一个最大好处就是在一个rpm命令中,如果某软件包安装出现错误,整个命令就不会进行,而不会出现安装了部分软件包的情况。查看某软件包安装时的事务ID的方法如下:[root@www.magedu.com ~]# rpm -q --qf "%-20{NAME} %-20{INSTALLTID}\n" httpdhttpd                1332925671          如果想查看某个ID的事务中安装了哪些软件包,可使用如下方法:[root@www.magedu.com ~]# rpm -q --tid 1332925671httpd-2.2.3-31.el5五、创建RPM包快速实现步骤... 全文

rpm包 rpm制作 rpm管理

使用rpmbuild制作签名RPM包

                                 使用rpmbuild制作RPM包 每个 RPM 软件包由三个基本组件组成: 1. 元数据 – 关于软件包的数据:软件包名称、版本、发布、构建程序、日期、依赖关系等。 2. 文件 – 软件包提供的文件存档(包括文件属性) 3. 脚本 – 安装、更新和 / 或删除软件包时,执行这些脚本 当构建 RPM 软件包时,需要指定软件包的元数据,需要提供存档中的文件以及当需要嵌入或卸载软件包时 应运行的脚本。文件在软件包文件中存储为cpio存档。使用rpm2cpio命令可用于将其抽取到当前工作目录,以查看包文件,例如:rpm2cpio package-1.2.3-4.el6.x86_64.rpm | cpio -id RPM 软件包规则: 若要构建RPM软件包,您需要内部版本规则文件或spec文件。Spec文件是包含关于如何构建可安装的RPM软件包的信息的文本文件。其大致分为五部分: 1. 列出关于软件包的元数据(名称、版本、许可证等) 2. 构建说明,详细说明如何编写和准备软件 3. 脚本小程序,详细说明安装、卸载或升级时要运行的命令 4. 清单,软件包文件列表及其关于软件包安装的权限 5. changelog ,记录对此RPM软件包所做的更改 rpmbuild 步骤: 1. 准备 2. 构建 3. 安装 4. 打包完成的 RPM 5. 清理 试做一个小的RPM包,环境RHEL6.2,留下作为笔记。 一、相关目录 ~/rpmbuild/SOURCES/ 存放源码压缩包和补丁文件 ~/rpmbuild/BUILD/ 存放源码 ~/rpmbuild/SPECS/ 存放spec文件 ~/rpmbuild/RPMS/ 最终RPM包 相关命令:rpmbuild 二、准备GPG签名密钥 [kevin@desktop25 SPECS]$ sudo yum install pinentry-gui -y [kevin@desktop25 work]$ gpg --gen-key 一直往下就行,内容随意,密码自定。后面会提示输入密码,确认密码。确认然密码等待随机数,这时鼠标随意移动生成随机数。我这里yong密码kevin生成密钥: @查看密钥: [kevin@desktop25 SPECS]$ gpg --list-key /home/kevin/.gnupg/pubring.gpg ------------------------------ pub   2048R/8156471D 2012-03-07 uid                  kevin (kevin) <kevin@kevin.org> sub   2048R/641335E8 2012-03-07 @导出公共密钥: [kevin@desktop25 SPECS]$ gpg -a -o ~/RPM-GPG-KEY-kevin --export 8156471D @将以下内容添加到 ~/.rpmmacros 文件(用系统的密钥 ID 替换该八个字符密钥 ID ),因此, RPM 将用您在上面创建的密钥签署软件包。 [kevin@desktop25 SPECS]$ echo '%_gpg_name 8156471D' > ~/.rpmmacros 二、写个小例子:显示当前目录下的文件及目录树(引用linuxsir上一脚本,谢谢作者) [kevin@desktop25 work]$ vim file_tree ——————————————————————————————#!/bin/bash redir () {         #tab是真正的步长计算器         tab=$tab$singletab         line=${tab%"$singletab"}"|-------"         #local比较关键,它规定了count是当前的参数列表值         local count=$#         for file in "$@"; do                 thisfile=${thisfile:-$PWD}/$file                 #判断当前文件是否为目录,如果是就开始递归                   if [ -d "$thisfile" ]; then                                                 #如果当前目录是分枝列表的最底层,则需进行特殊处理。                         if [ $count -eq 1 ]; then                                 echo -e $line$file/                                 #将前一个|符号去掉,看看目录树就知道为什么了。                                 tab=${tab%"$singletab"}"\t"                                 redir $(ls $thisfile)                         else                                 echo -e $line$file/                                 redir $(ls $thisfile)                         fi                                         else                         echo -e $line$file                 fi                                 thisfile=${thisfile%/*}                 let count=count-1               done                 #这一步比较有意思,因为从递归出来的tab结尾可能是TAB也可能是$singletab,所以分成两步来去掉。         tab=${tab%"\t"}         tab=${tab%"|"}         line=${tab%"$singletab"}"|-------" } singletab="|\t" userinput="$@" if ls $userinput; then         for file in ${userinput:-.}; do                 echo $file                 echo '|'                 if [ -d "$file" ]; then                         cd $file                         redir $(ls)                         cd ..                 fi         done else         echo "$userinput is wrong" fi —————————————————————————————— [kevin@desktop25 work]$ chmod +x file_tree [kevin@desktop25 work]$ mkdir file_tree-1.0 [kevin@desktop25 work]$ mv file_tree file_tree-1.0/ [kevin@desktop25 work]$ tar -zcf file_tree-1.0.tar.gz file_tree-1.0/ [kevin@desktop25 work]$ vim file_tree.spec ——————————————————————————————Name:           file_tree    Version:        1.0    Release:        1%{?dist}    Summary:        list files in current folder.    Group:          file_tree    (所属团体) License:        GPL    (协议) URL:            http://192.168.0.25/testing    Source0:        %{name}-%{version}.tar.gz    (源包的名字) BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires:  /bin/rm,/bin/mkdir,/bin/cp    (所需命令) Requires:       /bin/bash,/bin/date    (所需命令) %description    list files in current folder. %prep %setup -q %build (注意这里删除了下面两行 configure 和 make) %install rm -rf $RPM_BUILD_ROOT#make install DESTDIR=$RPM_BUILD_ROOT    (记得注释掉) mkdir -p $RPM_BUILD_ROOT/usr/local/bin    (创建安装目录) cp file_tree $RPM_BUILD_ROOT/usr/local/bin    (拷贝文件到目录) %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) #%doc%attr(0755,root,root)/usr/local/bin/file_tree    (加上脚本的权限) %changelog    (软件说明)*Wed Mar 7 2012 kevin<chu345258361@gmail.com> -Inital RPM -Added /usr/local/bin/file_tree —————————————————————————————— [kevin@desktop25 work]$ sudo yum install rpmbuild -y [kevin@desktop25 work]$ rpmbuild ~    (运行 rpmbuild 命令将创建 RPM 软件包所需的目录结构。) [kevin@desktop25 work]$ cp file_tree.spec ~/rpmbuild/SPECS/ [kevin@desktop25 work]$ cp file_tree-1.0.tar.gz ~/rpmbuild/SOURCES/ [kevin@desktop25 work]$ cd ~/rpmbuild/SPECS/ [kevin@desktop25 SPECS]$ rpmbuild --sign -ba file_tree.spec 输入密码:未报错,OK。 [kevin@desktop25 SPECS]$ pwd /home/kevin/rpmbuild/SPECS [kevin@desktop25 SPECS]$ ls ../RPMS/x86_64/ file_tree-1.0-1.el6.x86_64.rpm 生成rpm包 file_tree-1.0-1.el6.x86_64.rpm 。 通过安装密钥和软件包并运行命令来测试软件包: [kevin@desktop25 x86_64]$ sudo rpm --import ~/RPM-GPG-KEY-kevin [kevin@desktop25 x86_64]$ cd ~/rpmbuild/RPMS/x86_64/ [kevin@desktop25 x86_64]$ rpm -ivh file_tree-1.0-1.el6.x86_64.rpm [kevin@desktop25 x86_64]$ file_tree     (输入命令file_tree显示当前文件) OK 四、发布RPM软件包 [kevin@desktop25 x86_64]$ sudo yum install createrepo -y (创建本地源repodata作为软件的仓库) [kevin@desktop25 x86_64]$ sudo mkdir /var/ftp/pub/testing [kevin@desktop25 x86_64]$ sudo cp file_tree-1.0-1.el6.x86_64.rpm /var/ftp/pub/testing/ [kevin@desktop25 x86_64]$ sudo createrepo -v /var/ftp/pub/testing/1/1 - file_tree-1.0-1.el6.x86_64.rpm Saving Primary metadata Saving file lists metadata Saving other metadata [kevin@desktop25 x86_64]$ sudo cp ~/RPM-GPG-KEY-kevin /var/ftp/pub/testing/ 加入yum源:[yum] name=yum baseurl=http://192.168.0.25/pub/testing enabled=1 gpgkey=http://192.168.0.25/pub/testing/RPM-GPG-KEY-kevin 验证: [kevin@desktop20 ~]$ sudo yum install file_tree -y OK,发布成功~本文出自 “梦想年华 @楚国小生” 博客,请务必保留此出处http://linuxkeep.blog.51cto.com/1010009/799424... 全文

spec RPM包 rpmbuild gpg rpm2cpio

Linux 安装*src.rpm

src.rpm 是source包,要编译后才可以使用的;安装后是源码,rebuild后就会生成rpm包 方法:例 1:下载完成:[root@localhost beinan]# ls unrar* unrar-3.5.2-1.2.fc4.src.rpm unrar.spec安装源码包unrar-3.5.2-1.2.fc4.src.rpm;看一看安装在哪了呢?[root@localhost beinan]# rpm -ivh unrar-3.5.2-1.2.fc4.src.rpm安装在这里:[root@localhost beinan]# ls /usr/src/redhat/SOURCES/unrar unrar.1 unrarsrc-3.5.2.tar.gz然后我们通过unrar.spec 来执行,其实他是一个写好的编译脚本;[root@localhost beinan]# rpmbuild --ba unrar.spec编译完成:[root@localhost beinan]# ls /usr/src/redhat/RPMS/i386/ unrar-3.5.2-1.i386.rpm unrar-debuginfo-3.5.2-1.i386.rpm是不是可以安装呢?[root@localhost beinan]# rpm -ivh /usr/src/redhat/RPMS/i386/unrar-3.5.2-1.i386.rpm Preparing... ########################################### [100%] 1:unrar ########################################### [100%]是不是可用?[root@localhost beinan]# unrar x mydoc.rar清理垃圾文件:如果您经常用这种办法编译RPM 包,主要清理一下 /usr/src/redhat内各个目录的内容;  例 2:方法一:1.执行rpm -i your-package.src.rpm2. cd /usr/src/redhat/SPECS3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录5. ./configure 这一步和编译普通的源码软件一样,可以加上参数6. make7. make install 方法二:1.执行rpm -i you-package.src.rpm2. cd /usr/src/redhat/SPECS前两步和方法一相同3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件 这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。 执行rpm -i new-package.rpm即可安装完成。本文出自 “WebOS” 博客,请务必保留此出处http://webos.blog.51cto.com/3246098/631842... 全文

Linux *src.rpm src.rpm 安装* 休闲

19.文件系统——程序包管理概述及rpm包合法性验证(rpm

一、软件包的管理器组成    红帽(RedHat)的软件包管理器是rpm——Redhat Package Manager,它能够将程序包所需要的任何文件都封装成一个单独的个体,安装时按照需要展开、规划和部署到相关的位置。由于红帽的软件包管理器日益流行,很多其他的操作系统也会使用rpm,因此rpm不再表示Redhat Package Manager,而指代一个递归的缩写——RPM is Package Manager。尽管不同的操作系统都使用rpm软件包管理器,但不等于rpm可以互相兼容,因为不同的操作系统,其组织结构不相同。一个软件包的组成部分主要有以下四类:... 全文

Linux 文件系统 RPM 验证

rpm小结

 RPM的数据库:/var/lib/rpm 系统中安装的软件信息都会放在这个目录下,要及时备份。[root@localhost rpm]# ls -l /var/lib/rpm total 56372 -rw-r--r-- 1 root root  5607424 Nov 14 09:58 Basenames -rw-r--r-- 1 root root    12288 Nov 14 09:57 Conflictname -rw-r--r-- 1 root root    24576 Mar 29 17:33 __db.001 -rw-r--r-- 1 root root  1318912 Mar 29 17:33 __db.002 -rw-r--r-- 1 root root   663552 Mar 29 17:33 __db.003 -rw-r--r-- 1 root root  1933312 Nov 14 09:58 Dirnames -rw-r--r-- 1 root root  5316608 Nov 14 09:58 Filemd5s -rw-r--r-- 1 root root    32768 Nov 14 09:58 Group -rw-r--r-- 1 root root    20480 Nov 14 09:58 Installtid -rw-r--r-- 1 root root    45056 Nov 14 09:58 Name -rw-r--r-- 1 root root 42541056 Nov 14 09:58 Packages -rw-r--r-- 1 root root  1310720 Nov 14 09:58 Providename -rw-r--r-- 1 root root   528384 Nov 14 09:58 Provideversion -rw-r--r-- 1 root root    12288 Nov 14 09:33 Pubkeys -rw-r--r-- 1 root root   413696 Nov 14 09:58 Requirename -rw-r--r-- 1 root root   237568 Nov 14 09:58 Requireversion -rw-r--r-- 1 root root   167936 Nov 14 09:58 Sha1header -rw-r--r-- 1 root root    86016 Nov 14 09:58 Sigmd5 -rw-r--r-- 1 root root    12288 Nov 14 09:58 Triggername 查询已经安装的软件包:rpm -q --all    ... 全文

rpm

rpm

# rpm -qa | grep libvirt rpmdb: read: 0x7fde8c182e40, 4096: Input/output error error: db3 error(5) from dbcursor->c_get: Input/output error... 全文

rpm error

rpm包安装

 虽然现在N多人都使用yum去替代rpm了,但是rpm在一些特俗场合下还是有其作用的,比如查询跟验证已安装的rpm包,rpm全称Redhat Package Manager,是一种用于包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,与Dpkg类似。  1.安装软件包  rpm -ivh ***.rpm 其中i表示安装,v表示输出,h表示用#作进度标记  2.升级软件包  rpm -Uhv ***.rpm  3.删除软件包  rpm -e package_name  rpm -e –nodeps package_name 不考虑依赖包... 全文

rpm linux

rpmのyum详解

安装rpm包:  包后面加 --nodeps忽略依赖关系     加--test  测试安装不真安装[root@yulong ~]# rpm -ivh axel-2.4-1.el6.rf.x86_64.rpm warning: axel-2.4-1.el6.rf.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 6b8d79e6: NOKEY Preparing... ########################################### [100%] 1:axel ########################################### [100%]重新安装:--replacepkgs... 全文

yum rpm

解压rpm包

http://www.cnblogs.com/joeblackzqq/archive/2011/03/19/1989137.html有时我们需要RPM包中的某个文件,如何解压RPM包呢?RPM包括是使用cpio格式打包的,因此可以先转成cpio然后解压,如下所示: rpm2cpio xxx.rpm | cpio -div例如:... 全文

rpm 解压

Centreon RPM 安装

Centreon 安装步骤 参考文档连接:... 全文

安装 Centreon rpm

RPM包管理

  在linux中有有两种常见的软件管理器,分别Redhat的为RMP与Debian的dpkg。我们学习的Centos主要以RPM为主。RPM (The RPM PackageManager),是由Red Hat公司开发的一个Linux软件包安装与管理程序,是以一种数据库记录的方式来将所需要的软件安装到你的Linux系统的一套管理机制。用户可以方便地在Linux系统中安装、升级和删除软件,以及在一个统一的界面中对所有的RPM软件包进行管理。 获取rpm包的途径:        1、发行的光盘或站点服务器           镜像:... 全文

RPM 管理程序

RPM 命令参数

一、安装命令格式: rpm -i ( or --install) options file1.rpm ... fileN.rpm 参数: file1.rpm ... fileN.rpm 将要安装的RPM包的文件名 详细选项: -h (or --hash) 安装时输出hash记号 (``#'') --test 只对安装进行测试,并不实际安装。 --percent 以百分比的形式输出安装的进度。 --excludedocs 不安装软件包中的文档文件 --includedocs 安装文档 --replacepkgs 强制重新安装已经安装的软件包 ... 全文

休闲 RPM 职场

给制作的rpm包签名

     ---------------------------------------------------我们自己制作的rpm包,为了防止被篡改,一般要使用私钥进行签名,然后将公钥广而告之,下载使用软件包的话,可以通过公钥进行验证签名,从而确保文件的原始性。 1、查询工具包是否安装# whereis gpggpg: /usr/bin/gpg /usr/share/man/man1/gpg.1.gz# rpm -qf /usr/bin/gpggnupg2-2.0.14-4.el6.x86_64得出已经安装,由gnupg管理  2、自己知道了一个rpm包:qemu-img;还没签名,我们现在安装试试会出现什么 # yum --disablerepo=\* --enablerepo=c6-media install qemu-imgLoaded plugins: fastestmirror, refresh-packagekitLoading mirror speeds from cached hostfile * c6-media:Setting up Install ProcessResolving Dependencies--> Running transaction check---> Package qemu-img.x86_64 2:0.12.1.2-2.113.el6 set to be updated--> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package        Arch         Version                       Repository      Size================================================================================Installing: qemu-img       x86_64       2:0.12.1.2-2.113.el6          c6-media       343 k Transaction Summary================================================================================Install       1 Package(s)Upgrade       0 Package(s) Total download size: 343 kInstalled size: 597 kIs this ok [y/N]: yDownloading Packages:  Package qemu-img-0.12.1.2-2.113.el6.x86_64.rpm is not signed对,就是报此rpm包没有签名;解决方法有,修改/etc/yum.repos.d/CentOS-Media.repo中gpgcheck=0不验证包,但这不是我们要的结果  3、查询系统是否包含gpg key# gpg --list-key没有任何输出 4、正式开始签名# gpg --gen-keygpg (GnuPG) 2.0.14; Copyright (C) 2009 Free Software Foundation, Inc.This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law. gpg: keyring `/root/.gnupg/secring.gpg' createdPlease select what kind of key you want:   (1) RSA and RSA (default)   (2) DSA and Elgamal   (3) DSA (sign only)   (4) RSA (sign only)Your selection? 4                                       #RSA比较流行RSA keys may be between 1024 and 4096 bits long.What keysize do you want? (2048)                        #直接回车Requested keysize is 2048 bitsPlease specify how long the key should be valid.         0 = key does not expire      <n>  = key expires in n days      <n>w = key expires in n weeks      <n>m = key expires in n months      <n>y = key expires in n yearsKey is valid for? (0)                                    #0代表永不过期Key does not expire at allIs this correct? (y/N) y                                 #确认 GnuPG needs to construct a user ID to identify your key. Real name: ecdata                                        #姓名Email address: qiujichun@gmail.com                       #邮箱Comment: custom                                          #注释You selected this USER-ID:    "ecdata (custom) <qiujichun@gmail.com>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O    #大些字母O,确认                                        lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk                                       x Enter passphrase                                    x                                       x                                                     x                                       x                                                     x                                       x Passphrase ***********_____________________________ x输入密码                                       x                                                     x                                       x       <OK>                             <Cancel>     x                                       mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj                                         lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk                                       x Please re-enter this passphrase                     x                                       x                                                     x                                       x Passphrase ***********_____________________________ x再次输入                                       x                                                     x                                       x       <OK>                             <Cancel>     x                                       mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj   can't connect to `/root/.gnupg/S.gpg-agent': No such file or directoryWe need to generate a lot of random bytes. It is a good idea to performsome other action (type on the keyboard, move the mouse, utilize thedisks) during the prime generation; this gives the random numbergenerator a better chance to gain enough entropy. 此时应该多移动鼠标、敲键盘,生成足够多的随机数,或直接另一终端执行du /等命令gpg: key 8CD0BA9F marked as ultimately trustedpublic and secret key created and signed. gpg: checking the trustdbgpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust modelgpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1upub   2048R/8CD0BA9F 2011-12-21      Key fingerprint = 6245 8B36 E982 2920 1A54  BA1C 10DE 1087 8CD0 BA9Fuid                  ecdata (custom) <qiujichun@gmail.com> Note that this key cannot be used for encryption.  You may want to usethe command "--edit-key" to generate a subkey for this purpose.可以了,此时可能需要添加个“subkey” # gpg --edit-key ecdata    此为刚key的nameCommand> help   查询到用addkey命令     addkey      add a subkeyCommand> addkey                        lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk                        x Please enter the passphrase to unlock the secret key for the OpenPGP certificate:  x                        x "ecdata (custom) <qiujichun@gmail.com>"                                            x                        x 2048-bit RSA key, ID 8CD0BA9F,                                                     x                        x created 2011-12-21.                                                                x                        x                                                                                    x                        x                                                                                    x                        x Passphrase ***********____________________________________________________________ x                        x                                                                                    x                        x            <OK>                                                  <Cancel>          x                        mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj此为以后解刚secret key所用 Please select what kind of key you want:   (3) DSA (sign only)   (4) RSA (sign only)   (5) Elgamal (encrypt only)   (6) RSA (encrypt only)Your selection? 6RSA keys may be between 1024 and 4096 bits long.What keysize do you want? (2048)Requested keysize is 2048 bitsPlease specify how long the key should be valid.         0 = key does not expire      <n>  = key expires in n days      <n>w = key expires in n weeks      <n>m = key expires in n months      <n>y = key expires in n yearsKey is valid for? (0) 0Key does not expire at allIs this correct? (y/N) yReally create? (y/N) yWe need to generate a lot of random bytes. It is a good idea to performsome other action (type on the keyboard, move the mouse, utilize thedisks) during the prime generation; this gives the random numbergenerator a better chance to gain enough entropy. ---------------------疯狂移动鼠标吧(如果嫌烦,直接循环代劳 # for (( a=1;a<=1000;a++ ));do du /;done )pub  2048R/8CD0BA9F  created: 2011-12-21  expires: never       usage: SC                     trust: ultimate      validity: ultimatesub  2048R/1E6D98D0  created: 2011-12-21  expires: never       usage: E[ultimate] (1). ecdata (custom) <qiujichun@gmail.com>Command> save 可以了 5、查看下成果# gpg --list-key/root/.gnupg/pubring.gpg------------------------pub   2048R/8CD0BA9F 2011-12-21uid                  ecdata (custom) <qiujichun@gmail.com>sub   2048R/1E6D98D0 2011-12-21 6、修改rpm宏,使用我们的密钥对: 引用# echo %_signature gpg >> ~/.rpmmacros# echo "%_gpg_name ecdata (custom)" >> ~/.rpmmacros 7、对已有rpm软件包进行签名:# rpm --addsign /media/CentOS/Packages/qemu-img-0.12.1.2-2.113.el6.x86_64.rpmEnter pass phrase:                输入刚制作密钥对的密码Pass phrase is good./media/CentOS/Packages/qemu-img-0.12.1.2-2.113.el6.x86_64.rpm: +++++++++在rpmbuild打包时签名: 引用# rpmbuild --sign --ta hello-0.1-1.tar.gz +++++++++ 8、我们先将gpg产生的公钥导出到一个文件,然后将这个公钥文件导入到RPM数据库里,然后使用rpm命令进行检验。如果不先导入到rpm数据库,验证结果是这样的# rpm -K /media/CentOS/Packages/qemu-img-0.12.1.2-2.113.el6.x86_64.rpm/media/CentOS/Packages/qemu-img-0.12.1.2-2.113.el6.x86_64.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#8cd0ba9f) 导出公钥到一个文本文档: 引用# gpg --export -a "ecdata (custom)" > RPM-GPG-KEY-ECDATA  查看rpm数据库中已有的公钥: 引用# rpm -q gpg-pubkey-*package gpg-pubkey-* is not installed# rpm --import RPM-GPG-KEY-ECDATA# rpm -q gpg-pubkey-*gpg-pubkey-8cd0ba9f-4ef12761    这是上步导入的 现在再来验证下RPM包# rpm -K /media/CentOS/Packages/qemu-img-0.12.1.2-2.113.el6.x86_64.rpm/media/CentOS/Packages/qemu-img-0.12.1.2-2.113.el6.x86_64.rpm: rsa sha1 (md5) pgp md5 OK 9、安装# rpm -ivh Packages/qemu-img-0.12.1.2-2.113.el6.x86_64.rpmPreparing...                ########################################### [100%]   1:qemu-img               ########################################### [100%]没有报类似警告warning: qemu-img-0.12.1.2-2.113.el6.x86_64.rpm: Header V3 RSA/SHA1 signature: NOKEY, key ID c0eb63c7  但是此时yum安装还不行,继续(注意顺序)# cp RPM-GPG-KEY-ECDATA /etc/pki/rpm-gpg/ # createrepo -g repodata/comps.xml . # cat /etc/yum.repos.d/CentOS-Media.repo  添加修改如下............................enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ECDATA # yum clean all # yum --disablerepo=\* --enablerepo=c6-media install qemu-imgLoaded plugins: fastestmirror, refresh-packagekitDetermining fastest mirrors * c6-media:c6-media                                                                                                       | 1.9 kB     00:00 ...c6-media/primary                                                                                               | 1.7 MB     00:00 ...c6-media                                                                                                                    3696/3696Setting up Install ProcessResolving Dependencies--> Running transaction check---> Package qemu-img.x86_64 2:0.12.1.2-2.113.el6 set to be updated--> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================================== Package                      Arch                       Version                                   Repository                    Size======================================================================================================================================Installing: qemu-img                     x86_64                     2:0.12.1.2-2.113.el6                      c6-media                     344 k Transaction Summary===========================================================================================================================Install       1 Package(s)Upgrade       0 Package(s) Total download size: 344 kInstalled size: 597 kIs this ok [y/N]: yDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning Transaction  Installing     : 2:qemu-img-0.12.1.2-2.113.el6.x86_64                                                                           1/1 Installed:  qemu-img.x86_64 2:0.12.1.2-2.113.el6 Complete!。。。。。。。。完成 10、对其他自定义的rpm继续签名# rpm --resign Packages/qemu-kvm-0.12.1.2-2.113.el6.x86_64.rpm再次(必须)# createrepo -g repodata/comps.xml . 本文出自 “no brothers,no linux” 博客,请务必保留此出处http://tonychiu.blog.51cto.com/656605/1007588... 全文

rpm 签名

怎样制作RPM包

 怎样制作RPM包 Mr. Neo Chen (netkiller), 陈景峰(BG7NYT)中国广东省深圳市龙华新区民之街道溪山美地518109+86 13113668890+86 755 29812080<netkiller@msn.com>... 全文

netkiller rpm rpmbuild

安装htop及rpm工具使用

在CentOS6.5上用yum安装htop,费了好大的劲都安装不上。先是yum install htop,提示如下Setting up Install ProcessNo package top available.Error: Nothing to do然后指定yum源,把163上的yum源统统写入repo文件中,还是上面的提示,暂时没办法了。上网查吧,刚好看到一篇文章有编译安装的过程,如下... 全文

rpm htop

1 2 3 4 5 6 7 8 9