E2fsprogs

Last updated
e2fsprogs
Developer(s) Theodore Ts'o
Stable release
1.47.0 [1]   OOjs UI icon edit-ltr-progressive.svg / 6 February 2023;10 months ago (6 February 2023)
Repository
Written inC
Operating system Linux, Unix-like
Type File system utilities
License GPL
Website e2fsprogs.sourceforge.net

e2fsprogs (sometimes called the e2fs programs) is a set of utilities for maintaining the ext2, ext3 and ext4 file systems. Since those file systems are often the default for Linux distributions, it is commonly considered to be essential software.

Contents

List of utilities

Included with e2fsprogs, ordered by ASCIIbetical order, are:

badblocks
search a device for bad blocks
blkid
locate/print block device attributes
chattr
change file attributes on a Linux file system
debugfs
used to manually view or modify internal structures of the file system
dumpe2fs
which prints superblock and block group information.
e2freefrag
report free space fragmentation information
e2fsck
an fsck program that checks for and corrects inconsistencies
e2image
save critical ext2/ext3/ext4 filesystem metadata to a file
e2label
change the label on an ext2/ext3/ext4 filesystem
e2scrub
check a filesystem "online" (i.e. without having to unmount it) in the case where the filesystem is on an LVM LV
e2undo
replay an undo log for an ext2/ext3/ext4 filesystem
e4defrag
online defragmenter for ext4 filesystem
filefrag
report on file fragmentation
findfs
find a filesystem by label or UUID
findsuper
quick hacked up program to find ext2 superblocks
logsave
save the output of a command in a logfile
lsattr
list file attributes on a Linux second extended file system
mke2fs
used for creating ext2, ext3 and ext4 file systems
resize2fs
which can expand and shrink ext2, ext3 and ext4 file systems. On-line support was added in 2006. [2]
tune2fs
used to modify file system parameters

Many of these utilities are based on the libext2fs library.

Usage

Despite what its name might suggest, e2fsprogs works not only with ext2, but also with ext3 and ext4. Although ext3's journaling capability can reduce the need to use e2fsck, it is sometimes still necessary to help protect against kernel bugs or bad hardware.

fsck time/Inode Count(ext3 vs. ext4) E2fsck-uninit.svg
fsck time/Inode Count(ext3 vs. ext4)

With ext4 the e2fsck runtime should come down considerably, as can be seen from the graph.

As the userspace companion for the ext2, ext3, and ext4 drivers in the Linux kernel, the e2fsprogs are most commonly used with Linux. However, they have been ported to other systems, such as FreeBSD and Darwin.

See also

Related Research Articles

XFS is a high-performance 64-bit journaling file system created by Silicon Graphics, Inc (SGI) in 1993. It was the default file system in SGI's IRIX operating system starting with its version 5.3. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions; Red Hat Enterprise Linux uses it as its default file system.

ReiserFS is a general-purpose, journaling file system initially designed and implemented by a team at Namesys led by Hans Reiser and licensed under GPLv2. Introduced in version 2.4.1 of the Linux kernel, it was the first journaling file system to be included in the standard kernel. ReiserFS was the default file system in Novell's SUSE Linux Enterprise until Novell decided to move to ext3 for future releases on October 12, 2006.

ext2, or second extended file system, is a file system for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the extended file system (ext). Having been designed according to the same principles as the Berkeley Fast File System from BSD, it was the first commercial-grade filesystem for Linux.

ext3, or third extended filesystem, is a journaled file system that is commonly used by the Linux kernel. It used to be the default file system for many popular Linux distributions. Stephen Tweedie first revealed that he was working on extending ext2 in Journaling the Linux ext2fs Filesystem in a 1998 paper, and later in a February 1999 kernel mailing list posting. The filesystem was merged with the mainline Linux kernel in November 2001 from 2.4.15 onward. Its main advantage over ext2 is journaling, which improves reliability and eliminates the need to check the file system after an unclean shutdown. Its successor is ext4.

Journaled File System (JFS) is a 64-bit journaling file system created by IBM. There are versions for AIX, OS/2, eComStation, ArcaOS and Linux operating systems. The latter is available as free software under the terms of the GNU General Public License (GPL). HP-UX has another, different filesystem named JFS that is actually an OEM version of Veritas Software's VxFS.

fsck System tool for checking the consistency of a file system

The system utility fsck is a tool for checking the consistency of a file system in Unix and Unix-like operating systems, such as Linux, macOS, and FreeBSD. The equivalent programs on MS-DOS and Microsoft Windows are CHKDSK, SFC, and SCANDISK.

The Unix file system (UFS) is a family of file systems supported by many Unix and Unix-like operating systems. It is a distant descendant of the original filesystem used by Version 7 Unix.

<span class="mw-page-title-main">Defragmentation</span> Rearrangement of sectors on a hard disk into contiguous units

In the maintenance of file systems, defragmentation is a process that reduces the degree of fragmentation. It does this by physically organizing the contents of the mass storage device used to store files into the smallest number of contiguous regions. It also attempts to create larger regions of free space using compaction to impede the return of fragmentation. Some defragmentation utilities try to keep smaller files within a single directory together, as they are often accessed in sequence.

<span class="mw-page-title-main">File system</span> Format or program for storing files and directories

In computing, a file system or filesystem is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one large body of data with no way to tell where one piece of data stopped and the next began, or where any piece of data was located when it was time to retrieve it. By separating the data into pieces and giving each piece a name, the data are easily isolated and identified. Taking its name from the way a paper-based data management system is named, each group of data is called a "file". The structure and logic rules used to manage the groups of data and their names is called a "file system."

<span class="mw-page-title-main">Theodore Ts'o</span> American computer scientist, free software developer

Theodore Yue Tak Ts'o is an American software engineer mainly known for his contributions to the Linux kernel, in particular his contributions to file systems. He is the secondary developer and maintainer of e2fsprogs, the userspace utilities for the ext2, ext3, and ext4 filesystems, and is a maintainer for the ext4 file system.

<span class="mw-page-title-main">PhotoRec</span> Open source data recovery software

PhotoRec is a free and open-source utility software for data recovery with text-based user interface using data carving techniques, designed to recover lost files from various digital camera memory, hard disk and CD-ROM. It can recover the files with more than 480 file extensions . It is also possible to add custom file signature to detect less known files.

The following tables compare general and technical information for a number of file systems.

ext4 is a journaling file system for Linux, developed as the successor to ext3.

chattr is the command in Linux that allows a user to set certain attributes of a file. lsattr is the command that displays the attributes of a file.

dm-crypt is a transparent block device encryption subsystem in Linux kernel versions 2.6 and later and in DragonFly BSD. It is part of the device mapper (dm) infrastructure, and uses cryptographic routines from the kernel's Crypto API. Unlike its predecessor cryptoloop, dm-crypt was designed to support advanced modes of operation, such as XTS, LRW and ESSIV, in order to avoid watermarking attacks. In addition to that, dm-crypt addresses some reliability problems of cryptoloop.

Btrfs is a computer storage format that combines a file system based on the copy-on-write (COW) principle with a logical volume manager, developed together. It was founded by Chris Mason in 2007 for use in Linux, and since November 2013, the file system's on-disk format has been declared stable in the Linux kernel.

In computer operating systems, mkfs is a command used to format a block storage device with a specific file system. The command is part of Unix and Unix-like operating systems. In Unix, a block storage device must be formatted with a file system before it can be mounted and accessed through the operating system's filesystem hierarchy.

<span class="mw-page-title-main">Partclone</span> Partition clone and restore tool

Partclone is a partition clone and restore tool. It provides utilities to back up and restore partitions and is designed for higher compatibility of the file system library. It is developed by the NCHC Free Software Labs in Taiwan. It is the default backup application in Clonezilla, FOG from version 1.00 and Redo Backup and Recovery which is simply a front end to partclone. It supports many file systems and has good performance, as it skips portions of the file system marked as free space.

Ext2Fsd is a free Installable File System driver written in C for the Microsoft Windows operating system family. It facilitates read and write access to the ext2, ext3 and ext4 file systems.

<span class="mw-page-title-main">Partition-Saving</span> Disk imaging utility

Partition-Saving is a disk imaging utility for Linux, Windows and DOS environments that can save disk partitions in one of the several supported disk image formats.

References

  1. "Update release notes, etc., for the 1.47.0 release". 6 February 2023. Retrieved 7 February 2023.
  2. "Add support for on-line resizing to resize2fs · tytso/E2fsprogs@bf69235". GitHub .