리눅스 시스템을 제거하는 방법?


24

Linux 배포판을 구축하고 바이너리 등을 제거했습니다. 시스템은 Chrome 키오스크이므로 GCC 또는 개발 도구를 사용하지 않으므로 시스템을 제거 할 수 있으면 크게 도움이됩니다. ...

궁금합니다. 런타임 중에 어떤 파일 / 라이브러리가 사용되는지를 보면서 사용하지 않는 시스템 파일 (바이너리 등)을 모두 삭제할 수있는 방법이 있습니까? 다른 방법이 선호 될 수 있지만 이와 같은 방법을 수행 할 수있는 방법이 있습니까?


3
실제로 당신은 이번에 올바른 장소에 있습니다 :)
phunehehe

2
자, 왜 별도의 우분투 기반 스택 교환 사이트가 있습니까? AFAICT, Ubuntu Linux / Unix로 간주 해야 하기 때문에이 사이트와 병합해야한다고 생각 하지만 확실하지는 않습니다.) 그렇지 않은 경우 GentooOverflow 및 FedoraOverflow를 준비하십시오!
Blender

3
@Blender :이 병합은 고려 및 거부되었습니다. 두 사이트의 메타에서 역사를 찾아보십시오.
Gilles 'SO- 악의를 멈춰라'

3
우분투 사이트는 그놈 프로그램과 사용자 인터페이스에 관한 것입니다. 여기서 당신의 대답은 거의 확실하게 터미널 명령이 될 것입니다.
Falmarri

2
내 이해는 AskUbuntu가 Unix와 Linux에 있고 Unix와 Linux가 SuperUser에 있다는 것입니다. 우분투 관련 질문이라면 AU로갑니다. 그렇지 않으면 n x-ish이면 여기로갑니다. 그렇지 않으면 SU 또는 ServerFault로 이동합니다.
04

답변:


11

시동 중에 실행 한 프로그램을 표시하는 데 사용할 수있는 Bootchart 와 같은 프로그램이 있습니다. 세션 후에 호출 된 내용을 확인하기 위해 부팅 후에 계속 진행할 수 있습니다.

더 나은 솔루션은 리마스터링 도구를 사용하는 것입니다.

Fedora , Ubuntu 및 기타를 위한 리마스터링 도구가 있습니다. 이를 사용하여 배포를 사용자 정의 할 수 있습니다.

Tiny Core Linux 를보고 싶을 것이다 . 리마스터 스크립트작성 하는 사람 도 있습니다.


집에 도착하면 분명히 부트 차트를 시도 할 것입니다. 내가해야 할 것이다, 그래서 나는 그냥 완료 컴파일 어젯밤 시스템으로,하지만, 거짓말을 정말 그것이 앞으로 몇 일에서 실행 얻을. TinyX (내가 실제로 필요한 XOrg 모듈을 알 수 없기 때문에 내가 찾던 것)를 찾았지만 웹 사이트가 다운되었습니다 ... 아, 그래도 대단히 감사합니다!
Blender

부트 차트입니다! 나는 그것을 컴파일하고 실행했으며 매우 장황하고 유용한 결과를 얻었습니다. 나는 시스템을 제거하지 않을거야 단지 내가 소스 기반의 패키지 관리자 (젠투?)를 구현하는거야으로, 그러나, 그러나 나는 확실히이 사용됩니다. 감사!
Blender

6

무엇보다도 필요하지 않은 모든 것을 제거하려고 합니다. 파일 시스템이 atime완전히 활성화 되었는지 확인하십시오 . 에서 설정할 수 있습니다 /etc/fstab. 현재 기본값은 relatime이지만 그냥 사용하고 싶습니다 atime. 파일에 액세스 할 때마다 타임 스탬프가 업데이트됩니다. 그런 다음 며칠 동안 사용법을 수행하여 한 번 업데이트 된 적이없는 파일을 확인하십시오. 시스템에서 읽기 전용 모드 일 때 읽을 파일이 몇 개 있다고 생각하기 때문에 VM에서이 모든 작업을 매우 신중하게 수행 할 것입니다. 참고 : noatime프로덕션 준비가되면 설정하십시오. 그렇지 않으면 읽을 때마다 쓰기를 수행합니다. 이것은 비효율적입니다.

솔직히 말하지만, Damn Small Linux를 보았습니다 . 정말로 그보다 작아야합니까? 배포판을 기반으로 빌드하고 창 관리자와 몇 가지 추가 프로그램을 제거하십시오. 쉘을 수리하거나 다시로드해야하는 경우 모든 명령 행 도구를 그대로 두십시오.


감사! 실제로 사용 가능한 LFS 시스템을 실제로 사용해 본 적이 없기 때문에 직접 시도하고 있지만 이전에는 DLS와 함께 연주했습니다. 실제로 SuSEStudio로 만들지 않은 ChromeOS 복제본 (chromium.org에서 만든 것)은 600MB보다 약간 작습니다. 하지만 OpenBox, Chrome 및 맞춤형 Thunar (및 다른 제품) 만 설치하고 있습니다. 감사!
Blender

5

데비안을 사용한다고 가정하거나 파생 상품이라고 가정

며칠 동안 (무거운) 사용 후을 실행하십시오 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액세스 된 파일을 의미합니다 .


1

파일 액세스 시간이 활성화 된 상태에서 잠시 동안 시스템을 적극적으로 사용하십시오. 액세스 시간이 수정되지 않은 파일을 확인하십시오. 이들은 삭제 대상이지만 (예 : 보유하지 않은 하드웨어 용 하드웨어 드라이버이거나 루트 파티션이 여전히 남아있을 때 부팅 프로세스 초기에 필요하기 때문에 보관할 이유가 없는지 확인하십시오.) 마운트 된 읽기 전용).

큰 응용 프로그램은 거의 없으므로 단일 실행 파일에서 어떤 라이브러리를 사용하는지 확인하십시오. 정적으로 연결하는 것을 고려하십시오.

ldd /bin/* /usr/bin/* |sed -n 's/^.* => \(.*\) (.*)$/\1/p' |sort |uniq -c

0

정확히 어디에서 시작합니까? 기존 배포판을 제거하고 있습니까? 배포판으로 시작해야하는 이유가 있습니까?

임베디드 시스템을 처음부터 새로 작성하고 필요한 것만로드하는 것이 좋습니다.


LFS 설치 + Xorg, Python 및 Chrome을 구축 중입니다. 멋진 것은 없습니다.
Blender

GCC, Python 등을 사용하여 빌드했지만 이제는 내 목적으로는 사용되지 않습니다.
Blender
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.