Можно сделать это как это:
CommentAppend() {
# Comment line and append line below commented line
local comment="$1" # search this line and comment it
local append="$2" # Append this line below commented line
local InputFile="$3"
perl -pi -e "s/\Q${comment}\E/#${comment}\n${append}/g" "$InputFile"
}
Разделители \Q...\E
в Perl регулярные выражения гарантируют, что что-либо между ними интерпретируется как литеральная строка, а не регулярное выражение (см. perldoc perlre
).
Обратите внимание, что замена может быть выполнена за один шаг только, и имя файла должно быть заключено в кавычки (как в "$InputFile"
) избегать разделения слова. Это применяется, используете ли Вы sed
или perl
.
LDD
, чтобы найти *. Итак
Зависимости. qfile
для обнаружения eBuild
. Прочтите раздел «Обоснование» в Использование Awesome Window Manager в CentOS 7 . Независимо от того, является ли дистрибутив бинарным или нет, не имеет значения. Это потому, что одно и то же поведение может иметь место во всех дистрибутивах.
Пункты 4–6 в связанной публикации - это то, что исправляет revdep-rebuld
. Причудливое название для пункта 4 - это обратная зависимость. Единственное определение, которое я смог найти, было в этой записи в Википедии для Dependency Hell . См. Раздел «Конфликтующие и циклические зависимости».
revdep-rebuld
, сокращение от восстановления обратной зависимости, работает путем сканирования ваших каталогов / lib
на предмет .so
объектов, а затем сравнивает версию S hared O привязать к версии статической библиотеки - файлам .a
, если использовался USE-флаг static-libs
. Оба они затем сравниваются с выводом ldd
. Если есть несоответствие, пакет помечается для перестроения, а затем перестраивается.
Все это есть в ответе webKnjaz, за исключением того, что revdep-rebuild
всегда запускается на его шаге 2, то есть всегда предполагает, что все пакеты повреждены, поэтому предполагается, что все библиотеки повреждены до тех пор, пока не будет просканировано.
Вы также должны знать, что revdep-rebuild
интегрирован в новые версии sys-apps / portage
в наборе @ saved-rebuild
.