  RPMɂpbP[WǗ
  Modified by Masaki Kawamura
  2000N0129

  1.  Using RPM



  1.1.  ͂߂

  Vine Linuxł RPM(RedHat Package Manager)`̃pbP[WǗVXe
  ̗pĂ܂DɂCX̃pbP[W̃CXg[폜Ȃ
  eՂɍsƂł܂D{߂ł́CrpmpbP[W̊Ǘ@ȒP
  ܂D


  rpmpbP[W̑@͑傫킯āC

  1. rpmR}hCUI

  2. XGUIignorpm, kpackageȂǁjp

     Ƃ2̕@܂D


  {߂ł1ԖڂrpmR}hgnorpmR}hprpmpbP[W̑
  @܂Dman rpmjman rpmC܂rpm --helpłCrpmR}h
  ̂낢ȃIvVm邱Ƃł܂D


  1.2.  rpmpbP[W

  Vine LinuxWWWy[WAbvf[gꂽ\tgEFA VinePlus_
  E[h邱Ƃł܂D̃\tgEFArpmpbP[W
  ȂĂ܂Drpm pbP[W̖Ot̋ḰC


       <pbP[W>-<o[W>-<[Xԍ>.<A[LeN`>.rpm



  ƂȂĂ܂D<o[W>̓\tgEFÃo[W\C<[
  Xԍ>̓pbP[W쐬ɊւǗԍłDVine LinuxŗL̃pb`
  Ăꍇ́C2vl3̂悤 vl<Vine Linux[Xԍ>̌`ɂȂ
  Ă܂D<A[LeN`>ɂ src, noarch, i386Ȃǂ܂D\[X
  R[h̃pbP[Wɂ srct܂D܂@(CPU)ɈˑȂ
  pbP[Wɂ noarcht܂DCi386Ȃǂ͋@Ɉˑ
  pbP[WłDʏCRpCꂽoCĩpbP[Wɂ i386
  tĂ܂Ci586ȂǂƂȂĂꍇ܂D



  1.3.  rpmpbP[W̃CXg[irpm -ij

  rpmpbP[W肵܂D


       # hoge-1-2.i386.rpm



  ̃t@CCXg[Ƃɂ́C-iiInstalljIvVg
  āC

  # rpm -i hoge-1-2.i386.rpm



  Ƃ܂D܂C-viverbosej-hihashj𕹗pāC


       rpm -ivh hoge-1-2.i386.rpm



  ȂǂƂƁCCXg[ɃnbV}[Ni#joāCCXg[
  ̐iޗlq킩܂iĂ݂܂傤jD


     dependencỷ

  āCrpmpbP[WCXg[悤ƂƂɁC


       libHore.so.1 is needed by hoge-1-2
       hare is needed by hoge-1-2



  ́C


       libHore.so.1  hoge-1-2 ɕKvł
       hare  hoge-1-2 ɕKvł



  ȂǂƂG[o邱Ƃ܂D ́urpmpbP[Whoge-1-2
  ɁCharerpmpbP[WlibHore.so.1KvƂt@C
  CharelibHore.so.1VXeɂ̓CXg[ĂȂvƂɂ
  G[łD̂Ƃɂ́CpbP[WharelibHore.so.1܂ރpbP[
  WTĂăCXg[ĂDĈ悤Ȉˑ𖳎
  ăCXg[Ƃɂ́C--nodepsIvVp


       # rpm -i --nodeps hoge-1-2.i386.rpm



  Ƃ܂DC̏ꍇɂ̓CXg[pbP[Wɓ삵
  Ȃ\܂D


  1.4.  rpmpbP[W̃AbvO[hirpm -Uj

  łɁChoge-1-1.i386.rpmCXg[ĂāC V̂Ƀo[
  WAbvƂɂ́C-UiUpdatejIvVp


       # rpm -U hoge-1-2.i386.rpm



  ܂
       # rpm -Uvh hoge-1-2.i386.rpm



  Ƃ܂i2̈Ⴂ̓CXg[ƓłjD܂CÂo[
  Wɖ߂Ƃɂ́C--oldpackageIvVpāC


       # rpm -Uvh --oldpackage hoge-1-1.i386.rpm



  Ƃ܂D


     conflict̉

  hoge-1-2.i386.rpm̃CXg[ɁC


       /usr/bin/poo conflicts with file from fuga-2-3



  ́C


       /usr/bin/poo  fuga-2-3 ̃t@CƋ܂



  ƂG[oꍇɂ́Chogẽt@C/usr/bin/poo, łɃCX
  g[ς݂̃pbP[Wfuga-2-3/usr/bin/pooƏd邽߂ɁCCXg
  [łȂƂ܂DCXg[Ƃ
  ́C--forceIvVpāC


       # rpm -i --force hoge-1-2.i386.rpm



  Ƃ܂D̏ꍇɂ́CƂ炠fugãt@C
  /usr/bin/poóChogeɂď㏑Ă܂̂ŁC戵ɂ͗vӂ
  D


  1.5.  rpmpbP[W̍폜irpm -ej

  CXg[Ăhoge폜iACXg[jȂ
  C-eierasejIvVp, ȉ̂悤ɂ܂D


       # rpm -e hoge



  ŁCo[Wԍ⃊[Xԍ͗v܂񂪁C



  # rpm -e hoge-1-2



  Ƃ邱Ƃł܂D, hogẽpbP[Wp̂ɕKvȏ
  ɂ,


       removing these packages would break dependencies:
       hoge is needed by fugafuga



  ́C


       ̃pbP[WKvƂĂpbP[W܂:
       hoge  fugafuga ɕKvł



  ȂǂƂG[bZ[Woč폜ł܂. č폜Ƃ
  ɂ, --nodepIvVp,


       # rpm -e --nodeps hoge-1-2



  Ƃ܂. C̏ꍇ fugafugaȂȂ\܂
  ŁCӂKvłD


  1.6.  rpmpbP[WɊւ𓾂irpm -qj


     CXg[ĂrpmpbP[W̏𓾂

  hogeƂpbP[WCXg[̂Co[WYĂ܂
  ̂Œm肽CƂƂɂ́C-q (queryjIvVgāC


       # rpm -q hoge



  ƂΕ\܂D܂C-iiinformationjIvV𕹗pāC


       # rpm -qi hoge



  ƂƁCpbP[WɊւ邢낢ȏ𓾂邱Ƃł܂D
  -lilistjIvVpāC


       # rpm -ql hoge


  ƂƁCpbP[WhogeɊ܂܂t@Cꗗ\܂D


  ̃IvVSĕt邱Ƃł܂D


       # rpm -qil hoge



     ĂrpmpbP[WɊւ𓾂

  CXg[ĂpbP[WłȂCĂpbP[
  Whoge-1-2.i386.rpm̏t@Cꗗm肽Ƃ
  ́C-pipackagejIvV𕹗p܂D


       # rpm -qilp hoge-1-2.i386.rpm



  -viverbosejIvVg


       # rpm -qlvp hoge-1-2.i386.rpm



  ƂƁCet@C̑Ȃǂ\܂.


     CXg[Ăt@C̑pbP[Wm

  CXg[Ăt@C/usr/bin/fugaCǂrpmpbP[WɊ܂܂
  Ă̂Ȃ̂m肽Ƃɂ́C-fifilejIvVgāC


       # rpm -qf /usr/bin/fuga



  Ƃ܂D


  1.7.  \[XpbP[WoCirpm쐬irpm --rebuildj

  rpmpbP[W -i-Uł܂CXg[łȂꍇ́C\[
  X(src.rpm)pbP[WoCirpm쐬Kv܂D
  CVine Linux 2.0pɗpӂꂽpbP[WȊO(Red HatVine Linux
  1.x̃pbP[WȂ)CXg[ꍇ͕K\[XpbP[W
  \zĉD


     
        ʂ user  src.rpm  rebuild 邽߂ɁCpbP[WW
        JC\z邽߂̏ꏊpӂĂ܂D̃fBNg
        ~/RPMƂƁCȉ̃fBNgKvłD


          $ mkdir -p ~/RPM/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,noarch}}

     ܂C~/.rpmmacrosɐݒLqĂKv܂Dȉ̂悤
     ĉD


          $ echo "%_topdir $HOME/RPM" > ~/.rpmmacros



     č\z
        ł\[XpbP[Wč\z܂D\[XpbP[W
        hoge.src.rpmƂOɂȂĂ܂D


          $ rpm --rebuild hoge.src.rpm



     ƁCč\z(rebuild)sCȉ̂悤ȃbZ[Wo
     IΐłD


                       ...
          񋟃t@C(provides)̒...
          K{t@C(requires)̒...
          ݒ: /home/user/RPM/RPMS/i386/hoge.i386.rpm
          s: %clean
                       ...
          + exit 0



     Vł ~/RPM/i386/hoge.i386.rpmCXg[΂܂
     DCč\zɎsꍇ́CXybNt@CɏCKv
     D̏ꍇ́C\[XR[hCXg[CXybNt@Cm
     FĉD


          $ rpm -Uvh hoge.src.rpm



     ƁC~/RPM/SRPMS/Ƀ\[XR[hpb`t@CWJ
     C~/RPM/SPECS/ɃXybNt@C hoge.specł܂Du user
      src.rpm  rebuild  <http://www.geocities.com/
     SiliconValley/Program/1018/linux/rebuild_srpm.html>vy[WQƂ
     ĉD



  1.8.  Gnorpm

  Gnorpm GNOMEŊJꂽRPMpbP[WǗAvP[VłDGUI
  ȒPɃpbP[WCXg[AbvO[hł
  DGNOME̓plN邱Ƃł܂D܂CGNOMEȊÕEB
  hE}l[WKDE̓R}hCN邱Ƃł܂D


       $ gnorpm



  (} <images/gnorpm.png>)


  NꂽEBhÉuwvv{^ƁC{̃wvǂނ
  Ƃł܂D


     ݒ
        RPMpbP[WuĂfBNgw肵܂D

        1. uv{^CuݒvIŉD

        2. V\ꂽEBhÉuCXg[EEBhEvI
           ŉDԉɂuRPMfBNgvPRMpbP[W
           uĂpX͂܂DႦ΁CpbP[WCD-ROMɓ
           ĂāCCD-ROM /mnt/cdromɃ}EgĂ
           C/mnt/cdrom/Vine/RPMŜ悤ɋLq܂Dݒ肪I
           uOKvĉD


     VKpbP[WCXg[

        1. EBhÉuCXg[vACRƁCCXg[p
           ̃EChE\܂D

        o  uSẴpbP[Wv c CXg[Ă̂܂߂S
           ẴpbP[W\܂D

        o  uCXg[Ă̈ȊOSāv c CXg[
           pbP[W̌Âo[WVo[W\܂D
           xCXg[ȂVK̃pbP[W͕\܂
           D

        o  uCXg[ĂȂpbP[Ŵ݁v c xCXg
           [ȂpbP[W\܂D

        o  uVpbP[Ŵ݁v c CXg[pbP[W
           VpbP[Ŵ݂\܂D

        o  uCXg[ĂȂC͐VpbP[Wv c 
           L2킹ĕ\܂D


        2. c[̒Ƀ`FbN{^ꂽCCXg[pbP
           [W`FbN܂(NbNƃ}[Nt܂)DSđI
           uCXg[vƃCXg[n܂܂D
           CuAbvO[hvƃAbvO[h܂D̂
           CspbP[W肷ƌxł܂̂Ōx
           ]ĉD


     svȃpbP[WACXg[

        1. EBhE̍ɂc[ړĨJeS܂őI
           DpbP[WJeS܂łƁCEɃCXg[
           ĂpbP[Ẅꗗ܂D

        2. ACXg[pbP[WNbNđI܂D

        3. ́u폜v{^ƁCũpbP[W폜܂?v
           ƕ̂ŁCu͂ṽ{^ƍ폜܂D


  (} <images/kpackage.png>)



