LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 19745|回复: 11

rpm安装总结

[复制链接]
发表于 2002-7-18 10:01:19 | 显示全部楼层 |阅读模式
在RedHat Linux和Mandrake等兼容RedHat的发行版中,整个发行版都是利用RPM安装的。所以安装新软件的最好方

法是从网络上下载rpm包。
   1)用RPM安装软件包,最简单的命令如下:

       # rpm -ivh foo-1.0-l.i386.rpm  (这里讲的软件包是foo-1.0-l.i386.rpm,以下都是)

          foo####################

    下面rpm就会输出该软件包的名称,并显示一个状态条。安装很简单。

   2)拆除已安装的软件包
       要反安装软件包foo,只需输入以下这行命令:

       # rpm -e foo

      注意:软件包名是foo,而不是rpm文件名“foo-1.0-l.i386.rpm”。
   
   3)升级软件包
       升级软件类似于安装软件:

       # rpm -Uvh foo-2.0-l.i386.rpm
         
          foo####################

     用户要注意的是:rpm会自动反安装相应软件包的老版本。如果老版本软件的配置文件通新版本的不兼

容,rpm会自动将其保存为另外一个文件,用户会看到下面的信息:

        saving /etc/foo.conf as /etc/foo.conf.rpmsave

     这样用户就可以自己手工去更改相应的配置文件。
     另外如果用户要安装老版本的软件,用户就会看到下面的出错信息:

       # rpm -Uvh foo-1.0-l.i386.rpm

           foo packag foo-2.0-l(which is newer) is already installed

           error:foo-1.0-l.i386.rpm cannot be installed

     如果用户要抢行安装就使用-oldpackage参数。

   4)查询软件包
       用户可以用rpm -q在rpm的数据库中查询相应的软件,rpm会给出软件包的名称,版本,发布版本号,例如


   
       # rpm -q foo

          foo-2.0-l

      下面是查询时可以使用的特定参数:
       -a    查询目前系统安装的所有软件包。
       -f    文件名查询包括嘎文件的软件包。
       -F    同-f参数,只是输入是标准输入(例如 find /usr/bin | rpm -qF)
       -q 软件包名 : 查询该软件包
       -Q    同-p参数,只是输入是标准输入(例如 find /mnt/cdrom/RedHat/RPMS | rpm -qQ)
       下面是输出时的格式选择:
       -i    显示软件包的名称,描述,发行,大小,编译日期,安装日期,开发人员等信息。
       -l    显示软件包包含的文件
       -s    显示软件包包含的文件目前的状态,只有两种状态:normal和missing
       -d    显示软件包中的文档(如man,info,README等)
       -c    显示软件包中的配置文件,这些文件一般是安装后需要用户手工修改的,例如:sendmail.cf,passwd,inittab等
       如果用-v参数就可以得到类似于ls -l的输出

   5)用rpm校验软件包   
       用户可以用rpm来校验已经安装的软件包,rpm可以校验文件大小、MD5校验码、文件权限、类型和属主等信息。
      下面是校验时的参数说明:
      -a     简单校验软件包中的文件是否存在
      -b     校验软件包中的单个文件
      -c     校验安装的所有软件包
      -d     比较一个源软件包和已经安装的软件包

      如果检验通过就没有任何出错信息,如果有出错信息,它的格式如下:出错信息是一个8位的字符串,如果是一个".",就代表没有问题,下面是相应的字符的意义:
      5      MD5校验错
      S      文件大小错
      L      符号连接
      T      文件修改时间错
      D      设备文件错
      U      用户名错
      G      组名错
      M      属性(包括改写权和文件类型)错
      如果用户看到这些信息,最好重新安装或者手工修复。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

rpm 实用技巧!
1)用户可以通过FTP来安装软件包。如果用户能够连上网络,想安装某个新的软件包时,可以直接用它的URL地址来安装:
比如:现在在ftp.linuxsir.cn/pub/linux/redhat/RPMS/下有这个文件包:foo-1.0-1.i386.rpm,那就可以用这样的命令:

# rpm -i ftp.linuxsir.cn/pub/linux/redhat/RPMS/foo-1.0-1.i386.rpm

来安装,也可以查询!

2)如果用户不小心巫山了几个文件,但不确定到底是那些文件,想对整个系统进行校验,以了解哪些部分可能已经损坏,可以用:

# rpm -Va

3)如果用户碰到一个人不出来的文件,想要知道它是属于那一个软件包的话,可以这样做:

# rpm -qf /usr/X11R6/bin/xjewel

结果会得到以下信息:
xjewel-1.6-1

4)如果用户得到一个新的RPM文件,却不清楚它的内容;或想了解某个文件包将会在系统里安装那些文件,可以这样做:

# rpm -qpi koules-1.2-2.i386.rpm

结果会获得很多信息!


发表于 2002-7-18 10:51:47 | 显示全部楼层
最后几个问题了,55555

RPM如果直接加q参数查询,后面必须是精确结果
如何查询模糊结果呢
比如rpm -q gcc
只能得到GCC的,GCC-C++等却没有
以前见过方法,却没有记下来,唉
 楼主| 发表于 2002-7-18 12:04:25 | 显示全部楼层

rpm 实用技巧!

1)用户可以通过FTP来安装软件包。如果用户能够连上网络,想安装某个新的软件包时,可以直接用它的URL地址来安装:
比如:现在在ftp.linuxsir.cn/pub/linux/redhat/RPMS/下有这个文件包:foo-1.0-1.i386.rpm,那就可以用这样的命令:

# rpm -i ftp.linuxsir.cn/pub/linux/redhat/RPMS/foo-1.0-1.i386.rpm

来安装,也可以查询!

2)如果用户不小心巫山了几个文件,但不确定到底是那些文件,想对整个系统进行校验,以了解哪些部分可能已经损坏,可以用:

# rpm -Va

3)如果用户碰到一个人不出来的文件,想要知道它是属于那一个软件包的话,可以这样做:

# rpm -qf /usr/X11R6/bin/xjewel

结果会得到以下信息:
xjewel-1.6-1

4)如果用户得到一个新的RPM文件,却不清楚它的内容;或想了解某个文件包将会在系统里安装那些文件,可以这样做:

# rpm -qpi koules-1.2-2.i386.rpm

结果会获得很多信息!
发表于 2002-7-18 16:20:35 | 显示全部楼层
谢谢COOLFLYR,不过我的意思是
rpm -q (还有几个参数) gcc
从而把带GCC的RPM包都列举出来噢
 楼主| 发表于 2002-7-18 17:53:30 | 显示全部楼层

RPM 所有选项说明!!!这个太大了点,是英文的,我翻译不过来了!有时间我在翻译吧,可能会比较慢

File: *manpages*,  Node: rpm,  Up: (dir)



rpm(8)                    Red Hat Linux                    rpm(8)

NAME
       rpm - Red Hat Package Manager

SYNOPSIS
       rpm [options]

DESCRIPTION
       rpm  is  a  powerful package manager, which can be used to
       build, install, query, verify, update, and uninstall indi?       vidual  software  packages.   A  package  consists  of  an
       archive of files, and package information, including name,
       version, and description.

       One  of  the  following basic modes must be selected: Ini?       tialize Database, Rebuild Database, Build Package,  Recom?       pile  Package,  Build  Package  from  Tarball, Query, Show
       Querytags, Install, Freshen, Uninstall, Verify,  Signature
       Check,  Resign,  Add  Signature, set owners and groups and
       Show Configuration.

       Database maintenance:
           rpm -i [--initdb]
           rpm -i [--rebuilddb]

       Building:
           rpm [-b|t] [package_spec]+
           rpm [--rebuild] [sourcerpm]+
           rpm [--tarbuild] [tarredsource]+

       Querying:
           rpm [--query] [queryoptions]
           rpm [--querytags]

       Maintaining installed packages:
           rpm [--install] [installoptions] [package_file]+
           rpm [--freshen|-F] [installoptions] [package_file]+
           rpm [--uninstall|-e] [uninstalloptions] [package]+
           rpm [--verify|-V] [verifyoptions] [package]+

       Signatures:
           rpm [--verify|-V] [verifyoptions] [package]+
           rpm [--resign] [package_file]+
           rpm [--addsign] [package_file]+

       Miscellaneous:
           rpm [--showrc]
           rpm [--setperms] [package]+
           rpm [--setgids] [package]+

Red Hat Software         22 December 1998                       1

rpm(8)                    Red Hat Linux                    rpm(8)

GENERAL OPTIONS
       These options can be used in all the different modes.

       -vv    Print lots of ugly debugging information.

       --quiet
              Print as little as possible - normally  only  error
              messages will be displayed.

       --help Print a longer usage message then normal.

       --version
              Print  a  single line containing the version number
              of rpm being used.

       --rcfile <filelist>
              Each of the files in the colon separated <filelist>
              is  read  sequentially  by  rpm  for  configuration
              information.     The    default    <filelist>    is
              /usr/lib/rpm/rpmrc:/etc/rpmrc:~/.rpmrc.   Only  the
              first file in the list must exist, and tildes  will
              be expanded to the value of $HOME.

       --root <dir>
              Use  the system rooted at <dir> for all operations.
              Note that this means the database will be  read  or
              modified  under  <dir>  and any pre or post scripts
              are run after a chroot() to <dir>.

       --dbpath <path>
              Use RPM database in <path>.

       --justdb
              Update only the database, not the filesystem.

       --ftpproxy <host>, --httpproxy <host>
              Use <host> as an  FTP  or  HTTP  proxy  host.   See
              FTP/HTTP OPTIONS.

       --ftpport <port>, --httpport <port>
              Use  <port>  as  the  FTP or HTTP port on the proxy
              host.  See FTP/HTTP OPTIONS.

       --pipe <cmd>
              Pipes the output of rpm to the command <cmd>.

INSTALL AND UPGRADE OPTIONS
       The general form of an rpm install command is

            rpm -i [install-options] <package_file>+

       This installs a new package.  The general form of  an  rpm
       upgrade command is

Red Hat Software         22 December 1998                       2

rpm(8)                    Red Hat Linux                    rpm(8)

            rpm -U [install-options] <package_file>+

       This  upgrades or installs the package currently installed
       to the version in the  new  RPM.   This  is  the  same  as
       install,  except  all  other  version  of  the package are
       removed from the system.

            rpm [-F|--freshen] [install-options] <package_file>+

       This will upgrade packages, but only if an earlier version
       currently exists.

       The <package_file> may be specified as an ftp or http URL,
       in which case the package will be downloaded before  being
       installed.  See  FTP/HTTP OPTIONS for information on RPM's
       built-in ftp and http support.

       --force
              Same as using  --replacepkgs,  --replacefiles,  and
              --oldpackage.

       -h, --hash
              Print  50  hash  marks  as  the  package archive is
              unpacked.  Use with -v for a nice display.

       --oldpackage
              Allow an upgrade to replace a newer package with an
              older one.

       --percent
              Print  percentages  as  files are unpacked from the
              package archive. This is intended to make RPM  easy
              to run from other tools.

       --replacefiles
              Install  the  packages  even  if they replace files
              from other, already installed, packages.

       --replacepkgs
              Install the packages  even  if  some  of  them  are
              already installed on this system.

       --allfiles
              Installs or upgrades all the missingok files in the
              package, regardless if they exist.

       --nodeps
              Don't do a dependency check  before  installing  or
              upgrading a package.

       --noscripts
              Don't   execute   the   preinstall  or  postinstall

Red Hat Software         22 December 1998                       3

rpm(8)                    Red Hat Linux                    rpm(8)

              scripts.

       --notriggers
              Don't execute scripts which are  triggered  by  the
              installation of this package.

       --ignoresize
              Don't  check mount file systems for sufficient disk
              space before installing this package.

       --excludepath <path>
              Don't install files whose name begins with  <path>.

       --excludedocs
              Don't  install  any files which are marked as docu?              mentation (which includes  man  pages  and  texinfo
              documents).

       --includedocs
              Install  documentation  files.  This is the default
              behavior.

       --test Do not install the package, simply  check  for  and
              report potential conflicts.

       --ignorearch
              This  allows  installation or upgrading even if the
              architectures of the  binary  RPM  and  host  don't
              match.

       --ignoreos
              This  allows  installation or upgrading even if the
              operating systems of the binary RPM and host  don't
              match.

       --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.

Red Hat Software         22 December 1998                       4

rpm(8)                    Red Hat Linux                    rpm(8)

QUERY OPTIONS
       The general form of an rpm query command is

            rpm -q [query-options]

       You may specify the format that package information should
       be printed in. To do this, you use the [--queryformat|-qf]
       option, followed by the format string.

       Query   formats  are  modifed  versions  of  the  standard
       printf(3) formatting. The format  is  made  up  of  static
       strings  (which  may  include standard C character escapes
       for newlines, tabs,  and  other  special  characters)  and
       printf(3)  type  formatters. As rpm already knows the type
       to print, the type specifier must be omitted however,  and
       replaced  by  the  name  of  the header tag to be printed,
       enclosed by {} characters. The RPMTAG_ portion of the  tag
       name may be omitted.

       Alternate output formats may be requested by following the
       tag with :typetag. Currently, the following types are sup?       ported:   octal,   date,   shescape,  perms,  fflags,  and
       depflags.

       For example, to print  only  the  names  of  the  packages
       queried,  you  could  use %{NAME} as the format string. To
       print the packages name and  distribution  information  in
       two columns, you could use %-30{NAME}%{DISTRIBUTION}.

       rpm  will  print  a list of all of the tags it knows about
       when it is invoked with the --querytags argument.

       There are two subsets of  options  for  querying:  package
       selection, and information selection.

       Package selection options:

       <package_name>
              Query installed package named <package_name>.

       -a, --all
              Query all installed packages

       --whatrequires <capability>
              Query  all  packages that requires <capability> for
              proper functioning.

       --whatprovides <virtual>
              Query all packages that provide the <virtual> capa?              bility.

       -f <file>, --file <file>
              Query package owning <file>.

Red Hat Software         22 December 1998                       5

rpm(8)                    Red Hat Linux                    rpm(8)

       -g <group>, --group <group>
              Query packages with the group of <group>.

       -p <package_file>
              Query an (uninstalled) package <package_file>.  The
              <package_file> may be specified as an ftp  or  http
              style URL, in which case the package header will be
              downloaded and queried. See  FTP/HTTP  OPTIONS  for
              information  on  RPM's built-in ftp and http client
              support.

       --specfile <specfile>
              Parse and query <specfile> as if it were a package.
              Although  not all the information (e.g. file lists)
              is available, this type of query permits rpm to  be
              used to extract information from spec files without
              having to write a specfile parser.

       --querybynumber <num>
              Query the <num>th database entry directly; this  is
              helpful for debugging purposes.

       --triggeredby <pkg>
              Query  packages  that  are  triggered  by  packages
              <pkg>.

       Information selection options:

       -i     Display package information, including  name,  ver?              sion,  and description. This uses the --queryformat
              if one was specified.

       -R, --requires
              List packages on which this package depends.

       --provides
              List capabilities this package provides.

       --changelog
              Display change information for the package.

       -l, --list
              List files in package.

       -s, --state
              Display the states of files in the package (implies
              -l).   The state of each file is either normal, not
              installed, or replaced.

       -d, --docfiles
              List only documentation files (implies -l).

Red Hat Software         22 December 1998                       6

rpm(8)                    Red Hat Linux                    rpm(8)

       -c, --configfiles
              List only configuration files (implies -l).

       --scripts
              List the package specific shell  scripts  that  are
              used as part of the installation and uninstallation
              processes, if there are any.

       --triggers, --triggerscripts
              Display the trigger scripts, if any, which are con?              tained in the package.

       --dump Dump  file  information as follows: path size mtime
              md5sum mode owner group isconfig  isdoc  rdev  sym?              link.  This  must  be used with at least one of -l,
              -c, -d.

       --last Orders the package listing  by  install  time  such
              that the latest packages are at the top.

       --filesbypkg
              This lists all the files in each package.

       --triggerscripts
              Shows  all  the  trigger  scripts  for the selected
              packages.

VERIFY OPTIONS
       The general form of an rpm verify command is

            rpm -V|-y|--verify [verify-options]

       Verifying  a  package  compares  information   about   the
       installed  files in the package with information about the
       files taken from the original package and  stored  in  the
       rpm  database.  Among other things, verifying compares the
       size, MD5 sum, permissions, type, owner and group of  each
       file.  Any discrepencies are displayed.  The package spec?       ification options are the same as for package querying.

       Files that were not installed from the package, for  exam?       ple documentation files excluded on installation using the
       "--excludedocs" option, will be silently ignored.

       Options that can be used in verify mode:

       --nofiles
              Ignores missing files when verifying.

       --nomd5
              Ignores MD5 checksum errors when verifying.

Red Hat Software         22 December 1998                       7

rpm(8)                    Red Hat Linux                    rpm(8)

       --nopgp
              Ignores PGP checking errors when verifying.

       --nofiles
              Ignores missing files when verifying.

       --noscripts
              Don't execute the verify script (if any).

              The format of the output is a string of  8  charac?              ters, a possible "c" denoting a configuration file,
              and then the file name.  Each of the  8  characters
              denotes the result of a comparison of one attribute
              of the file to the value of that attribute recorded
              in  the  RPM database.  A single "." (period) means
              the test passed, while a single "?"  indicates  the
              test  could not be performed (e.g. file permissions
              prevent reading).  The following characters  denote
              failure of certain tests:

       5      MD5 sum

       S      File size

       L      Symlink

       T      Mtime

       D      Device

       U      User

       G      Group

       M      Mode (includes permissions and file type)

SIGNATURE CHECKING
       The general form of an rpm signature check command is

            rpm --checksig <package_file>+

       This checks the PGP signature of package <package_file> to
       ensure its integrity and origin.  PGP configuration infor?       mation  is read from configuration files.  See the section
       on PGP SIGNATURES for details.

UNINSTALL OPTIONS
       The general form of an rpm uninstall command is

                rpm -e <package_name>+

Red Hat Software         22 December 1998                       8

rpm(8)                    Red Hat Linux                    rpm(8)

       --allmatches
              Remove all versions  of  the  package  which  match
              <package_name>.  Normally  an  error  is  issued if
              <package_name> matches multiple packages.

       --noscripts
              Don't execute  the  preuninstall  or  postuninstall
              scripts.

       --notriggers
              Don't  execute  scripts  which are triggered by the
              removal of this package.

       --nodeps
              Don't check dependencies  before  uninstalling  the
              packages.

       --test Don't  really  uninstall  anything, just go through
              the motions.  Useful in conjunction  with  the  -vv
              option.

BUILD OPTIONS
       The general form of an rpm build command is

           rpm -[b|t]O [build-options] <package_spec>+

       The  argument  used  is -b if a spec file is being used to
       build the package and -t if RPM should look  inside  of  a
       gzipped (or compressed) tar file for the spec file to use.
       After the first argument, the next argument (O)  specifies
       the stages of building and packaging to be done and is one
       of:

       -bp    Executes the "%prep"  stage  from  the  spec  file.
              Normally  this  involves  unpacking the sources and
              applying any patches.

       -bl    Do a "list check".  The "%files" section  from  the
              spec file is macro expanded, and checks are made to
              verify that each file exists.

       -bc    Do the "%build" stage from  the  spec  file  (after
              doing the prep stage).  This generally involves the
              equivalent of a "make".

       -bi    Do the "%install" stage from the spec  file  (after
              doing  the  prep and build stages).  This generally
              involves the equivalent of a "make install".

       -bb    Build a  binary  package  (after  doing  the  prep,
              build, and install stages).

Red Hat Software         22 December 1998                       9

rpm(8)                    Red Hat Linux                    rpm(8)

       -bs    Build just the source package.

       -ba    Build  binary  and source packages (after doing the
              prep, build, and install stages).

       The following options may also be used:

       --short-circuit
              Skip straight to  specified  stage  (ie,  skip  all
              stages  leading  up  to the specified stage).  Only
              valid with -bc and -bi.

       --timecheck
              Set the "timecheck" age (0 to disable).  This value
              can  also  be  configured  by  defining  the  macro
              "_timecheck". The  timecheck  value  expresses,  in
              seconds,  the maximum age of a file being packaged.
              Warnings will be printed for all files  beyond  the
              timecheck age.

       --clean
              Remove  the build tree after the packages are made.

       --rmsource
              Remove the sources and spec file  after  the  build
              (may  also  be used standalone, eg. "rpm --rmsource
              foo.spec").

       --test Do not execute any build stages.  Useful for  test?              ing out spec files.

       --sign Embed  a PGP signature in the package.  This signa?              ture can be used to verify the  integrity  and  the
              origin of the package.  See the section on PGP SIG?              NATURES for configuration details.

       --buildroot <dir>
              When building the package, override  the  BuildRoot
              tag with directory <dir>.

       --target <platform>
              When  building the package, interpret <platform> as
              arch-vendor-os and set the  macros  _target,  _tar?              get_arch and _target_os accordingly.

       --buildarch <arch>
              When  building the package, set the architecture to
              <arch>. This option has been obsoleted by  --target
              in RPM 3.0.

       --buildos <os>
              When  building the package, set the architecture to
              <os>. This option has been obsoleted by --target in
              RPM 3.0.

Red Hat Software         22 December 1998                      10

rpm(8)                    Red Hat Linux                    rpm(8)

REBUILD AND RECOMPILE OPTIONS
       There are two other ways to invoke building with rpm:

       rpm --recompile <source_package_file>+

       rpm --rebuild <source_package_file>+

       When invoked this way, rpm installs the named source pack?       age, and does a prep, compile and install.   In  addition,
       --rebuild  builds a new binary package. When the build has
       completed, the build directory is removed (as in  --clean)
       and  the  the  sources  and  spec file for the package are
       removed.

SIGNING AN EXISTING RPM
       rpm --resign <binary_package_file>+

       This option generates and inserts new signatures  for  the
       listed packages.  Any existing signatures are removed.

       rpm --addsign <binary_package_file>+

       This  option  generates and appends new signatures for the
       listed packages to those that already exist.

PGP SIGNATURES
       In order to use the signature feature RPM must be  config?       ured  to run PGP, and it must be able to find a public key
       ring with RPM public keys in it.  By default, RPM uses the
       PGP  defaults to find the keyrings (honoring PGPPATH).  If
       your key rings are not located where PGP expects  them  to
       be, you will need to configure the macro

       _pgp_path
              to be the location of the PGP key rings to use.

       If  you  want to be able to sign packages you create your?       self, you also need to create your own public  and  secret
       key pair (see the PGP manual).  You will also need to con?       figure the macros

       _signature
              The signature type.  Right now  only  pgp  is  sup?              ported.

       _pgp_name
              The name of the "user" whose key you wish to use to
              sign your packages.

Red Hat Software         22 December 1998                      11

rpm(8)                    Red Hat Linux                    rpm(8)

       When building packages you then add --sign to the  command
       line.  You will be prompted for your pass phrase, and your
       package will be built and signed.

       For example, to be able to use PGP to sign packages as the
       user  "John Doe <jdoe@foo.com>" from the key rings located
       in /etc/rpm/.pgp using  the  executable  /usr/bin/pgp  you
       would include

       %_signature pgp

       %_pgp_path /etc/rpm/.pgp

       %_pgp_name John Doe <jdoe@foo.com>

       %_pgpbin /usr/bin/pgp

       in  a  macro  configuration  file. Use /etc/rpm/macros for
       per-system configuration  and  ~/.rpmmacros  for  per-user
       configuration.

REBUILD DATABASE OPTIONS
       The general form of an rpm rebuild database command is

            rpm --rebuilddb

       To rebuild a new database, do:

            rpm --initdb

       The  only options for these modes are --dbpath and --root.

SHOWRC
       Running

            rpm --showrc

       shows the values RPM will use for all of the options  that
       may be set in rpmrc files.

FTP/HTTP OPTIONS
       RPM  includes  simple  FTP  and  HTTP  clients to simplify
       installing and querying packages which are available  over
       the  internet.  Package  files  for  install, upgrade, and
       query operations may be specified as an ftp or http  style
       URL:

Red Hat Software         22 December 1998                      12

rpm(8)                    Red Hat Linux                    rpm(8)

            ftp://<user>:<password>@hostname:<port>/path/to/pack?       age.rpm

       If the :password portion is omitted, the password will  be
       prompted  for  (once  per user/hostname pair). If both the
       user and password are omitted, anonymous ftp is  used.  In
       all cases passive (PASV) ftp transfers are used.

       RPM allows the following options to be used with ftp URLs:

       --ftpproxy <hostname>
              The host <hostname> will be used as a proxy  server
              for  all  ftp  transfers, which allows users to ftp
              through firewall machines which use proxy  systems.
              This  option  may  also be specified by configuring
              the macro _ftpproxy.

       --ftpport <port>
              The TCP <port>  number to use for the  ftp  connec?              tion on the proxy ftp server instead of the default
              port.  This option may also be specified by config?              uring the macro _ftpport.

       RPM  allows  the  following  options  to be used with http
       URLs:

       --httpproxy <hostname>
              The host <hostname> will be used as a proxy  server
              for  all  http  transfers.  This option may also be
              specified by configuring the macro _httpproxy.

       --httpport <port>
              The TCP <port>  number to use for the http  connec?              tion  on  the  proxy  http  server  instead  of the
              default port.  This option may also be specified by
              configuring the macro _httpport.

FILES
       /usr/lib/rpm/rpmrc
       /etc/rpmrc
       ~/.rpmrc
       /usr/lib/rpm/macros
       /etc/rpm/macros
       ~/.rpmmacros
       /var/lib/rpm/Conflictname
       /var/lib/rpm/Basenames
       /var/lib/rpm/Group

Red Hat Software         22 December 1998                      13

rpm(8)                    Red Hat Linux                    rpm(8)

       /var/lib/rpm/Name
       /var/lib/rpm/Packages
       /var/lib/rpm/Providename
       /var/lib/rpm/Requirename
       /var/lib/rpm/Triggername
       /var/tmp/rpm*

SEE ALSO
       rpm2cpio(8), http://www.rpm.org/

AUTHORS
       Marc Ewing <marc@redhat.com>
       Jeff Johnson <jbj@redhat.com>
       Erik Troan <ewt@redhat.com>

Red Hat Software         22 December 1998                      14

发表于 2002-8-5 00:08:38 | 显示全部楼层
虽说上面都有详细的完全说明,但有些兄弟可能不是看的费力就是像我一样没耐心看了,所以下面我补充一点常用到的中文的说明。

其实rpm软件包有两种形式一种为二进制软件包这种软件包中的程序是已经编译好的二进制可执行程序这种软件包常以“i386.rpm、i486.rpm”等为后缀。其中的如“i386、i486”等代表Intel兼容的CPU平台;另一种就是以“src.rpm”为后缀的源程序软件包,这种软件包中的软件程序是未经编译的源代码,如果执行rpm -qlp检查该源代码,发现里面最重要的是一些以“.tar.gz”格式结尾的源程序及rpm特有的spec文件偶尔也会发现一些补丁文件。源程序软件包主要由三个部分组成:预处理、编译和安装。编译的命令是:
rpm -b|t o 编译可选项 <软件包文件名>
其实rpm的编译可选项较多常用的编译可选项如下:
-b 用于编译的是一个文件
-t 用于编译的文件在一个压缩文件中
-clean 软件包创建后删除编译树
-rmsource 编译完毕后删除源程序与源程序软件包文件
-test 对软件包进行测试
-sign 在软件包中嵌入基于PGP的签名信息
当然对于我们来说可以不用记这么多编译可选项只要记住以下两个就行了。在以root身份执行rpm时多加一个recompile的选项就可以把包装在srpm软件包中的源程序编译并安装该套软件。命令使用格式如下
rpm --recompile <软件包文件名>
如果加--rebuild 选项的话除了会编译源程序代码并安装该套软件还会把编译完成的套件包装成二进制形式的“i386.rpm”的rpm软件包并放置在“/usr/src/redhat/rpms”目录下。命令使用格式如下:
rpm --rebuild <软件包文件名>
发表于 2002-8-5 01:02:34 | 显示全部楼层

rpm --rebuild src.rpm
在LIMBO2好像已经不管用了
发表于 2002-8-5 10:44:07 | 显示全部楼层
对,不管用了,是不是被别的命令代替了??
发表于 2002-8-13 10:31:07 | 显示全部楼层
试试rpm -rebuilddb src.rpm
发表于 2002-8-13 10:56:07 | 显示全部楼层
兄弟,这个我已经试过了,但仍然不能行。是不是新版的命令格式有变???
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表