Budowałem dystrybucję Linuksa i usunąłem pliki binarne itp. System nie będzie korzystał z GCC ani narzędzi programistycznych, ponieważ będzie to kiosk Chrome, więc byłoby bardzo pomocne, gdybym mógł usunąć system ...
Zastanawiałem się, czy istnieje sposób, aby usunąć wszystkie nieużywane pliki systemowe (takie jak pliki binarne itp.), Obserwując, jakie pliki / biblioteki są używane w czasie wykonywania? Może preferowana jest inna metoda, ale czy istnieje sposób na osiągnięcie czegoś takiego?
Odpowiedzi:
Istnieją programy takie jak Bootchart , których można użyć do pokazania, jakie programy uruchomiłeś podczas uruchamiania - prawdopodobnie możesz kontynuować działanie po uruchomieniu, aby zobaczyć, co zostało wywołane podczas sesji.
Lepszym rozwiązaniem może być użycie narzędzi do remasteringu.
Istnieją narzędzia do remasteringu Fedory , Ubuntu i innych; możesz użyć ich do dostosowania dystrybucji.
Możesz spojrzeć na Tiny Core Linux . Jest też facet, który pracuje nad tym scenariuszem .
źródło
Między innymi chcesz usunąć wszystko , czego nie potrzebujesz. Upewnij się, że system plików jest w
atime
pełni włączony; możesz to ustawić/etc/fstab
. Obecne ustawienie domyślne to,relatime
ale chcesz po prostu użyćatime
. Za każdym razem, gdy plik jest otwierany, znacznik czasu będzie aktualizowany. Następnie zrób użytek przez kilka dni, aby zobaczyć, które pliki nigdy nie były aktualizowane. Zrobiłbym to wszystko na maszynie wirtualnej i bardzo ostrożnie, ponieważ wyobrażam sobie, że istnieje kilka plików, które są odczytywane, gdy system jest w trybie tylko do odczytu. Uwaga: ustaw go,noatime
gdy będziesz gotowy do produkcji, w przeciwnym razie będziesz pisać po każdym czytaniu; to jest nieefektywne.Chociaż szczerze mówiąc, spojrzałbym na Damn Small Linux ; czy naprawdę musisz być mniejszy? Zbuduj swój w oparciu o jego dystrybucję i po prostu usuń menedżera okien i kilka dodatkowych programów. Zostaw wszystkie narzędzia wiersza poleceń, w ten sposób, jeśli będziesz musiał naprawić lub ponownie załadować, masz powłokę.
źródło
zakładając, że używasz Debiana lub jego pochodnych
Po kilku dniach (intensywnego) użytkowania uruchom
popularity-contest
. Wyświetli najstarsze nieużywane pakiety na dole. Odinstaluj je, ale uważnie obserwuj, czy istnieją rzeczy zależne od nich.Oto fragment wyniku:
Kolumny oznaczają atime , ctime , nazwa-pakietu i dostęp do pliku .
źródło
Aktywnie używaj swojego systemu przez chwilę z włączonymi czasami dostępu do plików. Zobacz, które pliki nigdy nie mają zmodyfikowanego czasu dostępu. Są to kandydaci do usunięcia (ale upewnij się, że nie ma powodu, aby je zachować, np. Ponieważ są to sterowniki sprzętowe dla sprzętu, którego nie masz, lub są potrzebne na początku procesu rozruchu, gdy partycja root jest nadal montowane tylko do odczytu).
Ponieważ będziesz mieć kilka dużych aplikacji, sprawdź, które biblioteki są używane przez pojedynczy plik wykonywalny. Rozważ połączenie ich statycznie.
źródło
Od czego dokładnie zaczynasz? Czy rozbijasz istniejącą dystrybucję? Czy jest powód, dla którego musisz zacząć od jakiejś dystrybucji?
Możesz rozważyć zbudowanie systemu osadzonego od zera i załadować tylko to, czego potrzebujesz.
źródło