Можно ли определить, какие пакеты, разве являющиеся, не используются вообще при запущении определенной программы

Я хочу создать пользовательский дистрибутив сервера Ubuntu, который автоматически устанавливает и запускает определенную программу только на целевой машине. Я нашел очень хорошее руководство здесь:

Как создать специализированный сервер человечности ISO

Я хочу удалить все чрезмерное увеличение размера, которое идет с нормальной установкой, есть ли способ, которым я могу определить, какие пакеты не используются вообще так, чтобы я мог удалить их из своего дистрибутива?

На ноте стороны, если Вы действительно следуете упомянутому выше руководству и Вы запускаете Ubuntu 14.04, используете следующую ссылку для исправления ошибки с, запускают (у меня нет достаточной репутации для добавления его к комментариям, поэтому если Вы делаете, сделайте),

дайте импульс человечности 14.04 исправления ошибки

2
задан 13 April 2017 в 15:23

1 ответ

Можно проверить, который к файлам получила доступ программа с помощью strace :

-e trace=file
   Trace all system calls which take a file name as  an
   argument.   You can think of this as an abbreviation
   for  -e trace=open,stat,chmod,unlink,...   which  is
   useful   to   seeing   what  files  the  process  is
   referencing.  Furthermore,  using  the  abbreviation
   will  ensure  that  you don't accidentally forget to
   include a call like  lstat  in  the  list.   Betchya
   woulda forgot that one.

Так, что-то как:

$ strace -fe trace=file -o log /bin/bash -c ''
$ awk -F\" '!a[$2]++&&/\//{print $2}' log | xargs dpkg -S 2>/dev/null | awk -F: '!a[$1]++{print $1}'
bash
libtinfo5
libc6

быть предупрежденным, хотя: этот вывод не особенно полезен так или иначе:

  • Это не говорит Вам, какие пакеты не используются командой, потому что использование могло быть некоторым путем кроме доступа к файлу (или возможно это получило доступ к файлу, который был создан пакетом, но не зарегистрирован в dpkg база данных).
  • Это не говорит Вам, которых пакеты могли иметь не используемый пакетом. Например, если я выполнил интерактивную сессию удара, количество пакетов намного выше, главным образом потому что сценарии завершения, предоставленные теми, также считаются. Список даже включает GRUB! И GRUB ясно не , нуждался ударом.

то, Что необходимо сделать, является запуском с ubuntu-minimal и установка только те необходимые вещи, чтобы программа работала свыше того (Вы будете знать, которые необходимы, когда программа умирает от таинственных ошибок).

1
ответ дан 2 December 2019 в 05:11

Другие вопросы по тегам:

Похожие вопросы: