Isso é de https://help.ubuntu.com/community/LiveCDCustomizationFromScratch .
Aqui eu devo fazer dentro do ambiente chroot,
dpkg-divert --local --rename --add /sbin/initctl
Está dizendo ao sistema operacional que "a partir de agora, quando você instalar pacotes, qualquer que seja o pacote (--local), se esse pacote tentar instalar /sbin/initctl, instale-o (--add) em /sbin/initctl. distrib (--rename)" ? Tentei entender o manual, mas não consegui entender exatamente.
É que se um arquivo é desviado para outro arquivo por este comando dpkg-divert (digamos, xfile para xfile.distrib) por um pacote, então quando o pacote é usado, xfile.distrib é usado em vez do xfile original?
Eu tentei cat /var/lib/dpkg/diversions
e me deu essa lista.
/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
...
O arquivo contém a lista de arquivos e não os nomes dos pacotes e não consigo entendê-lo. Por exemplo, o que significa a primeira linha /usr/share/dic/words
?
Por favor, alguém me confirme se meu entendimento está correto e o que a lista significa.
--rename
diz para mover qualquer arquivo existente imediatamente--add
ao lado de "dizer ao sistema operacional"Não. Quem configurou o desvio deve fornecer algo no lugar disso
xfile
(neste caso, é você). Nessa página, eles fazem:O
diversions
arquivo consiste em grupos de três linhas:Então, para as três linhas a seguir:
dpkg
irá desviar instalações de/usr/share/dict/words
pacotes que não sejamdictionaries-common
(digamos,wamerican
, por exemplo) para/usr/share/dict/words.pre-dictionaries-common
. Se você instalarwamerican
o , poderá ver isso em ação:Esse guia está um pouco desatualizado:
initctl
é o Upstart, que não é mais usado. Você não pode nem instalá-lo mais. O gerenciamento de serviços é feito usando o systemd, e agora você usasystemctl
.