Переустановите все пакеты с Pacman в Arch Linux
Иногда вам может потребоваться переустановить все пакеты в Arch Linux.
Допустим, на вашем компьютере установлен Arch Linux, и он полностью функционален. Здесь нет проблем. Теперь представьте, что вы играете со своей системой Arch Linux и случайно удалили некоторые системные файлы и папки. Вы в ужасе говорите: «О нет! Я не должен был играть в Бога с sudo». Не сходите с ума пока. Возможно, вы все еще можете исправить это с помощью Pacman. Вы можете использовать менеджер пакетов Pacman для переустановки всех системных пакетов на вашем компьютере с Arch Linux.
Другой сценарий может быть, скажем, вы сделали полное обновление системы. Все прошло гладко. Но как только вы перезагрузите свою систему, она не запустится, и вы получите предупреждения об отсутствии некоторых файлов. Это также можно исправить, переустановив все пакеты на вашем компьютере с Arch Linux.
В этой статье я покажу вам, как переустановить все пакеты с Pacman в Arch Linux. Давайте начнем.
Переустановка исправляет отсутствующие файлы
В этом разделе я удалю некоторые файлы из /usr/bin и восстановлю их, переустановив пакет, чтобы показать вам, что переустановка устраняет проблемы, связанные с отсутствующими или поврежденными файлами.
Я собираюсь запустить следующую команду, чтобы удалить все двоичные файлы, связанные с grub:
Как видно на скриншоте ниже, файлы удалены.
Теперь я собираюсь переустановить пакет grub с помощью следующей команды:
Пакет grub переустановлен.
Теперь давайте выполним ls -la grub-*, и, как вы можете видеть на снимке экрана ниже, удаленные файлы вернулись.
Таким образом, переустановка пакетов может восстановить сломанные системы Arch Linux.
Создание сценария для переустановки всех пакетов
Я не собираюсь переустанавливать пакеты один за другим. Вместо этого я напишу сценарий bash, чтобы сделать это автоматически.
Сначала создайте новый каталог recovery/ с помощью следующей команды:
Теперь перейдите во вновь созданный каталог с помощью следующей команды:
Теперь экспортируйте все имена пакетов, установленных в вашей системе Arch Linux, с помощью следующей команды:
Теперь создайте новый сценарий оболочки с помощью следующей команды:
Пустой файл следует открыть в текстовом редакторе nano.
Теперь добавьте эти строки в файл:
for pkgName in $(cat packages.txt
do
pacman -S --force --noconfirm $pkgName
done
echo "Reinstalled all packages."
Теперь нажмите
Теперь сделайте скрипт исполняемым с помощью следующей команды:
Переустановка всех пакетов, когда вы можете загрузиться в систему Arch Linux
Если вы можете загрузиться на свой компьютер с Arch Linux, то очень легко переустановить все пакеты с помощью диспетчера пакетов Pacman с помощью сценария, который я создал ранее.
Сначала перейдите в каталог recovery/:
Теперь запустите сценарий reinstall.sh следующим образом:
Как видите, пакеты переустанавливаются.
Это должно занять много времени, в зависимости от вашего интернет-соединения.
Переустановка всех пакетов, если вы не можете загрузиться в систему Arch Linux
Если вам не удается загрузиться в систему Arch Linux, возьмите установочный компакт-диск Arch Linux и загрузитесь в него.
Как только вы загрузитесь с установочного компакт-диска Arch Linux, подключитесь к Интернету. Если вы используете проводное соединение и ваша сеть настроена с использованием DHCP, все, что вам нужно сделать, это выполнить следующую команду:
Затем вам нужно смонтировать Root и Boot (также раздел EFI, если вы используете таблицу разделов GPT) вашего сломанного Arch Linux в /mnt каталог. Мой корневой раздел — /dev/sda3, загрузочный раздел — /dev/sda2, а раздел EFI — /dev/sda1.
Смонтируйте эти разделы в /mnt с помощью следующих команд:
$ mount /dev/sda2 /mnt
$ mount /dev/sda3 /mnt
Теперь выполните Chroot в каталог /mnt.
Перейдите в каталог recovery/ и выполните сценарий reinstall. Если вам не удалось их создать, вы можете следовать разделу Создание сценария для переустановки всех пакетов этой статьи и создать его сейчас.
Должен начаться процесс переустановки пакета, как вы можете видеть на скриншоте ниже.
После завершения переустановки выполните следующую команду, чтобы выйти из Chroot:
Затем перезагрузите компьютер. Ваша проблема должна быть решена.
Вот как вы переустанавливаете все пакеты Arch Linux с Pacman. Спасибо, что прочитали эту статью.