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


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.