yum只下载而不安装软件包?

yum本身自带了两个选项, 用来只下载要安装的rpm包, 而并不实际安装包:

yum --downloadonly --downloaddir=/root/Desktop  rpm-name1 rpm-name2..

rpm -l --list 可以列出已经安装的rpm中的具体文件以及它们被安装到哪些位置?  这个-l 一定要和-q组合起来使用?!

还要把/etc/yum.conf中的keepcache改成1,默认是0即安装后不保存包头和软件包

cpio是什归档软件?   是rpm打包的基础, 即将多个要打包的文件 首先归档为cpio压缩包, 然后 rpm在cpio的基础上进行打包.

cpio == copy-in,  copy-out

Main operation mode:
  -i, --extract              Extract files from an archive (run in copy-in
                             mode)
  -o, --create               Create the archive (run in copy-out mode)
一般的操作选项是:  cpio -div 抽取"解压"rpm包.

关于rpm的参数? (下面这三个很重要)!

-p, --package                    query/verify a package file 这个包是指rpm包, 还没有安装的rpm包.
>>>>   一个rpm包中的文件安装到那里去了?
rpm -ql 包名
注意这里的是不包括.rpm后缀的软件包的名称
也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。
如果只是想知道可执行程序放到那里去了,也可以用which,比如
which mysql
>>>>> .一个rpm包中包含那些文件
一个没有安装过的软件包,使用rpm -qlp ****.rpm
一个已经安装过的软件包,还可以使用rpm -ql ****.rpm
>>>> .如何获取关于一个软件包的版本,用途等相关信息?
一个没有安装过的软件包,使用rpm -qip ****.rpm
一个已经安装过的软件包,还可以使用rpm -qi ****.rpm

 

如何从rpm中提取文件?

  首先, 你不必安装rpm包,然后提取文件, 然后删除

  其次, 使用的工具是: rpm2cpio,  cpio

  一般而言, rpm2cpio 和 cpio是系统本身就提供的程序, 不需要额外安装:

[root@localhost ~]# which rpm2cpio
/usr/bin/rpm2cpio
[root@localhost ~]# which cpio
/bin/cpio
[root@localhost ~]#  使用的命令是:   rpm2cpio  xxx.rpm  > xxx.cpio ,  然后cpio -div xxx.cpio

cpio= copy-in , copy-out.  -div,不是一个完整的单词, 是多个选项的组合, 因此, -div 不能写成 --div

cpio的特殊命令格式?

cpio只是copy!, 它是很特殊的命令,  后面不能直接跟操作的文件名和目的地址!

要操作的文件名 必须 通过 重定向符合:  >   ,  <  来实现.

Usage: cpio [OPTION...] [destination-directory]  这个后面没有要操作的文件名!
GNU `cpio' copies files to and from archives

Examples:
  # Copy files named in name-list to the archive
  cpio -o < name-list [> archive]
  # Extract files from the archive
  cpio -i [< archive]
  # Copy files named in name-list to destination-directory
  cpio -p destination-directory < name-list

Main operation mode:
  -i, --extract              Extract files from an archive (run in copy-in
                             mode)
  -o, --create               Create the archive (run in copy-out mode)
  -p, --pass-through         Run in copy-pass mode
  -t, --list                 Print a table of contents of the input

因此很多时候, 我们更愿意使用 管道命令:

  rpm2cpio  xxx.rpm  > xxx.cpio | cpio -div    或者: cpio -div < xxx.cpio

rpm如何指定自定义安装路径?

以下的options是可完成你想方式.
       --prefix <path>;
              This  sets  the  installation  prefix to <path>; for  relocatable packages.

[root@localhost srclib]# rpm -ivh --prefix=/opt/test apr-1.3.9-5.el6_2.i686.rpm
error: package apr is not relocatable (只能是可重定位的包)

上一篇:Hulu如何扩展InfluxDB使其支持每秒百万TPS


下一篇:docker 安装sqlserver + 踩坑(docker 无法运行sqlserver 容器)