значение "dpkg-divert --local --rename --add /sbin/initctl"

Это из https://help.ubuntu.com/community/LiveCDCustomizationFromScratch.
Здесь я должен сделать внутри среды chroot,

dpkg-divert --local --rename --add /sbin/initctl

Это говорит ОС, что "отныне, когда вы устанавливаете пакеты, каким бы ни был пакет (--local), если этот пакет пытается установить /sbin/initctl, установите его (--add) в /sbin/initctl.distrib (--rename)"? Я пытался понять руководство, но не смог понять точно.

Это что, если файл перенаправляется в другой файл этой командой dpkg-divert (скажем, xfile в xfile.distrib) с помощью пакета, то когда пакет используется, xfile.distrib используется вместо оригинального xfile?
. Я попробовал cat /var/lib/dpkg/diversions и это дает мне такой список.

/usr/share/dict/words
/usr/share/dict/words.pre-dictionaries-common
dictionaries-common
/usr/share/man/man1/sh.1.gz
/usr/share/man/man1/sh.distrib.1.gz
dash
/usr/share/man/man1/dh_gstscancodecs.1.gz
...

Файл содержит список файлов, а не имена пакетов, и я не могу его понять. Например, что означает первая строка /usr/share/dic/words?
. Пожалуйста, кто-нибудь подтвердите, правильно ли я понимаю и что означает этот список.

0
задан 23 June 2021 в 10:56

1 ответ

Сообщает ли ОС, что "с этого момента, когда вы устанавливаете пакеты, независимо от того, какой пакет (- local), если этот пакет пытается установить / sbin / initctl, установите его (- add) в /sbin/initctl.distrib (--rename) "

  • - rename указывает ему немедленно переместить любой существующий файл
  • Я бы поставил - добавьте рядом с" сообщением ОС "

Это то, что если файл перенаправляется в другой файл этой командой dpkg-divert (скажем, из xfile в xfile.distrib) пакетом, то при использовании пакета xfile.distrib используется вместо исходного xfile?

Нет. Кто бы ни организовал переадресацию, он должен предоставить что-нибудь вместо этого xfile (в данном случае это вы). На этой странице они делают:

 ln -s / bin / true / sbin / initctl 
 

Файл diversions состоит из трехстрочных групп:

  1. Файл будет перенаправлено
  2. Перенаправленное местоположение
  3. Пакет, который установил перенаправление

Итак, для следующих трех строк:

/usr/share/dict/words
/usr/share/dict/words.pre-dictionaries-common
dictionaries-common

dpkg будет перенаправлять установки / usr / share / dict / слова из пакетов, отличных от общих словарей (скажем, wamerican , например) до /usr/share/dict/words.pre-hibitedaries-common .Если вы установите wamerican , вы увидите это в действии:

# dpkg -S /usr/share/dict/words
diversion by dictionaries-common from: /usr/share/dict/words
diversion by dictionaries-common to: /usr/share/dict/words.pre-dictionaries-common
wamerican: /usr/share/dict/words

Это руководство немного устарело: initctl - Upstart, который больше не используется. Вы даже не можете его больше установить. Управление службами осуществляется с помощью systemd, а теперь вместо него используется systemctl .

0
ответ дан 28 July 2021 в 11:25

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

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