Сломанный apt-get и сломанный grub

Сломанный apt-get и сломанный grub

Итак, некоторое время назад я дважды загрузил свой компьютер с Windows 10 и Linux Mint 18:Sarah. Windows 10 создала файл hiberfil.sysпо умолчанию (для сохранения снимков системы или что-то в этом роде?), когда я использовал функцию перезагрузки Windows. Проблема, которую это создало, заключалась в том, что мой компьютер не распознал grub, который управляет моими системными разделами, и немедленно загрузился в Windows.

Я решил эту проблему с помощью "Boot-Repair", так что теперь я могу получить доступ к обоим системным разделам. Но потом ЭТО сломалось, apt-getтак что теперь я не могу установить НИКАКОЕ программное обеспечение sudo apt-get install ___или выполнитьsudo apt-get upgrade

Сломан мой grub, или, точнее, система ожидает другую версию grub, известную как grub2-common, но вместо этого у нее установлена ​​версия grub 2.02~beta2-36ubuntu3.1.

Итак, теперь я покажу вам вывод, когда я запускаю несколько команд:

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 grub-pc : Depends: grub2-common (= 2.02~beta2-36ubuntu3.2) but 2.02~beta2-36ubuntu3.1 is installed
 grub2-common : Depends: grub-common (= 2.02~beta2-36ubuntu3.1) but 2.02~beta2-36ubuntu3.2 is installed
E: Unmet dependencies. Try using -f.

Итак, я попробую эту рекомендуемую команду:

$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  grub2-common
The following packages will be upgraded:
  grub2-common
1 upgraded, 0 newly installed, 0 to remove and 244 not upgraded.
3 not fully installed or removed.
Need to get 0 B/511 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] yes
(Reading database ... 288732 files and directories currently installed.)
Preparing to unpack .../grub2-common_2.02~beta2-36ubuntu3.2_amd64.deb ...
Unpacking grub2-common (2.02~beta2-36ubuntu3.2) over (2.02~beta2-36ubuntu3.1) ...
dpkg: error processing archive /var/cache/apt/archives/grub2-common_2.02~beta2-36ubuntu3.2_amd64.deb (--unpack):
 trying to overwrite '/usr/sbin/grub-install', which is also in package lupin-support 0.57
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/grub2-common_2.02~beta2-36ubuntu3.2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

А что, если я попытаюсь установить программное обеспечение? Я пытаюсь установить антивирусное программное обеспечение.

sudo apt-get install clamav
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 clamav : Depends: clamav-freshclam (>= 0.99.2+dfsg) but it is not going to be installed or
                   clamav-data
          Depends: libclamav7 (>= 0.99~rc1) but it is not going to be installed
 grub-pc : Depends: grub2-common (= 2.02~beta2-36ubuntu3.2) but 2.02~beta2-36ubuntu3.1 is to be installed
 grub2-common : Depends: grub-common (= 2.02~beta2-36ubuntu3.1) but 2.02~beta2-36ubuntu3.2 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Опять та же проблема с grub.

Наконец, еще один комментарий, который я хотел бы сделать: я не могу использовать его sudo apt-getдля установки чего-либо... в том числе и для обновления репозиториев grub!

Возможно, вам интересно, что такое состояние способностей?

sudo aptitude install clamav
The following NEW packages will be installed:
  clamav clamav-base{a} clamav-freshclam{a} libclamav7{a} libllvm3.6v5{ab} 
The following partially installed packages will be configured:
  grub-pc{b} python-pyaudio python-simplejson 
0 packages upgraded, 5 newly installed, 0 to remove and 245 not upgraded.
Need to get 9,109 kB of archives. After unpacking 36.8 MB will be used.
The following packages have unmet dependencies:
 grub2-common : Depends: grub-common (= 2.02~beta2-36ubuntu3.1) but 2.02~beta2-36ubuntu3.2 is installed.
 grub-pc : Depends: grub2-common (= 2.02~beta2-36ubuntu3.2) but 2.02~beta2-36ubuntu3.1 is installed and it is kept back.
 libllvm3.6v5 : Conflicts: libllvm3.6 but 1:3.6-2ubuntu1~trusty1 is installed.
                Conflicts: libllvm3.6:i386 but 1:3.6-2ubuntu1~trusty1 is installed.
The following actions will resolve these dependencies:

     Remove the following packages:
1)     grub-gfxpayload-lists       
2)     grub-pc                     
3)     grub2-common                
4)     libllvm3.6                  
5)     libllvm3.6:i386             



Accept this solution? [Y/n/q/?] Y
The following NEW packages will be installed:
  clamav clamav-base{a} clamav-freshclam{a} libclamav7{a} libllvm3.6v5{a} 
The following packages will be REMOVED:
  grub-gfxpayload-lists{a} grub-pc{a} grub2-common{a} libllvm3.6{a} libllvm3.6:i386{a} 
The following partially installed packages will be configured:
  python-pyaudio python-simplejson 
0 packages upgraded, 5 newly installed, 5 to remove and 244 not upgraded.
Need to get 9,109 kB of archives. After unpacking 29.9 MB will be freed.
Do you want to continue? [Y/n/?] Y
[ ERR] Writing extended state information
E: Failed to execute process to save dpkg selections, dpkg or trying to execute it exited with status/errno: 2
E: failed to save selections to dpkg database

Aptitude, кажется, продвинулся немного дальше. Но после того, как я дважды выбрал «да», мне все равно не удается установить программное обеспечение.

Как мне разобраться с беспорядком?

решение1

Тоже была такая ошибка:

E: Failed to execute process to save dpkg selections, dpkg or 
trying to execute it exited with status/errno: 2

Ладно, это некропостинг, но я решил эту проблему следующим образом:

  1. создать резервную копию текущего состояния apt (и сохранить ее).
  2. скопировать резервную копию в текущую.
  3. обновление apt-get
  4. удалить созданную выше резервную копию.

Список команд:

root@host# cd /var/lib/dpkg
root@host# cp status status.backup
root@host# cp status-old status-old.backup
root@host# cp status-old status
root@host# apt-get update
root@host# apt-get upgrade
root@host# rm status.backup
root@host# rm status-old.backup

Почему, черт возьми, база данных apt была повреждена, мне не известно, некоторые символы, похоже, были испорчены (например, «c» превратилось в «@» и т. п.). Думаю, причиной этого мог стать какой-то плохой модуль RAM, но все они прошли проверку.

решение2

Я также столкнулся с ошибкой:

E: Failed to execute process to save dpkg selections, dpkg or
trying to execute it exited with status/errno: 2

В моем случае проблема оказалась в том, что /var/lib/dpkg/availableотсутствовало. Исправление было в touchотсутствующем файле. Пересоздание имеющегося файла возможно, но не обязательно.

решение3

Сначала в терминале Linux Mint найдите .deb для grub-common;

wget http://archive.ubuntu.com/ubuntu/pool/main/g/grub2/grub-common_2.02-2ubuntu8_amd64.deb

затем распакуйте файл,

sudo dpkg -i grub-common_2.02-2ubuntu8_amd64.deb

grub-common требует: gettext-base, libc6, libdevmapper1.02.1, libfreetype6, libfuse2, liblzma5, lsb-base

Файлы .deb для них.

gettextbase:http://archive.ubuntu.com/ubuntu/pool/main/g/gettext/gettext-base_0.19.8.1-6_amd64.deb

libc6:http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc6_2.27-3ubuntu1_amd64.deb

libdevmapper1.02.1:http://archive.ubuntu.com/ubuntu/pool/main/l/lvm2/libdevmapper1.02.1_1.02.145-4.1ubuntu3_amd64.deb

libfreetype6:http://archive.ubuntu.com/ubuntu/pool/main/f/freetype/libfreetype6_2.8.1-2ubuntu2_amd64.deb

libfuse2: http://archive.ubuntu.com/ubuntu/pool/main/f/fuse/libfuse2_2.9.7-1ubuntu1_amd64.deb

liblzma5:http://archive.ubuntu.com/ubuntu/pool/main/x/xz-utils/liblzma5_5.2.2-1.3_amd64.deb

lsb-база:http://archive.ubuntu.com/ubuntu/pool/main/l/lsb/lsb-base_9.20170808ubuntu1_all.deb

У всех них есть зависимости, некоторые могут быть предустановлены, некоторые могут требовать установки.

Если у вас есть какие-либо ошибки, пожалуйста, сообщите мне, чтобы я мог предложить решение.

решение4

Я не уверен, является ли это фиктивной логикой или чем-то еще. Но я попробовал это, и у меня все получилось:

sudo apt upgrade grub-common grub2-common

Связанный контент