README.extfs

Adam Byrtek 'alpha' alpha at student.uci.agh.edu.pl
Thu Dec 12 19:57:18 UTC 2002


First, very ROUGH draft attached. English is not my native language,
so I would appreciate if somebody with a better English knowlege
checked and corrected the text gramatically and stylistically.

I'm also open to any suggestions concerning content.

Regards
Adam


-- 

  _.|._ |_  _.    : Adam Byrtek, alpha@(irc.pl|debian.org)
 (_|||_)| |(_|    : gg 1802819, pgp 0xB25952C0
     |            : jid alpha.jabberpl.org
-------------- next part --------------

EXTFS README

Created by: Adam Byrtek <alpha at debian.org>
Last update: 12 Dec 2002

Starting with version 3.1, the Midnight Commander comes
with a powerful feature called 'extfs' (EXTernal virtual
FileSystem), which allows to integrate numerous features
and file types into MC in an easy way.

Extfs filesystems could be divided into two categories:

1. Stand-alone extfs (like apt, audio and more). Those
filesystems are NOT connected to any existing file, just
provide some additional functionality. You can invoke them
just by typing 'cd #fsname' where fsname is extfs short
name (see 'Extfs reference below').

  For example:
  to list contents of CD-Audio in /dev/cdrom (default) type

  $cd #audio

2. 'Archive' extfs (like rpm, patchfs and more) show
contents of some file. It can consist of 'real' files
compressed in an archive (urar, rpm) but it could be also
a 'virual' file, like one message in mailbox (mailfs) or a
diff hunk (patchfs). To access such extfs '#fsname' has to
be preceded by archive name (note that archive name could
be in fact inside anoter vfs).

  For example:
  to list contents of rpm package type

  $cd example-0.0.1-1.i686.rpm#rpm
  
Note that you could bind file type/extension to specified
extfs by editing mc.ext, ~/.mcbindings or using
'Command->Edit extension file'. Here is an example entry
for Debian package:

  regex/\.deb$
          Open=%cd %p#deb

In fact you could treat extfs as any other directory. For
example you can add it to hotlist, or open with 'cd' as
said before. There is one mail limitation: you cannot
invoke shell command when you are inside extfs.

In addition to contents listing extfs can support up to
five additional methods (see 'Extfs reference' below):

  mkdir - create new directory
  rmdir - remove directory
  rm - remove file (eg. remove from archive)
  copyout - copy or view file (eg. extract from archive)
  copyin - copy file inside the extfs (eg. add to archive)
 
Note: If you are looking for an information how to create
your own extfs script to use with mc see vfat/extfs/README
in mc source distribution. You can also browse existing
extfs scripts in vfat/extfs/



EXTFS REFERENCE

-----------------------------------------------------------
'a' - access 'A:' DOS/Windows diskette

SUPPORTED METHODS
[x] mkdir  [x] rmdir  [x] rm  [x] copyout  [x] copyin

USAGE
$cd #a

REQUIREMENTS
perl, mtools package (mmd, mrd, mdel, mdir, mcopy)

DESCRIPTION
This extfs allows you to access files on DOS/Windows
floppy diskette like it was a part of your filesystem.

-----------------------------------------------------------
'apt' - front end to Debian's APT package managment system

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [x] copyin

USAGE
$cd #apt

REQUIREMENTS
perl, apt, dpkg to install packages
(tested only on Debian GNU/Linux)

DESCRIPTION 
This filesystem allows you to browse the list of packages
availiable in your Debian archive. Packages are divided
into sections (subdirectories in filesystem). You can copy
.deb file into this vfs to install the package.
Additionaly this filesystem supports some special files:

 AVAILABLE - list of available packages
 CHECK - list of broken dependencies (root only)
 CONFIG - current apt configuration
 DIST-UPGRADE, UPGRADE - perform upgrade (root only)
 UPDATE - update list of available packages
 apt.conf - your /etc/apt.conf (editable)
 sources.list - your /etc/sources.list (editable)

-----------------------------------------------------------
'audio' - Audio CD ripping and playing

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [ ] copyin

USAGE
$cd #audio OR cd device#audio
device is your CD device (default: /dev/cdrom)

REQUIREMENTS
cdparanoia (awk, cd-discid and wget for CDDB support)

DESCRIPTION 
Thanks to this cd you can rip of play tracks from your
Audio CD without leaving Midnight Commander. Just press
ENTER on track-xx.wav virtual file to listen or copy this
file to desired location. CDDB special file shows disc
information from http://freedb.org CDDB database.

-----------------------------------------------------------
'bpp' - package of Bad Penguin GNU/Linux distribution

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [ ] copyin

USAGE
$cd file.bpp#bpp

REQUIREMENTS
Bad Penguin distribution (package-setup)

-----------------------------------------------------------
'deb' - package of Debian GNU/Linux distribution

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [ ] copyin

USAGE
$cd file.deb#deb

REQUIREMENTS
perl, dpkg

DEFAULT BINDING
*.deb

DESCRIPTION
This filesystem allows you to browse and extract Debian
package contents and some additional data. Special file
INFO shows information about package and INSTALL allows to
install it (root privileges required).

-----------------------------------------------------------
'dpkg' - Debian GNU/Linux installed packages

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [x] copyin

USAGE
$cd #deb

REQUIREMENTS
perl, dpkg with package database
(tested only on Debian GNU/Linux)

DESCRIPTION
Information about packages installed on the system.
Packages are divided into sections (subdirectories). To
install .deb package just copy it to this filesystem. This
vfs provides some special files:

 ARCHITECTURE - dpkg architecture variables
 AUDIT - search for packages that have been installed
 only partially
 CLEAR-AVAIL - erase information about what packages are
 available
 CONFIGURE - configure all non-configured packages
 DIVERSIONS - shows list of diversions
 FORGET-OLD-UNAVAIL - erase information about uninstalled
 unavailable packages
 GET-SELECTIONS - get list of package selections
 LIST - list all packages
 REMOVE - remove all unselected packages
 STATUS - report status of packages

-----------------------------------------------------------
'hp48' - view and copy files to/from a HP48 calculator

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [x] copyin

USAGE
$cd #hp48

REQUIREMENTS
kermit, hp48_*

DESCRIPTION
See vfs/extfs/hp48 comments in MC source distribution.

-----------------------------------------------------------
'lslR' - browsing of lslR listings (found on many FTPs)

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [ ] copyout  [ ] copyin

USAGE
$cd filename#lslR

REQUIREMENTS
awk

DEFAULT BINDING
*.lslR, *.ls-lR

DESCRIPTION
Allows to browse directory structure of lslR listings,
which can be found on many FTP sites. Remember that the
files are in fact empty - it's just a listing!

-----------------------------------------------------------
'mailfs' - mbox-style mailbox files support

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [ ] copyin

USAGE
$cd mailbox#mailfs
mailbox can be gzip/bzip2 compressed

REQUIREMENTS
perl

DESCRIPTION
Shows messages (sorted by date) in a mbox-style mailbox.

-----------------------------------------------------------
'patchfs' - extfs to handle unified and context diffs

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [ ] copyin

USAGE
$cd filename#patchfs
filename can be gzip/bzip2 compressed

REQUIREMENTS
perl

DEFAULT BINDING
*.diff, *.patch

DESCRIPTION
This filesystem ...

-----------------------------------------------------------
'rpm' - RPM package

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [ ] copyin

USAGE
$cd filename#rpm

REQUIREMENTS
rpm

DEFAULT BINDING
*.rpm, *.src.rpm, *.rpm

DESCRIPTION
This filesystem allows you to brows contents of RPM
package file. It provides some special file INSTALL (to
install the package), UPGRADE (to upgrade to new version)
and INFO (with information about this RPM).

-----------------------------------------------------------
'rpms' - RPM database managment

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [ ] copyin

USAGE
$cd #rpms

REQUIREMENTS
perl, rpm, RPM database

DESCRIPTION
This filesystem ...

-----------------------------------------------------------
'trpm' - ...

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [ ] copyin

USAGE
$cd filename#trpm

DEFAULT BINDING
*.trpm

REQUIREMENTS
rpm, RPM database

-----------------------------------------------------------
'ulha, urar, uzip, uzoo, uar, uha' - archivers

SUPPORTED METHODS
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [ ] copyin - uha, uzoo
[ ] mkdir  [ ] rmdir  [ ] rm  [x] copyout  [x] copyin - ulha
[x] mkdir  [x] rmdir  [x] rm  [x] copyout  [x] copyin - urar, uzip

USAGE
$cd archive#xxxx
xxxx is one of: ulha, urar, uzip, uzoo, uar, uha

REQUIREMENTS
ulha: awk, lha
urar: awk, unrar (just decompresion) or rar
uzip: awk, unzip (just decompresion) or zip
uzoo: awk, zoo
uar: awk, ar
uha: awk, ha

DEFAULT BINDING
ulha:  (based on 'file')
urar: *.rar, *.r00, ...
uzip: (based on 'file')
uzoo: *.zoo
uar: *.a, *.sa
uha: *.ha

DESCRIPTION
Those extfs allow you to manipulate compressed archives in
different formats. Don't forget that MC has build-in
support for tar and cpio archives.



More information about the mc-devel mailing list