Чтобы посмотреть на это в общем виде и в соответствии с POSIX, при этом удаляемый столбец может быть указан во время выполнения кода sed
, а также новое содержимое заменяемого столбца, вы можете сделай это:
n=2; # the column number to be modified with a new value
repl="new-text"; # the text used to replace the contents of the n-th col
# to make the replacement sed friendly, otw, if it happened to have chars
# which have a meaning to sed when using on the rhs of s/// command, we will
# have an error on our hands.
repl_esc=$(printf '%s\n' "$repl" | sed -e 's|[\&/]|\\&|g;$!s/$/\\/')
sed -e '
s/.*/:&:/
'"s/:/\\n/$n;s//\\
/$n;
s/\\n.*\\n/:${repl_esc}:/"'
s/^://
s/:$//
' input-file.txt
Программа вызывает это в своем postinst
скрипте:
update-ca-certificates -f 2>/dev/null
Флаг -f
:
-f, --fresh Fresh updates. Remove symlinks in /etc/ssl/certs directory.
Таким образом, результат соответствует вызову update-ca-certificates
. Обратите внимание, что были и другие триггеры, так что обновление сертификатов могло ожидать там, от другой несвязанной установки/обновления, и было обработано только сейчас.
Вы можете проверить содержимое файла deb
с помощью:
ar -x packages.deb
Сценарии установки (и )находятся внутриcontrol.tar.xz
(по крайней мере для версии 2.0 формата двоичных пакетов Debian ).
При этом нельзя доверять приложению с закрытым исходным кодом. Если бы он делал что-то сомнительное, вы, вероятно, не увидели бы этого в выводе (, изменение сертификатов CA было бы определенно сомнительным, но, похоже, это не так ).