최근에 저는 Linux 시스템에 설치된 프로그램이 왜 읽기 전용 진입점으로 설치하지 않고 시스템 경로 내의 아카이브만 추출하는지 궁금했습니다.
내가 이해한 바에 따르면, 안드로이드 apk 파일은 애플리케이션이 열릴 때 라이브로 설치되는 아카이브인데 데스크톱이나 서버 운영 체제와 같은 다른 Linux 기반 시스템에는 왜 유사한 것이 없는 걸까요?
최근에 저는 Linux 커널 프로그래밍 과정을 수강했고 주어진 아카이브를 사용하여 자동으로 마운트 지점을 생성하는 모듈을 구현하는 것이 멋진 아이디어가 될 것이라고 생각했습니다. 그러나 누군가가 이전에 이 아이디어를 생각했는지, 그리고 왜 이 아이디어가 폐기되었습니다. 개인적으로 나는 유용한 것을 찾지 못했습니다.
이 주제에 대한 정보나 팁을 갖고 있는 사람이 있나요?
답변1
fuse-zip
ZIP 파일용 FUSE 모듈로 구현되었습니다.archivemount
tarball(또는 에서 지원하는 모든 것 libarchive
)에 존재합니다. 둘 다 쓰기를 구현하기도 합니다.
내가 아는 한, 커널 자체에는 유사한 코드 조각이 없습니다.예를 들어압축을 풀기 위해 커널에 구현됩니다.가능한그다지 복잡하지는 않지만 아카이브 파일 자체에 대한 액세스를 유지하고 경합을 피하는 측면에서 처리해야 할 몇 가지 문제가 있습니다. FUSE가 이 문제를 해결해 드립니다.