
                 Ext2fs  ̴-Ͽ
                 ***********************


   By Aaron Crane  < aaronc@pobox.com >
   1997 1 18 ,  v1.0
 
    :  < pey1@nownuri.net >
    : 1997 5 8 
    : 켱    ϴ ʺ װ͵
            ª  Ƿ Ͽ  ϴ 
            β ϸ, ext2   ȭ 
               ̴ Ͽ  κ  
            øϴ.(1: ó~8  / 2: 9~ ̷ ѷ )
              Ǿ  κ ִٸ ġ ð
               ּҷ  ֽø  ġڽϴ.  


# Ext2fs (1)   #
 0. 鼭
 1.  ϸ ȭ  .
 2.  ŭ    ?
 3. ׷ ȭ   Ű?
 4. Unmounting the Filesystem
 5.  inodes  ٲ غ Ѵ.
 6. ٸ ڷḦ (write) غ Ѵ.
 7.  inodes  ã´.
 8. inodes  ΰ ´.
   
  (*********     ֽϴ **************)


 0. 鼭
 =============

  ̴ Ͽ  ext2 ȭ ýۿ  ȭ ϴ
 ˷ ϰ ϱ  ۼ Ǿ.   
켱  ϸ ȭ  ϴ  ǵ鿡
Ǿ ִ.

    'rm'    ִ 鿡 Ȯ  
ַ ǵ ۼ -   ִ ణ  
   𸣴 ̴ - ƹư   о ⸦ 
ٶ. 

   Ϲ н ȭ ýۿ  ణ  
 ۼǾ κ  ڵ鿡  صǱ
ٶ.   ʺڶ  ü Ͽ ȭ ϴ 
 а  İ    ʿϴ.

  ȭ  raw device read access  ext2 ȭ
ýۿ  ȭ ϴ  Ұ ̴. 
Ϲ ̰ Ʈ߸ Ѵٴ  ǹѴ.  'e2fsprogs' 
Ű 'debugfs' ʿѵ ̴ ؼ ġ ̴.

       ڽ ַ Ʈ  ϰ
'rm -r'   迡  ̴.   ʿ 97
ϴ JPEG ȭ µ ٸ ҽκ͵   Ұ
߾. ణ Ǵ   γ ջ  91
ȭ  ߾,  ټ κе ƹư ãҴ.  ϳ
 Ұ ߾µ ̸ 1024 Ʈ  ʴ κи Ҿ
ȴ.

 ̿    ȭ     
 ϰ Ѵ.


 1.  ϸ ȭ  
 ===================================

 ̰ MS-DOG  Linux  ġ̴. Win95  MS-DOG
Ϲ  ȭ  Ϻϰ ȴ --   
ü  κ ڵȭ ƿ ִ. Linux  ̷
   . ׷Ƿ  ؾ  ְ Ģ̸
 Ģ :   ־
              ***   ϴ ̴  ***
 ̰ ϱ    ȴ.     ڵ 
   ġ ϰ   ȹ   
϶  Ѵ. ̿  ڼ  Frisch(1995) ض.

  ʵǸ   ΰ?

 ߿ ȭ permissions 440̳ ׺  ֶ:  ڽ
accessϱ źѴٸ 'rm'   Ȯ Ȯ ʿϴ.
(׷  'rm -r' 丮  켱 α׷ ߴϰ
Ȯ  'rm -rf'     ߰ߴ)

 õ ȭ     丮 ȿ ϵ ũ 
̴.   /etc/passwd    ݺ  װ
 ý   sysadmin   ̾߱⸦   ִ.
̸ ġ  Ʈ   ϸ ȴ.

    # mkdir /.backup
    # ln /etc/passwd /.backup     
 
 Ϻ ؼ ȭ   ǻ   ʿϴ.
   ϰ
   
    # rm /etc/passwd
 
 ׸ 

    # ln /.backup/passwd /etc

 ̷ ϸ     ̴.  ̰ ȭϿ
⸦  ҿ .׷Ƿ ƹư  ؾ Ѵ.

   ϸ ̳ Լ 'rm' 'rm -i'  
Ѵ.('rm -i'   ȭ Ȯ  ̴)
  Ʈ  ϰ   ̴ 
忡  ʾƼ ׷  ʴ´.
  ʾƼ ̳,  ѻ 带 ϰ,
ٸ  ϰ Ȥ ٸ 踦 ϰ 𼭳  'rm' 
Լ  ʴ´ٴ  ̴.  ȭ  
Ȯ ֱ⸦ ٶٸ  ȭ ʹ Ƽ   
 ִ ر .  

 'rm'     ϴ     ذå  
   Ű ϱ ϴ ̴. ̿  
ڼ  Peek, et al(1993) ϶.



 2.  ŭ    ?
 =======================================

 װ ̴. Linux  High-quality, Multi-tasking,
Mult-user  ȭ     ũ ϱ⸦ 
ϴ 𸣴 ̶µ ִ. ׷ ü ȭ  
ɽ, ̴ ȭ ȭ  Ҵ Ҷ  ϰԲ 
 ȴٰ Ѵ. Ϲ ǻ ڰ  
ȭ   ִ ɼ .

  ũ ļ ȭ  ϰ ϴ ȿ   ִ.
 Ƽ  ȭ  Ŷ ʹ ļյ ̿
 ȭ д   Ұϴ.

  ǻͰ ڽ Ͱ   sing-user workstation ̶ 
ġ  ƴҽ     Ѵ. 
 ջ  ̳ʸ ȭ  94% ȸ Ų. 
 80%  ̻  ִٸ ڽſ    ̴.


 3. ׷ ȭ   Ű?
 ==================================

 ü ȭ   raw partition device  Ÿ 
߰ װ ٽ  ְ ؼ ü   ǹѴ.
̰ ϴµ ⺻ ΰ  ִ :
 ϳ  inodes  ִ 'deleted' flag  ϴ ȭ 
ý   ڷ  װ  ٶ ̴.
ӵ   ٸ  Ƽǿ ִ ڷ ȹ 
ο ȭϿ Ű  ̴.  
 
 4~6忡  ڷ  ϱ  ؾ  ܰ
  7~10忡 ļ ȭ  Ͽ.


 4. Unmounting the Filesystem
 ============================

   ϴ    ù° ܰ 
ȭ  ȭ ý unmount ϴ ̴.
 mount ȭ ýۿ Ƹ Ǽ  Ʋ ٴ  嵵
ϰ Ѵ.  ܰ ȭ Ȱ  Ŀ   
Ǿ Ѵ.

      ϴ ̴: 
  ȭ /usr partition  ִ ϰ

     # umount /usr

 ׷  /usr  ̿  ִ  α Ҽ Ƿ ̰
read-only remount Ѵ:
 
     # mount -o ro,remount /usr

  root  ȭ ٸ /etc/mtab   κ
mount  '-n' option  ߰ؾ Ѵ.

    # mount -n -o ro,remount /

    ġ  filesystem  ٸ  ϴ.
(̴ 'Resource busy'   ޼ unmount и ʷѴ)
̰ ֿ ȭ̳ mount point   Զ ȣ
 α׷̴: 'fuser'. 
 /usr partition    غ.

    # fuser -v -m /usr

 ̰   õ  Ѵ. װ͵  ߿ ʴٰ 
ϰ    SIGKILL   .

    # fuser -k -v -m /usr

 Ȥ   

    # fuser -k -TERM -v -m /usr 

  SIGTERM  ش.


 5.  inodes  ٲ غ Ѵ.
 ========================================
 
       ̴..     ϱ⿡
  ȭ ýۿ ۵ϴ  ϴٰ  ʴ´. 
 ̴ ̴Ե   ȭ ù° 12 blocks   ִ 
 ִ. ׷Ƿ  ȭ  ҷ ƹư ٸ  ãƾ
 ̴. (11  ΰ ̴.)

     ؾ߸ Ѵٰ ٸ raw Ƽ ڷḦ
ٸ Ƽǿ   ̰ loopback   mount ض.

    # cp /dev/hda5 /root/working
    # mount -t ext2 -o loop /root/working /mnt
 
 ׷ ̰ 'mount' ֽ  ʿϴ.

 ȭ ý  ı loopback  Ѵٴ ǹ̴ 
raw Ƽ ؼ ٽ ؾ߸ Ѵٴ ̴.
 

 6. ٸ ڷḦ (write) غ Ѵ.
 ========================================

  򰡿 ִ  Ƽ Ȯϰ  ʿ䰡 ִ.
߸Ǹ  ý Ƹ root, /usr, /home   Ƽ
 ִ. ̵  ƹ   ̴:   ϳ
ο 丮 Ѵ.

  root   ְ rootٰ   ߴٸ  ٷ 
 ̴.  MS-DOG  Windows Ƽ  ְ װ 
ϴ°? Ȥ Ŀο ó ramdisk ̹  ִ°? 
Ŀ 1.3.48 ̸̻ ramdisk  ؼ   ض.

    # dd if=/dev/zero of=/dev/ram0 bs=1k count=2048
    # mke2fs -v -m 0 /dev/ram0 2048
    # mount -t ext2 /dev/ram0 /mnt

 ̰ 2MB  ramdisk volume   ̸ /mnt mount ϴ ̴.

 :  'kerneld' automatically load and unload kernel
modules Ѵٸ ̰κ  ȭϵ ϱ  
ֹ߼ ġ  ramdisk  unmount  ƶ. ѹ ̰
unmount ϸ 'knrneld' ̰  unload Ҽ ִٰ ϸ,
 Ͼ ޸𸮴 Ŀ ٸ κп ٽ ǰ, ڷḦ 
 ϴ ɸ  ܿ ð Ҿ Ǵ ̴. 
   ο superfioopy removable device   ִٸ
  Ƽ ϴµ  ̴. ׷  
÷ǿ  ؾ Ѵ.
 
  ʿ ٸ Ѱ Ƽ device ߾  
ʿ ڷḦ   ִ α׷̴. 濡 ó 'dd'
   , 600MB Ƽ 800MB Ƽ о鿩 
ϰ, 'dd' б⸦  ó 600MB Ѵ.̴ ð
 ɸ.   Ƽ ߾ ã α׷ ϴ ̴.
̸ 'fsgrab' θµ uuencoded, gizpped tar file  ,
ġ, ۱ ޼ Բ   ִ.
  ̸ ˻  :
    
    $ uuencoded < Ext2fs-Undeldtion-mini-HOWTO
    $ gzip -dc fsgrab.tar.gz | tar xf -

begin 644 fsgrab.tar.gz

             
,

end

  α׷ Ϻϰ ۵Ǵ  ̸ ϴ
å  ٴ  Ѵ. warranty   κ 
 GNU General Public Licence  'COPYING' ȭ 
'No warranty'  .


 7.  inodes  ã´.
 ===========================

  ܰ ֱ inodes Ӱ  ȭ ý  ̴.
  'debugfs'  ؾ ϴ ̴. ȭ ý 
device ̸ ְ 'debugfs' :

    # debugfs /dev/hda5

 inodes  Ϸ   ȭ ýۿ '-w' ɼ
߰Ѵ:

    # debugfs -w /dev/hda5

  inodes  ã 'debugfs'  'lsdel' ̴.
,   Ʈ Ẹ.

     debugfs:  lsdel

 ũ ư Ҹ   ٶ  ϴ  ݵȴ.
׷ ̰ 򰡿  ϱ⸦  ̴. 'less' ɼ
 ִٸ '-o' ɼ  ȭ ̸   ִ.
׷      ؾ Ѵ.

    debugfs:  quit 
    # echo lsdel | debugfs /dev/hda5 > lsdel.out

 ,  ð, ũ, , ۹̼ ,   ٰŸ ΰ
ϴ  inodes   ߸ Ѵ.   inode  
Ŀٶ ̰ 5  ̹Ƿ ߰   ̴.
׷     trawl Ѵ.

 ϴٸ  ϱ⸦ ϴ inodes  Ʈ ϱ Ѵ. 
̴      ̴.

 8. inodes    ´.
 ================================

 Debugfs  inode λ ϴ 'stat' ִ. 
̴  Ͽ ִ  inode  Ѵ.   ϴ
inode ȣ 148003 ̶   غ.
 
  debugfs:  stat <148003>
    Inode: 148003   Type: regular  Mode:  0644  Flags: 0x0  Version: 1
    User:   503   Group:   100   Size: 6065
    File ACL: 0    Directory ACL: 0
    Links: 0   Blockcount: 12
    Fragment:  Address: 0    Number: 0    Size: 0
    ctime: 0x31a9a574 -- Mon May 27 13:52:04 1996
    atime: 0x31a21dd1 -- Tue May 21 20:47:29 1996
    mtime: 0x313bf4d7 -- Tue Mar  5 08:01:27 1996
    dtime: 0x31a9a574 -- Mon May 27 13:52:04 1996
    BLOCKS:
    594810 594811 594814 594815 594816 594817 
    TOTAL: 6

  ȭ ٸ   ڵ Ǳ ٶ ̴.
 inodes 'lsdel'  'list' ִ ϰ   غ.
 
    # cut -c1-6 list | grep "[0-9]" | tr -d " " > inodes

  ȭ 'inodes' ߿ ϰ ϱ  inodes ȣ 
ٸ ϳ  ߾. ׸    غ.

    # sed 's/^.*$/stat <\0>/' inodes | debugfs /dev/hda5 > stats 

⼭ 'stats'  'stat'   Ѵ.
 

 9.   Ѵ.
 =========================

  ȭ 12   ʴٸ   ڷ  ȣ 
inode  Ǿ ִ. ̴ 'stat'   inode   
 , 'fsgrab' ϸ   Ҽ ִ.
8忡 ô  ٽ .

  debugfs:  stat <148003>
    Inode: 148003   Type: regular  Mode:  0644  Flags: 0x0  Version: 1
    User:   503   Group:   100   Size: 6065
    File ACL: 0    Directory ACL: 0
    Links: 0   Blockcount: 12
    Fragment:  Address: 0    Number: 0    Size: 0
    ctime: 0x31a9a574 -- Mon May 27 13:52:04 1996
    atime: 0x31a21dd1 -- Tue May 21 20:47:29 1996
    mtime: 0x313bf4d7 -- Tue Mar  5 08:01:27 1996
    dtime: 0x31a9a574 -- Mon May 27 13:52:04 1996
    BLOCKS:
    594810 594811 594814 594815 594816 594817 
    TOTAL: 6

  ȭ 6   ִ. 'recoverde.001' ̶ ȭϿ
Ȯ ϱ    غ. 
 
     # fsgrab -c 2 -s 594810 /dev/hda5 > recovered.001
     # fsgrab -c 4 -s 594817 /dev/hda5 >> recovered.001

 κ 'recovered.001' ʿ     ߿ġ ʴ.

  ϳ Ǵ  ̻ õ    ɼ ִ.
 ׷ٸ   ̴   ؼ ؾ .

  ȭ 12  涧 Ÿ. ̶ н ȭϽýۿ
 ణ ˰ ־ Ѵ. ȭ ڷ 'block' ̶ Ҹ 
ü ȴ. ׸    ȣ Ű ִ.
 ȭϿ , ۹̼,   Ǿ ִ 'inode'
  ִ. ̷  inode  ȣ Ű ְ
ٸ  ´. ׸ 丮 ȭ ̸ inode ȣ 
ȴ.

 ۹̼    inode  ȭ  ġ
Ѵ. ó 12   inode  ü Ǵµ ̸
direct blocks Ѵ. ׷  inode  'indirect blocks' 
ϴµ ⼭  ΰ direct blocks ȣ Ѵ. 
inode indirect blocks ȣ   ι indirect blocks 
ȣ ,  ̸     indirect blocks
.

 ٽ о : ̴  ߿ϴ.

 , ϰԵ ֱ Ŀ  ȭ deletion  indirect 
blocks  0̴.׷ 12   ȭ̶ ʿ   
ȣ ߰  ִٴ°    .

 ׷  ˾Ƴ    ȭϵ  ʾҴٰ 
ϴ ̴.    ٸ  ִ. ȭϿ indirect block
 ʿϴٸ   ͵   Ÿ.

    #Blocks   Contents
    12        Data (direct blocks)
    1         Indirect block
    256       Data (blocks in the indirect block)
    1         Doubly indirect block
   [1         Indirect block of the doubly indirect block
    256       Data
   ] (256 times -- one for each indirect block in the doubly indirect)
    1         Triply indirect block
  [[1         Doubly indirect block
    256       Data
   ] (256 times -- one for each indirect block in the doubly indirect
      block of the triply indirect block)
  ] (256 times -- one for each doubly indirect block in the triply
     indirect block)

   Ȯϱ⸦ ٶ. ȭ  268  ̶ ̴ 
 ϴ. ̵ 12 ̰ ( ȣ inode ü
Ÿ) indirect block   ٸ 256   .
 ȭ  ͺ ٸ ι indirect block  ߰Ѵ.
   ΰ 256   ϳ indirect block 
256    ߰ϴµ ִ밡 256 ̴. ̺ ȭ  ٸ
   ɼ     ȭϿ   ̾ 
Ÿ  ִ. 

   ũ  1024 bytes ̰ ̴ ǥذ̴.
 ̺ ũٸ ణ ȣ ٲ Ÿ. Ư:  
ȣ 4 bytes ٸ blocksize/4   indirect block  Ǵ
 ȣ̴.  ׷ Ź  Ÿ 256 ̶ ȣ 
blocksize/4  ٲٴ ̴.


 10. inodes   Ѵ.
 ===========================

   Ѻ⿡    12   涧 ¸  .

  ϴ  inode  ݵ  ϳ ؾϰ deletion
ð 0 ؾѴ.  ۾ ' degugfs'  'mi'  
̷. inode 14800 3κ ణ   .

    debugfs:  mi <148003>
                              Mode    [0100644] 
                           User ID    [503] 
                          Group ID    [100] 
                              Size    [6065] 
                     Creation time    [833201524] 
                 Modification time    [832708049] 
                       Access time    [826012887] 
                     Deletion time    [833201524] 0
                        Link count    [0] 1
                       Block count    [12] 
                        File flags    [0x0] 
                         Reserved1    [0] 
                          File acl    [0] 
                     Directory acl    [0] 
                  Fragment address    [0] 
                   Fragment number    [0] 
                     Fragment size    [0] 
                   Direct Block #0    [594810] 
                   Direct Block #1    [594811] 
                   Direct Block #2    [594814] 
                   Direct Block #3    [594815] 
                   Direct Block #4    [594816] 
                   Direct Block #5    [594817] 
                   Direct Block #6    [0] 
                   Direct Block #7    [0] 
                   Direct Block #8    [0] 
                   Direct Block #9    [0] 
                  Direct Block #10    [0] 
                  Direct Block #11    [0] 
                    Indirect Block    [0] 
             Double Indirect Block    [0] 
             Triple Indirect Block    [0]

 ǰ deletion ð 0 ϰ ũ 1   ٸ  
 ǵ ̴.  ̰     ȭ
ؾ Ѵٸ   ó  ִ. 

 [ ׷ : 'mi'  inode ִ 'Creation time' õǾ ִٴ
            ̴.  ȭ   н ȭ  
           ýۿ  ĥ  . 'st_ctime' 'struct stat'
           'inode change time' õǾ ִ. ̴ inode λ 
           ٲ  ̴. ]

  inodes ִٸ 'debugfs'     ִ.
   
     # e2fsck -f /dev/hda5 

  Ǵ ° ణ   ̴. 
'summary information'   inodes   ߹ 'Yes'
ض.   'Yes' ϴ   ̴. 'e2fsck' 
 ȭ ý remount   ִ. 
 ȭ ȭ ý /lost+found 丮 ڸϰ ִ.
(Ƽ /usr  mount ƴٸ  /usr/lost+found  )
װ͵ inode ȣ  ̸ ҷ.   ؾ  
 ȭϵ 뿡 ˸° ̸   ̸, װ͵ ȭ
ý  ˸´  ǵ ̴.

  ͵ 'e2fsck' ȭ /lost+found    ϳ̴.
 inode  ȭ ýۿ ũ µ 'debugfs' 
  ִ. 'debugfs' 'link'  inode    ض.

      debugfs:  link <148003> foo.txt    

   'debugfs'  ֱ 丮  ϴ ٰ
'foo.txt'  ȭ  ̸ 'foo.txt'   ȭ  
̴. 'e2fsck'  'summary information'  ĥ
  ʿ伺 ִ.


 11. ̷ ߿     ?
 =============================================
     
 ׷.   ̰  ִٰ ϴ´. 2.1.X ø ִ ֱ
Ŀ indirect blocks  0  ʴ´ٰ . indirect blocks
  ظ  ʰ  ִ  ٸ 2.0.X Ŀ ǰ 
Ѵٴ Ⱑ    1996 12̴.  ٸ Ŀ
Ŀ  Ѱ踦 غ߰,  inode  ϴ  
  Ÿ ̴.


 12.   ڵ Ǵ  ִ ?
 ===============================================

   Ͼٸ ٷ װ ִ.  װ inode  
޴    Ѵ : indirect blocks  
Ұϴ. ׷ ̴ ʾ ̻    ̸, 
̷ α׷  ɼ ִٰ .

  net  Scott D. Heavner  'lde'  ߾.
  ̰ ڵ ȭ Ǵ   ʴ´.
̴ 'debugfs'  ȭ  ä , Ȯ ȭ  
 ˻ϴ ɷ°  Ư¡  ִ.  ̰ xia minix 
ȭ ý۰ Բ ۾ ϴµ ̷  ÿ ̰  
ȸ Ѱ . URL :

 ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/lde-2.2.tar.gz

  ۾ GNU Midnight Commander,`mc' ó 鸰. ̴
full-screen ȭ  ̸, 'NC' ˷ ִ MS-DOG full-screen 
ȭ   AFAIK ٰŸ  ̴. 'mc'  ְܼ xterm
 콺 ϸ tarfile  'cd'ing ϴ Ͱ  
ȭ ý Ѵ. ̵  ȭ ý ext2 undeletion ̴. 
̰ ſ ŷӰ 鸮  ڽ α׷    
     Ѵ. и ϳ `--with-ext2undel'
ɼ α׷ 迭Ѵ.  ̺귯 'e2fsprogs' Ű 
 ȭ   ʿ ̴.  ϴ  `cd undel:/dev/hda5'
 θ ִ  α׷ ϰ,  ȭ `directory 
listing'  ߴ.

    Ƹ 3.2.11 ̴. Ŀ ü  
߹ Ŀ ƴ   ʴ´. ̰ URLs 
 ̿  ִ.

    ftp://sunsite.unc.edu/pub/Linux/utils/file/managers/
        (may be an older version)
    ftp://ftp.nuclecu.unam.mx/linux/local/
    ftp://ftp.nuclecu.unam.mx/linux/local/devel/
        (unsupported, developmental, alpha versions)
    ftp://ftp.cvut.cz/pub/mc/
        (European mirror of public and alpha releases)

 Ʈ  

    http://stekt.oulu.fi/~jtklehto/mc/

-------------------------------------------------------------------

 A.  Colophon
============

I intend to produce regular updates to this document as long as I have both
time and something interesting to say.  This means that I am eager to hear
comments from readers.  Could my writing be clearer?.  Can you think of
something that would make matters easier?  Is there some new tool that does
it all automatically?  Who *did* kill JFK?

Whatever.  If you have something to say, about this document or any other
subject, drop me a line on <aaronc@pobox.com>.


B.  Credits
===========

    "If I have seen farther than others, it is because I was standing

    on the shoulders of giants."
                    -- Isaac Newton

Much of this mini-Howto was derived from a posting in comp.os.linux.misc by
Robin Glover <swrglovr@met.rdg.ac.uk>.  I would like to thank Robin for
graciously allowing me to rework his ideas into this mini-Howto.


C.  Bibliography
================

Frisch, leen (1995), `Essential System Administration', second edition,
    O'Reilly and Associates, Inc., ISBN: 1-56592-127-5.

Glover, Robin (31 Jan 1996), `HOW-TO : undelete linux files
    (ext2fs/debugfs)', comp.os.linux.misc Usenet posting.

Peek, Jerry, Tim O'Reilly, Mike Loukides et al (1993), `Unix Power Tools',
    O'Reilly and Associates, Inc./Random House, Inc., ISBN: 0-679-79073-X.


D.  Legalities
==============

MS-DOG and Windoze are not trademarks.  Any resemblance these names may
bear to those of any commercial software products is entirely coincidental.

Unix is not a trademark, and has not been for quite some time now.  Wake up
and smell the flowers!

The trademark status of the name `Linux' is currently being contested by
lawyers, as a certain Walter R. Della Croce has made an apparently false
trademark registration for the term.  I however refuse to acknowledge the
name as anything other than public property of all net.citizens.  If Linus
had wanted a trademark on the name, he'd have taken one out himself.

This document is Copyright  1997 Aaron Crane <aaronc@pobox.com>.  It may
be freely redistributed in its entirety, including the whole of this
copyright notice, but may not changed without permission from the author or
from the Linux Documentation Project Co-ordinator.  Dispensation is granted
for copying small verbatim portions for the purposes of reviews or for
quoting: in these circumstances, sections may be reproduced in the presence
of an appropriate citation but without this copyright notice.

The author requests but does not require that parties intending to sell
copies of this document, whether on computer-readable media or on paper,
inform him or the Linux HOWTO Co-ordinator of their intentions.

The Linux HOWTO Co-ordinator is Greg Hankins <gregh@sunsite.unc.edu>.

                           й(pey1)

                       
