Як зняти систему Linux?


24

Я будував дистрибутив Linux і знімав двійкові файли тощо. Система не використовуватиме GCC чи інструменти розробки, оскільки це буде кіоск Chrome, тому це дуже допоможе, якщо я можу зняти систему ...

Мені було цікаво, чи можна видалити всі невикористані системні файли (наприклад, бінарні файли тощо), переглядаючи, які файли / бібліотеки використовуються під час виконання? Можливо, кращий інший метод, але чи є спосіб здійснити щось подібне?


3
Дійсно, Ви цього разу знаходитесь у правильному місці :)
phunehehe

2
Тепер, я можу запитати, чому існує окремий сайт Stack Exchange на базі Ubuntu? Я думаю, що вони повинні об'єднатися з цим сайтом, тому що AFAICT, Ubuntu слід вважати Linux / Unix, але я не надто впевнений;) Якщо ні, готуйтеся до GentooOverflow та FedoraOverflow!
Блендер

3
@Blender: Це об'єднання було розглянуто та відхилено. Погляньте на мета-сайти для двох сайтів.
Жил "ТАК - перестань бути злим"

3
Я знайшов, що сайт ubuntu - це багато іншого про програми gnome та користувальницький інтерфейс. Тут ваша відповідь майже напевно буде термінальною командою.
Фальмарі

2
Я розумію, що AskUbuntu призначений для Unix та Linux, як Unix, а Linux - для SuperUser: якщо це специфічне для ubuntu питання, воно переходить до AU; якщо це інакше n x-ish, він іде сюди; інакше він переходить до SU або до ServerFault.
інтуїтивно

Відповіді:


11

Є такі програми, як Bootchart, які можна використовувати, щоб показати, які програми ви запускали під час запуску - ви, ймовірно, можете продовжувати це після завантаження, щоб побачити, на що викликали під час сеансу.

Кращим рішенням може бути використання інструментів ремастерингу.

Існують інструменти ремастеризації для Fedora , Ubuntu та інших; ви можете використовувати їх для налаштування розподілу.

Ви можете поглянути на Tiny Core Linux . Для цього також працює хлопець, який працює над сценарієм ремастера .


Коли я повернусь додому, обов’язково спробую Bootchart. Я неправду збрехав, оскільки система щойно закінчила збирання минулої ночі, тому мені доведеться реально запустити її в наступні кілька днів. Я знайшов TinyX (саме те, що я шукав, тому що я не можу зрозуміти, які модулі XOrg мені справді потрібні), але веб-сайт був відсутній… О добре, але дуже дякую!
Блендер

Завантажте це! Я склав його, провів, і це дало мені надзвичайно багатослівні та корисні результати. Я не збираюся роздягатися система тільки все ж, як я збираюся реалізувати джерело на основі менеджера пакетів (Gentoo?), Але я точно буду використовувати це. Спасибі!
Блендер

6

Крім усього іншого, ви хочете видалити все, що вам не потрібно. Переконайтесь, що файлова система atimeповністю включена; ви можете встановити це /etc/fstab. Поточний стандарт за замовчуванням - це relatimeви хочете використовувати просто atime. Кожен раз, коли доступ до файлу, часова марка оновлюватиметься. Потім виконайте кілька днів використання, щоб побачити, які файли ніколи не оновлювали свій atime. Я б робив усе це у вітчизняній машині та дуже обережно, тому що я думаю, що є кілька файлів, які читаються, коли система перебуває в режимі лише для читання. Примітка: встановіть його, як noatimeтільки ви будете готові до виробництва, інакше ви будете писати щоразу, коли читаєте; це неефективно.

Хоча, чесно кажучи, я би поглянув на Чорт Малий Linux ; вам справді потрібно бути меншим за це? Створіть своє на основі їх дистрибутива та просто видаліть вікно-менеджер та кілька додаткових програм. Залиште всі інструменти командного рядка таким чином, якщо вам коли-небудь знадобиться відремонтувати або перезавантажити у вас оболонку.


Спасибі! Я намагаюся зробити це самостійно, так як ніколи насправді не працював повністю використовуваною системою LFS, але раніше я грав з DLS. Насправді я намагаюся створити клон ChromeOS, який не створено за допомогою SuSEStudio (той, який є від Chromeium.org), і трохи менше 600 МБ; але я встановлюю лише OpenBox, Chrome і створений на замовлення Thunar (і, звичайно, деякі інші смаколики). Спасибі!
Блендер

5

припускаючи, що ви використовуєте Debian або його похідні

Через кілька днів (важкого) використання запустіть 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 , ім'я пакета та файл, доступ до якого можна отримати .


1

Активно користуйтеся системою деякий час із увімкненими часом доступу до файлів. Подивіться, які файли ніколи не змінюють час доступу. Це кандидати на видалення (але переконайтесь, що немає причин зберігати їх, наприклад, тому що вони драйвери апаратного забезпечення для обладнання, якого у вас немає, або вони потрібні на початку процесу завантаження, коли кореневий розділ все ще є монтується лише для читання).

Оскільки у вас буде кілька великих додатків, перевірте, які бібліотеки використовуються одним виконуваним файлом. Поміркуйте, як пов’язати їх статично.

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

0

З чого саме ви починаєте? Ви знімаєте існуючий дистрибутив? Чи є причина, що ви повинні почати з будь-якого дистрибутива?

Ви можете розглянути можливість побудови вбудованої системи з нуля та завантажувати лише те, що вам відомо.


Я будую встановлення LFS + Xorg, Python та Google Chrome. Нічого фантазійного.
Блендер

Він використовував GCC, Python тощо для побудови, але вони тепер застаріли для моїх цілей.
Блендер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.