zoukankan      html  css  js  c++  java
  • 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 (只能是可重定位的包)

  • 相关阅读:
    111
    python 错误宝典
    Node.js Web开发:Connect
    Node.js 中的重要API:HTTP
    Node.js 中的重要API:TCP
    Node.js 中的重要API:命令行工具以及FS API 首个Node应用
    Node.js 中的JS
    Node.js 阻塞式IO与非阻塞式IO与错误处理
    Learning Vue.js 2
    A1046——入门模拟 Shortest Distance
  • 原文地址:https://www.cnblogs.com/bkylee/p/5051558.html
Copyright © 2011-2022 走看看