Раздвиньте Linux для фиксированной аппаратной системы [дубликат]

0

На этот вопрос уже есть ответ здесь:

Извиняюсь, если это не подходящее место для публикации!

Я проектирую минимальную систему Linux для тестирования на промышленном ПК. Конечная цель - безопасность. Аппаратное обеспечение ПК известно и не изменится, поэтому мне придется немного урезать свою начальную точку, CentOS 6. В конце я буду наращивать, а не урезать.

(Cue заграждение вопросов)

Что было бы лучшим способом начать процесс сокращения? Будет lddлучше для поиска и удаления неиспользуемых библиотек? А как насчет драйверов?

Что является хорошей отправной точкой для наращивания? Ядро должно быть совместимо с чипом TPM, и будет использоваться SE Linux. Будет ли рекомендован Damn Small Linux? Должен ли я написать свой собственный init?

Спасибо!

SamTheSammich
источник
1
Linux с нуля, вероятно , ваш лучший выбор , я подозреваю
подмастерье - мастер

Ответы:

1

Что было бы лучшим способом начать процесс сокращения?

Соберите начальный компьютер как можно меньше, используя только те пакеты, которые вам нужны.

Затем проверьте все имеющиеся у вас модули и удалите по одному, если вы не уверены. Проверьте http://www.cyberciti.biz/faq/add-remove-list-linux-kernel-modules/

После сборки сначала сделайте резервную копию, а затем проверьте файл /root/anaconda-ks.cfg.

Под пакетами вы увидите, что все установлено. Вы можете прочитать больше об этом здесь: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/sn-automating-installation.html

Для ядра используйте то, что рекомендуется для вашего приложения. Новейшее не всегда лучшее для вашей среды.

Вы можете использовать этот скрипт anaconda для установки на другие машины.

% пакетов

@база

@ клиент-Упр-инструменты

@core

@debugging

@ Базовый рабочий стол

@ Настольная отладка

@ Настольная платформа

@ Каталог-клиент

@fonts

@ Общий рабочий стол

@ графический-администратор-инструменты

@ ввода-методы

@интернет браузер

@ Java-платформа

@ Наследие-х

@ Сетевая файловая система клиент

@ Perl-среда

@ Печати клиента

@ remote-настольные-клиенты

@ Серверная платформа

@ Сервер политика

@ x11

@my_group_id

чел

питон-dmidecode

Oddjob

wodim

SGPIO

genisoimage

Исспользуя

Когда вы все закончите, включите selinux, ознакомьтесь с https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Working_with_Sabling__uxESelling_wD

Если вам нужно развернуть это на регулярной основе

Возможно, вы захотите создать загрузочный сервер PXE, чтобы установить установки по сети. Проверьте https://www.dalemacartney.com/2012/09/20/creating-a-pxe-deployment-server-with-red-hat-enterprise-linux-6/

штифтик
источник
Если безопасность имеет первостепенное значение, как только вы узнаете, какие модули нужны вашему оборудованию (такие вещи, как lspciи lsmodиз запущенной системы, здесь вам может помочь), вы можете захотеть взглянуть на компиляцию собственного ядра с отключенной загрузкой модулей и только с теми модулями, которые вам нужны. Это препятствует загрузке злоумышленниками пользовательских модулей ядра, которые могут предоставить им полный доступ к вашей системе.
LawrenceC