e2fsprogs(又称为e2fs programs)是用以维护ext2,ext3和ext4档案系统的工具程序集。由于ext2/3/4是绝大多数Linux发行版默认的文件系统,所以这套工具集也包含在众多Linux发行版内。
e2fsprogs包含以下独立的程式:
e2fsck, ext2/3/4文件系统的fsck程序,用于检查文件系统的完整性。
mke2fs, 用于创建ext2/3/4档案系统。
resize2fs, 调整已建立的ext2/3/4档案系统的大小。
tune2fs, 修改ext2/3/4档案系统的相关参数。
dumpe2fs, 显示ext2/3/4档案系统的相关资讯。
debugfs, 用于调试ext2/3/4文件系统,可以查看与更改文件系统的状态。
e2fsprogs工具集同时也包含函数库libext2fs。
版本:e2fsprogs-1.42
make错误:
e4defrag.c:210:2: warning: #warning Using locally defined sync_file_range interface.
e4defrag.c:214:2: error: #error Your kernel headers dont define __NR_sync_file_range
。。。
按如下形式修改/misc/e4defrag.c:
新增
#ifndef __NR_fallocate
#define __NR_fallocate 324
#endif
注释掉这些行
/#ifndef __NR_sync_file_range
//#ifndef __NR_sync_file_range2
//#error Your kernel headers dont define __NR_sync_file_range
//#endif
//#endif
sync_file_range 函数修改为如下形式
int sync_file_range(int fd, loff_t offset, loff_t length, unsigned int flag)
{
#ifdef __NR_sync_file_range
return syscall(__NR_sync_file_range, fd, offset, length, flag);
//#else
#elif defined(__NR_sync_file_range2)
return syscall(__NR_sync_file_range2, fd, flag, offset, length);
#else
return fsync(fd);
#ifndef SYNC_FILE_RANGE_WAIT_BEFORE
#define SYNC_FILE_RANGE_WAIT_BEFORE 0
#endif
#ifndef SYNC_FILE_RANGE_WRITE
#define SYNC_FILE_RANGE_WRITE 0
#endif
#ifndef SYNC_FILE_RANGE_WAIT_AFTER
#define SYNC_FILE_RANGE_WAIT_AFTER 0
#endif
#endif
}
/configure --enable-elf-shlibs
make
make install
cp -r lib/uuid/ /usr/include/
cp -rf lib/libuuid.so* /usr/lib
阅读(5007) | 评论(0) | 转发(0) |