Я создаю пакет debian. Это придется изменить /etc/inittab
переключить tty1
из /sbin/getty
к /sbin/rungetty
.
Конечно, я могу изменить строку с помощью sed
в постинст. Это лучший способ сделать это или есть какой-нибудь дебановый способ сделать это?
заранее спасибо
способ Debianish справиться с этим задокументирован в Руководство по политике Debian в раздел 10.7.4 «Совместное использование файлов конфигурации». Сложность состоит в том, что политика Debian требует, чтобы ни один пакет не изменял файл конфигурации напрямую из другого пакета. Вместо этого пакет-владелец должен предоставлять помощников, которые другие пакеты могут использовать для изменения конфигурации.
В большинстве систем /etc/inittab
будет предоставляться пакетом sysvinit, поэтому в соответствии с политикой Debian sysvinit
package необходимо будет изменить, чтобы дать вашему пакету механизм изменения inittab. sysvinit - не единственный пакет, который может предоставлять /etc/inittab
, Он также может исходить от выскочки, поэтому выскочка тоже должна измениться. у других может не быть /etc/inittab
. Если ваше программное обеспечение зависит от одной конкретной реализации или будет работать неправильно без каких-либо /etc/inittab
в настоящее время вам нужно, чтобы ваш пакет явно зависел от пакета, предоставляющего /etc/inittab
.
Это маловероятно. Также следует учитывать, что изменения, внесенные в файлы конфигурации системным администратором, никогда не должны перезаписываться пакетом, поэтому, если вы внесете какое-либо изменение, администратор отменит или изменит то, что вы изменили, и вы не должны изменять его обратно. его, если ваш пакет перенастроен или обновлен (возможно, без запроса разрешения администратора).
Помимо этих правил о том, когда вы можете изменять файлы, в политике или соглашении нет ничего, что диктует, какие инструменты использовать для этого. sed
является одним из многих широко используемых инструментов.