1.yum和apt-get的源码区别详解
2.7.10 Linux yum源及配置
3.linux 下有几种安装软件的方式 假如我有一个flash的tar包在文档文件夹下
4.rpm命令手册和查看rpm安装包的安装路径的方法
5.rpm是什么格式的文件
yum和apt-get的区别详解
yum和apt-get的区别一般来说著名的linux系统基本上分两大类:
1.RedHat系列:Redhat、Centos、源码Fedora等
2.Debian系列:Debian、源码Ubuntu等
RedHat 系列
1 常见的源码安装包格式 rpm包,安装rpm包的命令是rpm -参数
2 包管理工具 yum
3 支持tar包
Debian系列
1 常见的安装包格式 deb包,安装deb包的命令是dpkg -参数
2 包管理工具 apt-get
3 支持tar包
tar 只是一种压缩文件格式,所以,源码它只是源码帮帮乐源码把文件压缩打包而已。
rpm 相当于windows中的源码安装文件,它会自动处理软件包之间的源码依赖关系。
优缺点来说,源码rpm一般都是源码预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。源码
tar一般包括编译脚本,源码你可以在你的源码环境下编译,所以具有通用性。源码
如果你的源码包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。
tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。
rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。
-------------------------------- *.rpm形式的二进制软件包[centos]
安装:rpm -ivh *.rpm
卸载:rpm -e packgename
rpm -q nginx 查看是否已经安装
升级:rpm -Uvh xxx
查询:
查询所有安装的包: rpm -qa
查询某个包:rpm -qa | grep xxx
rpm -qi xxx
查询软件的安装路径:rpm -ql xxx
rpm -qc xxx
查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf
rpm -qpi xxx
rpm -qa|grep php 查看已安装的RMP包
安装:rpm -ivh xxx
移除:rpm -e xxx
升级:rpm -Uvh xxx
查询:
查询所有安装的包: rpm -qa
查询某个包:rpm -qa | grep xxx
rpm -qi xxx
查询软件的安装路径:rpm -ql xxx
rpm -qc xxx
查询某个文件是那个rpm包产生:rpm -qf /etc/yum.conf
rpm -qpi xxx
-------------------------------- src.rpm 源代码分发软件包的安装与卸载
Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的麒麟麻将源码二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。
1、*.src.rpm形式的源代码软件包
安装:rpm -rebuild *.src.rpm
cd /usr/src/dist/RPMS
rpm -ivh *.rpm
卸载:rpm -e packgename
说明:rpm rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
--------------------------------dpkgubuntu
dpkg -l | grep 'php' 使用dpkg -l 来查看已经安装了的软件
dpkg 是Debian[待宾] Package 的简写。为 Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux 发行版都使用 dpkg,例如 Ubuntu、Knoppix 等。
以下是一些 Dpkg 的普通用法:
1、dpkg -i package.deb
安装一个 Debian 软件包,如你手动下载的文件。
2、dpkg -c package.deb
列出 package.deb 的内容。
3、dpkg -I package.deb
从 package.deb 中提取包裹信息。
4、dpkg -r package
移除一个已安装的包裹。
5、狸猫绘图源码dpkg -P package
完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件。
6、dpkg -L package
列出 package 安装的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容。
7、dpkg -s package
显示已安装包裹的信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息。
8、dpkg-reconfigure package
重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面)。
-------------------------------- 使用yum和apt-get。软件管理方法的升级.
yum的配置文件是/etc/yum.conf
1. 我们来先讲Redhat的yum 这种高级的包管理.
yum install gcc [centos]
更新:yum update
安装:yum install xxx
移除:yum remove xxx
清除已经安装过的档案(/var/cache/yum/):yum clean all
搜寻:yum search xxx
列出所有档案:yum list
查询档案讯息:yum info xxx
#sudo -s
#LANG=C
#yum -y install gcc gcc-c autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel
用YUM安装软件包
yum -y package_name
命令:yum install package_name
用YUM删除软件包
命令:yum remove package_name
yum -y remove /yclz/archive////.aspx
rpm命令手册和查看rpm安装包的安装路径的方法
rpm -qpl xxxxxx.rpm1.如何安装rpm软件包
rmp软件包的安装可以使用程序rpm来完成。执行下面的命令
rpm -i your-package.rpm
其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。
安装过程中可能出现下面的警告或者提示:
... conflict with ... 可能是要安装的包里有一些文件可能会覆盖现有
的文件,缺省时这样的情况下是无法正确安装的可以用
rpm --force -i 强制安装即可
... is needed by ...
... is not installed ... 此包需要的一些软件你没有安装可以用
rpm --nodeps -i 来忽略此信息
也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包
都能安装上,但这种强制安装的软件包不能保证完全发挥功能
2.如何安装.src.rpm软件包
有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时
需要进行编译。这类软件包有两种安装方法,照片影集源码
方法一:
1.执行rpm -i your-package.src.rpm
2. cd /usr/src/redhat/SPECS
3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件
4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
5. ./configure 这一步和编译普通的源码软件一样,可以加上参数
6. make
7. make install
方法二:
1.执行rpm -i you-package.src.rpm
2. cd /usr/src/redhat/SPECS
前两步和方法一相同
3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件
这时,在/usr/src/redhat/RPM/i/ (根据具体包的不同,也可能是i,noarch等等)
在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
执行rpm -i new-package.rpm即可安装完成。
3.如何卸载rpm软件包
使用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀.rpm
比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:
rpm -e proftpd-1.2.8-1
rpm -e proftpd-1.2.8
rpm -e proftpd-
rpm -e proftpd
不可以是下列格式:
rpm -e proftpd-1.2.8-1.i.rpm
rpm -e proftpd-1.2.8-1.i
rpm -e proftpd-1.2
rpm -e proftpd-1
有时会出现一些错误或者警告:
... is needed by ... 这说明这个软件被其他软件需要,不能随便卸载
可以用rpm -e --nodeps强制卸载
4.如何不安装但是获取rpm包中的文件
使用工具rpm2cpio和cpio
rpm2cpio xxx.rpm | cpio -vi
rpm2cpio xxx.rpm | cpio -idmv
rpm2cpio xxx.rpm | cpio --extract --make-directories
参数i和extract相同,表示提取文件。v表示指示执行进程
d和make-directory相同,表示根据包中文件原来的路径建立目录
m表示保持文件的更新时间。
5.如何查看与rpm包相关的文件和其他信息
下面所有的例子都假设使用软件包mysql-3..a-
1.我的系统中安装了那些rpm软件包
rpm -qa 讲列出所有安装过的包
如果要查找所有安装过的包含某个字符串sql的软件包
rpm -qa |grep sql
2.如何获得某个软件包的文件全名
rpm -q mysql 可以获得系统中安装的mysql软件包全名,从中可以获得
当前软件包的版本等信息。这个例子中可以得到信息mysql-3..a-
3.一个rpm包中的文件安装到那里去了?
rpm -ql 包名
注意这里的是不包括.rpm后缀的软件包的名称
也就是说只能用mysql或者mysql-3..a-而不是mysql-3..a-.rpm。
如果只是想知道可执行程序放到那里去了,也可以用which,比如
which mysql
4.一个rpm包中包含那些文件
一个没有安装过的软件包,使用rpm -qlp ****.rpm
一个已经安装过的软件包,还可以使用rpm -ql ****.rpm
5.如何获取关于一个软件包的版本,用途等相关信息?
一个没有安装过的软件包,使用rpm -qip ****.rpm
一个已经安装过的软件包,还可以使用rpm -qi ****.rpm
6.某个程序是mmu汇编源码哪个软件包安装的,或者哪个软件包包含这个程序
rpm -qf `which 程序名` 返回软件包的全名
rpm -qif `which 程序名` 返回软件包的有关信息
rpm -qlf `which 程序名` 返回软件包的文件列表
注意,这里不是引号,而是`,就是键盘左上角的那个键。
也可以使用rpm -qilf,同时输出软件包信息和文件列表
7.某个文件是哪个软件包安装的,或者哪个软件包包含这个文件
注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以
用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。
首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:
# whereis ftptop
ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz
# rpm -qf /usr/bin/ftptop
proftpd-1.2.8-1
# rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc.txt
proftpd-1.2.8-1
总结:
获得软件包相关的信息用rpm -q,q表示查询query,后面可以跟其他选项,比如
i 表示info,获得软件包的信息;
l 表示list,获得文件列表;
a 表示all,在所有包中执行查询;
f 表示file,根据文件进行相关的查询;
p 表示package,根据软件包进行查询
需要的查询条件可以使用grep产生,或者从"` `"中的命令行产生
6.关于rpm软件包的一些相关知识
1.什么是rpm
rpm 即RedHat Package Management,是RedHat的发明之一
2.为什么需要rpm
在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的
程序,但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装,
配置,卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个
较好的办法来管理成千上百的软件。这就是RPM管理系统。在系统中安装了rpm管理系统
以后,只要是符合rpm文件标准的打包的程序都可以方便的安装,升级,卸载
3.是不是所有的linux都使用rpm
任何系统都需要包管理系统,因此很多linux都使用rpm系统。但rpm系统是为RH专门
但是TL,Mandrake等系统也都使用rpm。由于rpm的源程序可以在别的系统上进行编译,
所以有可能在别的系统上也使用rpm
除了rpm,其他一些系统也有自己的软件包管理程序,例如debian的deb包,
slakware也都有自己的包管理系统
4.rpm包的文件名为什么那么长
rpm包的文件名中包含了这个软件包的版本信息,操作系统信息,硬件要求等等。
比如mypackage-1.1-2TL.i.rpm,其中mypackage是在系统中登记的软件包的名字
1.1是软件的版本号,2是发行号,TL表示用于TL操作系统,还可能是RH等。i表示
用于intel x平台,还可能是sparc等。
5.软件包文件名中的i,i是什么意思
rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构
的信息。
i指这个软件包适用于intel 以上的x架构的计算机(AI)
i指这个软件包适用于intel 以上(奔腾pro以上)的x架构的计算机(IA)
noarch指这个软件包于硬件架构无关,可以通用。
i软件包的程序通常针对CPU进行了优化,所以,向后兼容比较用以,i的包在
x机器上都可以用。向前一般不兼容。不过现在的计算机,奔腾pro以下的CPU已经很少
用,通常配置的机器都可以使用i软件包
6.不同操作系统发行的rpm包可否混用?
对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用。
对于以src.rpm发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同
系统下安装。
7.使用rpm时遇到的一些特殊问题
Q 我用rpm -e **.rpm无法删除rpm包
A 包名不要包括rpm,
rpm -e 包名,可以包含版本号等信息,但是不可以有后缀.rpm
Q 在MS的系统下有没有读RPM文件的工具?
A wincmd with rpm plugins.....
Q 是否可以通过ftp安装安装升级rpm包?
A 可以。rpm -ivh
ftp://xxxxxxxx/PATH2SomeRPM
Q rpm安装时已有的包版本过高怎么办?
A 有时由于安装的软件包太老,而系统中相关的软件包版本比较新,所以可能需要
安装的包依赖的一些文件会找不到。这时有两种解决办法,
第一是在系统文件中找到和需要的文件功能相同或相似的文件,做一个符号链接到
需要的目录下。
以下是我知道的在Linux下的rpm软件包安装时如何指定安装路径的方法,不少是从网上学来的。请大家多多指教啊。
以下的options是可完成你想方式.
--prefix path
This sets the installation prefix to path for
relocatable packages.
--relocate oldpath=newpath
For relocatable packages, translates the files that
would be put in oldpath to newpath.
--badreloc
To be used in conjunction with --relocate, this
forces the relocation even if the package isn't
relocatable.
--noorder
Don't reorder the packages for an install. The list
of packages would normally be reordered to satisfy
dependancies.
RPM命令手册
一、安装
命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm
参数:
file1.rpm ... fileN.rpm 将要安装的RPM包的文件名
详细选项:
-h (or --hash) 安装时输出hash记号 (``#'')
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为
通用选项
-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为
二、删除
命令格式:
rpm -e ( or --erase) options pkg1 ... pkgN
参数
pkg1 ... pkgN :要删除的软件包
详细选项
--test 只执行删除的测试
--noscripts 不运行预安装和后安装脚本程序
--nodeps 不检查依赖性
通用选项
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为
三、升级
命令格式
复制代码
代码如下:
rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm
参数
file1.rpm ... fileN.rpm 软件包的名字
详细选项
-h (or --hash) 安装时输出hash记号 (``#'')
--oldpackage 允许"升级"到一个老版本
--test 只进行升级测试
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--percent 以百分比的形式输出安装的进度。
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为
通用选项
-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为
四、查询
命令格式:
复制代码
代码如下:
rpm -q ( or --query) options
参数:
pkg1 ... pkgN :查询已安装的软件包
详细选项
-p (or ``-'') 查询软件包的文件
-f 查询属于哪个软件包
-a 查询所有安装的软件包
--whatprovides 查询提供了 功能的软件包
-g 查询属于 组的软件包
--whatrequires 查询所有需要 功能的软件包
信息选项
显示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
--scripts 显示安装、卸载、校验脚本
--queryformat (or --qf) 以用户指定的方式显示查询信息
--dump 显示每个文件的所有已校验信息
--provides 显示软件包提供的功能
--requires (or -R) 显示软件包所需的功能
通用选项
-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为
五、校验已安装的软件包
命令格式:
复制代码
代码如下:
rpm -V ( or --verify, or -y) options
参数
pkg1 ... pkgN 将要校验的软件包名
软件包选项
-p Verify against package file
-f 校验所属的软件包
-a Verify 校验所有的软件包
-g 校验所有属于组 的软件包
详细选项
--noscripts 不运行校验脚本
--nodeps 不校验依赖性
--nofiles 不校验文件属性
通用选项
-v 显示附加信息
-vv 显示调试信息
--root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
--rcfile 设置rpmrc文件为
--dbpath 设置RPM 资料库存所在的路径为
六、校验软件包中的文件
语法:
复制代码
代码如下:
rpm -K ( or --checksig) options file1.rpm ... fileN.rpm
参数:
file1.rpm ... fileN.rpm 软件包的文件名
Checksig--详细选项
--nopgp 不校验PGP签名
通用选项
-v 显示附加信息
-vv 显示调试信息
--rcfile 设置rpmrc文件为
七、其它RPM选项
--rebuilddb 重建RPM资料库
--initdb 创建一个新的RPM资料库
--quiet 尽可能的减少输出
--help 显示帮助文件
--version 显示RPM的当前版本
rpm是什么格式的文件
RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。还有另一种释义为:RPM是Revolutions Per Minute的缩写,即转每分,表征设备每分钟的旋转次数。
其他释义:音频接口
多功能数字音频接口
RPM是RME推出的全新概念的多功能数字音频接口。即可以连接电脑使用,又可以脱离使用的RPM多功能音频接口,绝对能满足对于录音工作挑剔的你。RPM可连接打碟机/CD机/话筒/MIDI等设备,还可以当作数字调音台使用,完全将音频制作工作化繁为简。
同时RPM可以将两台唱机或两台音源(CD、DVD、采样器)以及话筒连接到台式计算机或笔记本计算机。总共有5条独立输入和两对立体声输出以及一条独立的耳机输出,通过耳机输出可以监听任何时刻通过TotalMIx(RME特有基于DSP的混音台)输入输出的声音信号。外部设备安装适当的音频软件即可通过MIDI输入输出与之进行连接。
转售价格维持
转售价格维持(resale pricing maintenance)
产业组织的一种理论,指的是垄断厂商垂直分离的一种情况,上游厂商通过对下游厂商进行垂直约束的一种价格手段。
相对应的是垂直整合,如果兼并下游企业有利于提高企业利润,则会进行垂直整合。但若整合的成本很高的话,则进行垂直约束,对下游厂商的最终价格进行合同上的限定来保证上游企业的利润,具体参见卡尔顿佩罗夫的《现代产业组织》人民大学出版社相关章节。
快速成形制造技术
快速成形制造技术(Rapid prototyping Manufacturing,简称RPM),是国外世纪年代末发展起来的一类先进制造技术。它集数控件技术·计算机技术和新型材料技术·激光技术于一体,改变了传统切削加工方法材料递减的加工原理,而采用材料累加原理来制造模型或零件。
营收乘客里程
营收乘客里程(Revenue Passenger Mile ),是航空公司的一项营业指标。
计算公式:营收乘客里程=付费乘客数×乘客所飞行的距离,在同一报告期内。可以用于计算航空公司的载运率。
参考资料:RPM--百度百科