Сначала я отвечу на основной вопрос:
dpkg -l | grep '^.i'
выведет список всех установленных пакетов. Эту информацию могут предоставить и другие инструменты; например
apt list --installed
В выводе dpkg -l
«не -установлен» действительно означает, что dpkg
известно о существовании пакета, даже если он не установлен в вашей системе. Сам файл пакета может быть доступен в вашей системе, например, в кеше APT в /var/cache/apt/archives
, но dpkg
об этом не знает. С точки зрения dpkg
, как вы говорите, вам нужно скачать файл пакета или получить его каким-то другим способом и установить.
как бы просмотрел твою историю, но...
The booting process was getting stuck on this message: Waiting for device /dev/disk/by-id/scsi-360{...}-part1
существует несколько способов монтирования файловой системы в Linux
монтирование по -id или по -uuid, на мой взгляд, предпочтительнее, потому что это предотвращает кучу проблем, которые я не буду вдаваться в объяснения, но склонен к сбою, когда вы забываете обновить scsi -id, когда что-то изменится. Новый рейд-контроллер будет представлять другой идентификатор scsi -для существующего тома, который является вашей проблемой.
монтирование by-name
является отказоустойчивым, если у вас есть только один диск или один RAID-том. Тогда это всегда будет /dev/sda#
. Поэтому я бы рекомендовал
/etc/fstab
, чтобы он ссылался только на /dev/sda
для монтирования корневого раздела и подкачки. Технически вам не нужно иметь загрузочный раздел или раздел efi в fstab, это не требуется для загрузки. На вашей первой картинке у вас есть sdd1
вместо swap
, что, я полагаю, является опечаткой и должно быть sda
? Потому что sdd
— это другой диск, чем sda
. Технически вам не нужно монтировать своп для загрузки и иметь работающую систему, поэтому вы вполне можете иметь только один /dev/sda# / defaults 0 0
для монтирования корневого раздела, где #
— правильный номер раздела. elilo.conf
в загрузочном разделе , а не в разделе /etc/
. Там вы увидите ссылку на вызов загрузочного раздела по идентификатору scsi -, который будет старым и неправильным.Вы можете просто изменить его на /dev/sda#
при условии, что присутствует только один диск (или том рейда ), где #— правильный номер раздела, обычно равный 1. Та же идея или принцип применимы к grub -. ] вам нужно исправить все старые ссылки на диск scsi -id в grub, а пока вы можете просто изменить его на sda
. Загрузите систему, затем узнайте новый идентификатор scsi -всего и обновите файлы elilo.conf или grub и /etc/fstab
. Попробуйте заменить splash=silent
на splash=verbose
.
Используя live boot cd и свою картинку, вы уже показали правильную /dev/disk/by-id
информацию, так что технически вы могли ввести все это, но мне кажется, что проще набрать просто dev/sda#
, а затем скопировать и вставить.
на твоей последней картинке, где написано root = /dev/disk/by-id/blabla
. Везде там написано по диску -id изменить это на /dev/sda#
. Если у него было part1
, то #= 1, part2
равно #= 2 и так далее. Я не знаю навскидку команды grub в sles 11, чтобы сделать правильное обновление, а не редактировать menu.lst, в котором говорится, не редактируйте меня. Вы можете вручную отредактировать menu.lst в загрузочном разделе, и он будет работать на данный момент, но когда произойдет обновление для нового ядра, он будет ссылаться на любой глобальный шаблон grub (, вероятно, в /etc ), и у вас будет снова эта проблема. извините, я знаю только grub2-mkconfig
и редактирую /etc/default/grub.conf
в RHEL7; вам нужно выяснить процедуру, используемую для grub или grub2 в sles11.