Linuxtopia의 커널 구성 책아래 제안 사항:
시스템의 e2fsprogs 버전을 확인하려면 다음 명령을 실행하세요.
$ tune2fs
그런데 이게 좀 유행인 것 같아요.
e2fsprogs의 버전을 확인하는 표준적인 방법이 있습니까, 아니면 이것이 이미 최적입니까?
답변1
tune2fs
버전을 인쇄하고 할 일이 없을 때 종료되는 몇 안 되는 e2fsprogs 프로그램 중 하나이며(다른 프로그램은 dumpe2fs
and 입니다 resize2fs
) 오랫동안(아마 처음부터) e2fsprogs의 일부였습니다. 따라서 설치된 e2fsprogs 버전을 확인하는 신뢰할 수 있는 방법입니다.
내가 아는 한 해당 문서에는 설치된 e2fsprogs 버전을 확인하는 방법에 대한 "공식적인" 설명이 없습니다.
답변2
이는 일반적인 접근 방식입니다. 한 가지 잠재적인 문제는 바이너리가 이미 있지만 /sbin
모든 사용자가 바이너리를 실행할 수는 없다는 것입니다.
나는 (일부)를 사용할 수 있는 몇 가지 프로젝트를 확인했습니다. e2fsprogs
예를 들어 gparted
기껏해야 그들은 실제로 autoconf의 존재에만 관심이 있고 autoconf 또는 해당 버전을 libuuid
감지하지 못합니다 .e2fsprogs
라이브러리 libext2fs
는 함수를 내보내 ext2fs_get_library_version()
므로 이 작업을 강력하게 수행합니다.
/* gcc -lext2fs -o gete2ver gete2ver.c */
#include <stdio.h>
#include <ext2fs/ext2fs.h>
int main(int argc, char *argv[])
{
const char *e2ver, *e2date;
int ver;
ver=ext2fs_get_library_version(&e2ver,&e2date);
printf("version=%04i %s %s\n",ver,e2ver,e2date);
return 0;
}
다른 옵션:
e2fsprogs
사용할 수 있는 라이브러리 세트가 함께 제공됩니다pkg-config
.pkg-config --modversion ext2fs
pkg-config --modversion e2p
(그러나 일부 배포판에는 기본적으로 설치된 "개발자" 자료가 충분하지 않을 수 있습니다.)
번역된 메시지 카탈로그메타데이터가 포함되어 있습니다.빈 "" msgid에서:
LANG=fr_FR gettext e2fsprogs ""
(단, 특정 언어가 설치된다는 보장은 없습니다.)
답변3
이건 좀 펑키해 보이네요. 를 사용하는 것을 기억하고 싶지 않다면 설치한 패키지를 tune2fs
확인할 수 있습니다 .e2fsprogs
소스에서 설치했다면 아마도 소스 코드를 쉽게 검사할 수 있을 것입니다. (뉴스/변경 로그 파일의 zip 이름 또는 버전 번호)
배포판에서 설치하는 경우 이를 수행하는 데 유용한 몇 가지 명령이 있습니다. 이는 모두 배포 설정 방법에 따라 다릅니다.
# Debian / Ubuntu
dpkg -l e2fsprogs
# alternatively
sudo which mkfs.ext4
dpkg -S /sbin/mkfs.ext4
# Fedora
rpm -q e2fsprogs
# alternatively
which mkfs.ext4
rpm -q --whatprovides /usr/sbin/mkfs.ext4
# ...