|
|
5. Partitions And
Filesystems
- Q: Does Linux
Support Virtualized File Systems Like RAID?
- Q: Can Linux
Use the Same Hard Drive as MS-DOS? OS/2? 386BSD? Win95?
- Q: How
Do I Access Files on a MS-DOS Partition or Floppy?
- Q: Does Linux
Support Compressed Ext2 File Systems?
- Q: Can Linux Use Stacked/DBLSPC/Etc.
DOS Drives?
- Q: Can Linux Access OS/2
HPFS Partitions?
- Q: Can Linux
Access Amiga File Systems?
- Q: Can Linux Access
BSD, SysV, Etc. UFS?
- Q: Can
Linux Access MacIntosh File Systems?
- Q: How Do I Create
a File System on a Floppy?
- Q: Does Linux Support
File System Encryption?
- Q: How Do
I Resize a Partition Non-Destructively?
- Q: Where Is the
Journalling File System on the Net?
- Q: Why Isn't My Virtual
Memory Swap Area Working?
- Q: How Do I Add Temporary
Swap Space?
Q: Does
Linux Support Virtualized File Systems Like RAID?
A: The most recent Linux kernels support software RAID,
and they will work with RAID disk controllers.
An automounter for NFS partitions is part of most Linux distributions.
In addition, several virtual file system projects exist. One
of them, the Linux Logical Volume Manager, is located
at http://linux.msede.com/lvm/.
Q: Can
Linux Use the Same Hard Drive as MS-DOS? OS/2? 386BSD? Win95?
A: Yes. Linux supports many, many filesystems, including
the standard MS-DOS partitioning scheme, so it can share your
disk with other operating systems.
Linux supports all known versions of the Microsoft FAT and
VFAT file systems, including those used by Windows 95, Windows
98, Windows NT, Windows 2000 and Windows ME through loadable
kernel modules. In a correctly configured system, they should
load automatically when the partitions are mounted.
Note, however, that many other operating systems may not be
exactly compatible. DOS's FDISK.EXE and FORMAT.EXE,
for example, can overwrite data in a Linux partition, because
they sometimes incorrectly use partition data from the partition's
boot sector rather than the partition table.
In order to prevent programs from doing this, it is a good
idea to zero out under Linux the start of a partition you created,
before you use MS-DOS or whatever to format it. Type:
$ dd
if=/dev/zero of=/dev/hdXY bs=512 count=1
|
where hdXY is the relevant partition; e.g., /dev/hda1
for the first partition of the first (IDE) disk.
Linux can read and write the files on your DOS and OS/2 FAT
partitions and floppies using either the DOS file system type
built into the kernel or mtools.
There is reportedly a GPL'd OS/2 device driver that will read
and write Linux ext2 partitions.
For information about FAT32 partition support, see http://bmrc.berkeley.edu/people/chaffee/fat32.html.
See What
Software does Linux Support? for details and status of
the emulators for DOS, MS Windows, and System V programs.
See also, "Can Linux access Amiga file systems?",
"Can Linux access Macintosh file systems?", "Can
Linux access BSD, SysV, etc., UFS?", and "Can Linux
access SMB file systems?"
There are said to be NTFS drivers under development, which
should support compression as a standard feature.
Q:
How Do I Access Files on a MS-DOS Partition or Floppy?
A: Use the DOS file system, type, for example:
$ mkdir /dos $
mount -t msdos -o conv=text,umask=022,uid=100,gid=100 /dev/hda3 /dos
|
If it's a floppy, don't forget to umount it before
ejecting it!
You can use the conv=text/binary/auto, umask=nnn,
uid=nnn, and gid=nnn options to control the
automatic line-ending conversion, permissions and ownerships
of the files in the DOS file system as they appear under Linux.
If you mount your DOS file system by putting it in your /etc/fstab,
you can record the options (comma-separated) there, instead of
defaults.
Alternatively, you can use mtools, available in both binary
and source form on the FTP sites. See Where
Are the Linux FTP Archives?.
A kernel patch (known as the fd-patches) is available which
allows floppies with nonstandard numbers of tracks and/or sectors
to be used; this patch is included in the 1.1 alpha testing kernel
series.
Q: Does
Linux Support Compressed Ext2 File Systems?
A: The ext2compr project provides a kernel
patch Information about them is located at http://e2ompr.memalpha.cx/e2compr/.
There is also a Web site for the e2compr patches. The code
is still experimental and consists of patches for the 2.0 and
2.1 kernels. For more information about the project, including
the latest patches, and the address of the mailing list, look
up the URL at http://debs.fuller.edu/e2compr/.
[Roderich Schupp, Peter Moulder
A: zlibc is a program that allows existing applications
to read compressed (GNU gzip'ed) files as if they were not compressed.
Look at ftp://metalab.unc.edu/pub/Linux/libs/.
The author is Alain Knaff.
A: There is also a compressing block device driver,
"DouBle," by Jean-Marc Verbavatz, which can provide
on-the-fly disk compression in the kernel. The source-only distribution
is located at ftp://metalab.unc.edu/pub/Linux/patches/diskdrives/.
This driver compresses inodes and directory information as well
as files, so any corruption of the file system is likely to be
serious.
A: There is also a package called tcx (Transparently
Compressed Executables), which allows you to keep infrequently
used executables compressed and only uncompress them temporarily
when in use. It is located at ftp://metalab.unc.edu/pub/Linux/utils/compress/.
Q: Can Linux Use
Stacked/DBLSPC/Etc. DOS Drives?
A: Until recently, not very easily. You can access
DOS 6.X volumes from the DOS emulator ("What software does
Linux support? "), but it's harder than accessing a normal
DOS volume via the DOS kernel option, a module, or mtools.
There is a recently added package, dmsdos, that reads and
writes compressed file systems like DoubleSpace/DriveSpace in
MS-DOS 6.x and Win95, as well as Stacker versions 3 and 4. It
is a loadable kernel module. Look at ftp://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/.
Q: Can Linux Access
OS/2 HPFS Partitions?
A: Yes, but Linux access to HPFS partitions is read-only.
HPFS file system access is available as an option when compiling
the kernel or as a module. See the Documentation/filesystems/hpfs.txt
file in the kernel source distribution. See How
To Upgrade/Recompile a Kernel. Then you can mount HPFS
partition, using, for example:
$ mkdir /hpfs $ mount -t hpfs
/dev/hda5 /hpfs
|
Q: Can
Linux Access Amiga File Systems?
A: The Linux kernel has support for the Amiga Fast
File System (AFFS) version 1.3 and later, both as a compile-time
option and as a module. The file Documentation/filesystems/affs.txt
in the Linux kernel source distribution has more information.
See How
To Upgrade/Recompile a Kernel.
Linux supports AFFS hard-drive partitions only. Floppy access
is not supported due to incompatibilities between Amiga floppy
controllers and PC and workstation controllers. The AFFS driver
can also mount disk partitions used by the Un*x Amiga Emulator,
by Bernd Schmidt.
Q: Can Linux
Access BSD, SysV, Etc. UFS?
A: Recent kernels can mount (read only) the UFS file
system used by System V; Coherent; Xenix; BSD; and derivatives
like SunOS, FreeBSD, NetBSD, and NeXTStep. UFS support is available
as a kernel compile-time option and a module.
See How
To Upgrade/Recompile a Kernel.
Q:
Can Linux Access MacIntosh File Systems?
A: There is a set of user-level programs that read
and write the older Macintosh Hierarchical File System (HFS).
It is available at metalab.unc.edu/pub/Linux/utils/disk-management/.
Access to the newer, HFS+ file systems is still under development.
Q: How
Do I Create a File System on a Floppy?
A: If you are running recent Gnome or KDE desktops,
you have a GUI tool that makes formatting floppies easy.
A: To format a 3.5-inch, high density floppy at the
command prompt:
$ fdformat /dev/fd0H1440
$ mkfs -t ext2 -m 0 /dev/fd0H1440 1440
|
For a 5.25 inch floppy, use /dev/fd0h1200 and 1200
as appropriate. For the B: drive use /dev/fd1
instead of /dev/fd0.
The -m 0 option tells mkfs.ext2
not to reserve any space on the disk for the superuserusually
the last 10% is reserved for root.
The first command performs a low-level format. The second
creates an empty file system. You can mount the floppy like a
hard disk partition and simply cp and mv files,
etc.
Device naming conventions generally are the same as for other
unices. They can be found in Matt Welsh's Installation and
Getting Started guide. Refer to Where
Is the Documentation?. A more detailed and technical
description is Linux Allocated Devices by H. Peter Anvin,
hpa@zytor.com,
which is included in LaTeX and ASCII form in the kernel source
distribution (probably in /usr/src/kernel/Documentation/),
as devices.tex and devices.txt.
Q: Does
Linux Support File System Encryption?
Q: How
Do I Resize a Partition Non-Destructively?
A: Use the FIPS.EXE program, included with most
Linux distributions,under MS-DOS.
A: GNU parted, a partition editor, is stable
enough for non-guru, mere-mortal use with relative confidence.
Source code for the latest version is at: ftp://ftp.gnu.org/pub/gnu/parted/. There's
also a boot disk image for resizing root partitions and for running
parted on non-Linux machines. The disk image may be easier
for beginners. Building from source could require some extra
configuration.
Parted also has tutorial-style, plain-text documentation for
Linux and FAT (MS-DOS) file systems.
A: Also, some commercial distributions come with their
own partitioning software, like Partition
Magic.
Q: Where
Is the Journalling File System on the Net?
A: Linux actually supports several journalling file
systems. ext3 is now included in current 2.4.x kernels.
A: The journalling file system named Reiserfs
has just been released from testing. It is said to make Linux
even faster than Linux with the Ext2
file system installed, particularly when dealing with many small
files.
Complete information is available at http://devlinux.org/namesys/.
A: JFS is still under development.
Q: Why Isn't My
Virtual Memory Swap Area Working?
A: When you boot (or enable swapping manually) you
should see
Adding Swap: NNNNk swap-space
|
If you don't see any messages at all you are probably missing
(the command to enable swapping) in your /etc/rc.local
or /etc/rc.d/* (the system startup scripts), or have
forgotten to make the right entry in /etc/fstab:
for example.
If you see:
Unable to find swap-space signature
|
you have forgotten to run mkswap. See the manual page
for details; it works much like mkfs.
Running the command free, in addition to showing free
memory, should display:
total used free Swap: 10188 2960 7228
|
If typing cat /proc/swaps reveals only file or partition
names, but no swap space information, then the swap file or partition
needs re-initialization.
Use fdisk (as root) to determine which partition on
a hard drive has been designated as the swap partition. The partition
still needs to be initialized with mkswap before enabling
it with swapon.
[Andy Jefferson, Steve Withers]
Q: How Do I
Add Temporary Swap Space?
A: In addition to a swap partition, Linux can also
use a swap file. Some programs, like g++,
can use huge amounts of virtual memory, requiring the temporary
creation of extra space. To install an extra 64 MB of swap space,
for example, use the following shell commands:
# dd if=/dev/zero of=/swap bs=1024 count=65535
# mkswap /swap
# swapon /swap
|
The count= argument to dd determines how big
the swap file will be. In this example the swap file's name is
/swap, but the name and location are, generally, arbitrary,
depending only on the file system's available space and your
having write permissions in the directory.
When you don't need the swap space any more, remove it with
the following statements:
# swapoff /swap
# rm /swap
|
Take a look also at the Installation HOWTO and Installation
& Getting Started for detailed instructions.
If that still doesn't provide enough swap space, refer to
How To Have More
Than 128Mb of Swap.
|