Мне удалось запустить его, скомпилировав мой контроллер SATA (libata) в ядро, которое изначально компилировалось как модуль (и вот почему он будет нормально работать с начальным RAM-диском).
Не идеально, но я только что решил аналогичную проблему с rpm -e --justdb
, чтобы записать pkg как удаленный без удаления файлов. У меня есть старый rpm
v4.4.2.3, где man rpm
перечисляет --justdb
только в разделе установки, а не в разделе удаления, но он работает и для удаления.
Обзор:
rpm -e --justdb PKG
Подготовить
pkg_keep="asterisk-core-1.6.2.24-1_centos5"
pkg_del="asterisk16-core-1.6.2.20-2_centos5"
# Record files claimed by each package
rpm -ql "${pkg_del}" > "files.${pkg_del}"
rpm -ql "${pkg_keep}" > "files.${pkg_keep}"
Составьте список файлов, затребованных исходящим пакетом, но не запрошенных оставшимся пакетом. ПРЕДУПРЕЖДЕНИЕ:--line-regexp
важно, т.е. /file
не отфильтровывает /file2
.
grep -v -F --line-regexp -f "files.${pkg_keep}" "files.${pkg_del}" > files.cleanup
Удалить исходящий PKG из базы данных RPM, не удаляя его файлы. Из man rpm
неясно, подразумевается ли --noscripts
с --justdb
. Также может понадобиться --nodeps
.
rpm -e --justdb --noscripts "${pkg_del}"
Просмотрите ВНИМАТЕЛЬНО содержание files.cleanup
и удалите перечисленные там файлы.
Хотя вы можете автоматически удалить файлы, перечисленные в files.cleanup
, IMO, давая команду сделать это здесь, может повредить читателю копирования/вставки.
Кроме того, использование чего-то вроде etckeeper
может помочь, если все, что вас беспокоит, находится под /etc/
.