Whamcloud - gitweb
libext2fs: install hashmap.h since it is needed by libext2fs.h
[tools/e2fsprogs.git] / ext2ed / README
1 ext2ed - The extended-2 filesystem editor, version e2fsprogs
2
3
4 This version of ext2ed has been modified and updated by Theodore Ts'o
5 for inclusion with the e2fsprogs package.  It now builds with modern
6 ncurses and I've fixed various small bugs, particular in the redrawing
7 and resizing functions.
8
9 It is currently not built by default -- the top-level e2fsprogs
10 Makefile doesn't recurse into this directory.  This is because ext2ed
11 has a number of VERY SERIOUS shortcomings:
12
13 1)  It doesn't work on filesystems bigger than 2GB
14
15 2)  It assumes that all's the world an Intel, and assumes that
16         everything is in Intel (little-endian) byte order.
17
18 Fixing either of these problems would be non-trivial, and so I at this
19 point DO NOT RECOMMEND that distributions try to include this program,
20 even as modified and updated in e2fsprogs.  This especially goes for
21 Debian, where the Debian maintainer for e2fsprogs has a history of
22 making authorized changes to e2fsprogs to include programs that aren't
23 supported, and then starts bugging me with bug reports.  YES I KNOW.
24 THIS PROGRAM HAS HORRIBLE SHORTCOMINGS.  IT IS INCLUDED HERE ONLY
25 BECAUSE IT'S A CONVENIENT WAY FOR (FOR E2FSPROGS DEVELOPERS ON INTEL
26 MACHINES) TO GENERATE TEST CASES BY SELECTIVELY CORRUPTING
27 FILESYSTEMS.  I WILL NOT SUPPORT THIS PROGRAM FOR USE BY GENERAL USERS
28 SO PLEASE DO NOT INCLUDE IT IN A DISTRIBUTION.
29
30 I have currently disabled the use of GNU Readline in this program,
31 because readline and ncurses really don't play well together at all.
32 Readline assumes that it can write arbitrary text to the screen
33 (especially when it tries to print out a completion list), which just
34 doesn't work with ncurses.  Fixing this so they would work together
35 would require wholesale changes to readline.   
36
37                                 Theodore Ts'o
38                                 tytso@MIT.EDU
39                                 May 12, 2001
40
41 ----------------------------------------------------------------------------
42
43 ext2ed - The extended-2 filesystem editor, version 0.2
44 ------------------------------------------------------
45
46 This is version 0.2 of ext2ed - The extended-2 filesystem editor.
47
48 Modifications on Apr 5 2001
49 This is minor bug fixes to ext2ed, as of April 2001.
50 It supports modern ext2 version that has file type in directory structure
51 and fixes the misunderstanding between ncurses and
52 readline.
53
54 I first applied patches from Red Hat except the one for readline that 
55 rewrote a readline behavior.
56
57 Globals diffs between version 0.1 and 0.2 is stored in file :
58         diff-ext2ed.1.2
59
60 Christian Bac <Christian.Bac@nt-evry.fr>
61
62 ----------------------------------------------------------------------------
63
64 Documentation
65 -------------
66
67 ext2ed's documentation consists of three documents:
68
69 1.      The user's guide.
70 2.      Technical overview of the ext2 filesystem.
71 3.      The EXT2ED design and implementation document.
72
73 Those documents are available in the doc directory, in linuxdoc-sgml and
74 postscript formats.
75
76 The documentation is also available online at:
77
78 http://tochnapc2.technion.ac.il
79
80 under the ext2ed section.
81
82 Installation
83 ------------
84
85 ext2ed requires the kernel sources and the readline and ncurses packages.
86 Please edit the makefile if you are using an "old" version of ncurses (See the
87 details below) or if gcc can't find the various header files and libraries.
88
89 To install, simply issue a 'make' command to compile and a 'make install'
90 command to install. I have also included an already compiled linux a.out
91 binary.
92
93 ext2ed and ncurses
94 ------------------
95
96 ext2ed uses the ncurses library for terminal output. It is very important
97 that ncurses will be properly installed on your system:
98
99 1.      Old versions of ncurses (around 1.8.5) need the OLD_NCURSES compile
100         time option in EXT2ED.
101
102         At least from 1.9.2c, this flag should not be used. I would recommend
103         upgrading the ncurses library to the newer versions.
104
105 2.      ncurses uses its own terminfo database rather then the termcap file.
106         It is important that the terminfo database will be found by ncurses.
107         If this is not the case, you will see on startup some lines which
108         refer to /etc/termcap. This will mean that there is a problem with
109         the terminfo database.
110
111 3.      Newer versions of ncurses (and the 1.3 series of the kernel) describe
112         the linux console in the entry 'linux' and not 'console', as it was
113         before. If you run ext2ed in the linux console, you should either
114         set your TERM environment variable to 'linux' or link
115         l/linux to c/console in the terminfo database.
116
117 4.      The precompiled binary was linked with ncurses 1.9.4 and will search
118         for the terminfo database on /usr/local/lib/terminfo. If you are
119         using it, and your 1.9.4 compatible terminfo database is not on the
120         directory above, use the TERMINFO environment variable to specify
121         an alternate location.
122
123 Running ext2ed
124 --------------
125
126 For those of you who don't like reading lengthy articles, here are a few
127 basic guidelines:
128
129 1.      Don't use ext2ed to change a mounted filesystem !
130
131         Using ext2ed in read-only mode on a mounted filesystem can be allowed
132         by using the configuration file option 'AllowMountedRead on'. However,
133         note that the displayed data will be unreliable.
134
135 2.      ext2ed currently can't handle filesystems bigger than 2 GB. I am
136         sorry for the inconvenience. This will hopefully be fixed in future
137         releases.
138
139 3.      Before running ext2ed, edit the configuration file
140         /var/lib/ext2ed/ext2ed.conf to suit your needs. The various
141         configuration options are documented there.
142
143 4.      Use the 'setdevice' command to open an ext2 filesystem.
144         e.g. 'setdevice /dev/hda1'.
145
146 5.      If the filesystem is an ext2 filesystem and ext2ed fails to
147         autodetect this, use the 'ForceExt2 on' configuration file option.
148
149 6.      The filesystem will always be opened in read-only mode. Feel free to
150         experiment, but take care with the 'enablewrite' command.
151
152 -----------------------------------------------------------------------------
153
154 Feel free to send me feedback with anything regarding to ext2ed.
155
156 Enjoy,
157
158 Gadi Oxman <tgud@tochnapc2.technion.ac.il>
159 Haifa, August 23 1995
160