Linux 배포판을 구축하고 바이너리 등을 제거했습니다. 시스템은 Chrome 키오스크이므로 GCC 또는 개발 도구를 사용하지 않으므로 시스템을 제거 할 수 있으면 크게 도움이됩니다. ...
궁금합니다. 런타임 중에 어떤 파일 / 라이브러리가 사용되는지를 보면서 사용하지 않는 시스템 파일 (바이너리 등)을 모두 삭제할 수있는 방법이 있습니까? 다른 방법이 선호 될 수 있지만 이와 같은 방법을 수행 할 수있는 방법이 있습니까?
Linux 배포판을 구축하고 바이너리 등을 제거했습니다. 시스템은 Chrome 키오스크이므로 GCC 또는 개발 도구를 사용하지 않으므로 시스템을 제거 할 수 있으면 크게 도움이됩니다. ...
궁금합니다. 런타임 중에 어떤 파일 / 라이브러리가 사용되는지를 보면서 사용하지 않는 시스템 파일 (바이너리 등)을 모두 삭제할 수있는 방법이 있습니까? 다른 방법이 선호 될 수 있지만 이와 같은 방법을 수행 할 수있는 방법이 있습니까?
답변:
시동 중에 실행 한 프로그램을 표시하는 데 사용할 수있는 Bootchart 와 같은 프로그램이 있습니다. 세션 후에 호출 된 내용을 확인하기 위해 부팅 후에 계속 진행할 수 있습니다.
더 나은 솔루션은 리마스터링 도구를 사용하는 것입니다.
Fedora , Ubuntu 및 기타를 위한 리마스터링 도구가 있습니다. 이를 사용하여 배포를 사용자 정의 할 수 있습니다.
Tiny Core Linux 를보고 싶을 것이다 . 리마스터 스크립트 를 작성 하는 사람 도 있습니다.
무엇보다도 필요하지 않은 모든 것을 제거하려고 합니다. 파일 시스템이 atime
완전히 활성화 되었는지 확인하십시오 . 에서 설정할 수 있습니다 /etc/fstab
. 현재 기본값은 relatime
이지만 그냥 사용하고 싶습니다 atime
. 파일에 액세스 할 때마다 타임 스탬프가 업데이트됩니다. 그런 다음 며칠 동안 사용법을 수행하여 한 번 업데이트 된 적이없는 파일을 확인하십시오. 시스템에서 읽기 전용 모드 일 때 읽을 파일이 몇 개 있다고 생각하기 때문에 VM에서이 모든 작업을 매우 신중하게 수행 할 것입니다. 참고 : noatime
프로덕션 준비가되면 설정하십시오. 그렇지 않으면 읽을 때마다 쓰기를 수행합니다. 이것은 비효율적입니다.
솔직히 말하지만, Damn Small Linux를 보았습니다 . 정말로 그보다 작아야합니까? 배포판을 기반으로 빌드하고 창 관리자와 몇 가지 추가 프로그램을 제거하십시오. 쉘을 수리하거나 다시로드해야하는 경우 모든 명령 행 도구를 그대로 두십시오.
데비안을 사용한다고 가정하거나 파생 상품이라고 가정
며칠 동안 (무거운) 사용 후을 실행하십시오 popularity-contest
. 가장 오래된 미사용 패키지가 맨 아래에 표시됩니다. 설치를 제거하되 설치에 따라 설치되어 있는지 여부를주의 깊게 살펴보십시오.
다음은 출력 스 니펫입니다.
1294222606 1292570417 vlc /usr/lib/vlc/plugins/gui/libqt4_plugin.so
1294222606 1292570109 xulrunner-1.9.2 /usr/share/xulrunner-1.9.2/chrome/classic.jar
1294222606 1292507839 ttf-dejavu-extra /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
1294222606 1292507459 x11-utils /usr/bin/xprop
열은 atime , ctime , package-name 및 액세스 된 파일을 의미합니다 .
파일 액세스 시간이 활성화 된 상태에서 잠시 동안 시스템을 적극적으로 사용하십시오. 액세스 시간이 수정되지 않은 파일을 확인하십시오. 이들은 삭제 대상이지만 (예 : 보유하지 않은 하드웨어 용 하드웨어 드라이버이거나 루트 파티션이 여전히 남아있을 때 부팅 프로세스 초기에 필요하기 때문에 보관할 이유가 없는지 확인하십시오.) 마운트 된 읽기 전용).
큰 응용 프로그램은 거의 없으므로 단일 실행 파일에서 어떤 라이브러리를 사용하는지 확인하십시오. 정적으로 연결하는 것을 고려하십시오.
ldd /bin/* /usr/bin/* |sed -n 's/^.* => \(.*\) (.*)$/\1/p' |sort |uniq -c