- Как найти и исправить поврежденные пакеты в Linux
- Что такое поврежденные пакеты?
- Как найти и исправить поврежденные пакеты
- Переустановка поврежденных пакетов в Ubuntu и Debian
- Скрипт проверки принадлежности пакетов
- Вложения
- StasW
- Вложения
- Fd1501h
- Как исправить «сломанные пакеты» на свежеустановленной системе?
- banzay242
- unixforum.org
Как найти и исправить поврежденные пакеты в Linux
Поврежденные пакеты нуждаются в ремонте, иначе программное обеспечение не будет запускаться. Вот как найти поврежденные пакеты и исправить их в Linux.
Менеджеры пакетов в Linux позволяют контролировать установку и удаление пакетов. В дополнение к этому менеджеры пакетов также помогают вам находить поврежденные пакеты в вашей системе и переустанавливать их, чтобы устранить различные проблемы, связанные с пакетами Linux.
Если вы не знаете, какие команды использовать для поиска и исправления поврежденных пакетов в Linux, то это руководство для вас. Мы кратко обсудим поврежденные пакеты, как вы можете проверить, содержит ли ваша система поврежденные пакеты, и как их правильно переустановить.
Что такое поврежденные пакеты?
Когда вы устанавливаете новый пакет в Linux, менеджер пакетов вашей системы отвечает за весь процесс установки. Эти менеджеры пакетов имеют встроенные методы для обработки исключений и ошибок. Но иногда, в случае непредвиденных проблем, установка останавливается, и полный пакет не устанавливается. Такие пакеты в Linux называются поврежденными пакетами.
Менеджеры пакетов, такие как APT, не разрешают дальнейшую установку пакетов, если обнаруживается поврежденный пакет в системе. В такой ситуации восстановление поврежденного пакета является единственным вариантом.
Как найти и исправить поврежденные пакеты
Каждый менеджер пакетов обрабатывает разные типы пакетов. Например, DNF и YUM работают с Red Hat Package Manager (RPM) для загрузки и установки пакетов RPM. Аналогично, APT действует как оболочка интерфейса для базового программного обеспечения dpkg в дистрибутивах на основе Debian.
Переустановка поврежденных пакетов в Ubuntu и Debian
APT — это менеджер пакетов по умолчанию, который предустановлен в каждом дистрибутиве на основе Debian. Помимо APT, пользователи Debian и Ubuntu также могут загружать и устанавливать пакеты вручную с помощью dpkg.
Шаги, упомянутые ниже, также будут работать, если вы хотите исправить поврежденные пакеты в Kali Linux, поскольку, в конце концов, Kali — это дистрибутив на основе Debian.
Как исправить поврежденные пакеты в дистрибутивах на основе Debian с помощью APT:
Скрипт проверки принадлежности пакетов
Часто в процессе эксплуатации ОС приходится ставить пакеты из сторонних репозиторией, из-за этого могут возникать сложности.
Для проверки принадлежности пакетов был написан небольшой скрипт (см.архив во сложении)
stable стабильный репозиторий sid тестовый репозиторий all тестовый и стабильный репозиторий
Вложения
StasW
New member
Работает.
Но чаще нужно установить что либо из debian/stretch, не сломав при этом систему зависимостями.
подключение сторонних репов описано здесь https://wiki.astralinux.ru/pages/viewpage.action?pageId=3276859
Но нужно добавить на эту вики-страничку создание /etc/apt/preferences например
Package: *
Pin: release n=orel
Pin-Priority: 900
Package: *
Pin: release n=stretch
Pin-Priority: 700
Так будет более правильно, чем просто добавить дебиановские репозитории.
Решение взято отсюда https://debianforum.ru/index.php?topic=5407.0
Прикреплены мои sources.list и preferences
Вложения
Fd1501h
Moderator
Работает.
Но чаще нужно установить что либо из debian/stretch, не сломав при этом систему зависимостями.
подключение сторонних репов описано здесь https://wiki.astralinux.ru/pages/viewpage.action?pageId=3276859
Но нужно добавить на эту вики-страничку создание /etc/apt/preferences например
Package: *
Pin: release n=orel
Pin-Priority: 900
Package: *
Pin: release n=stretch
Pin-Priority: 700
Так будет более правильно, чем просто добавить дебиановские репозитории.
Решение взято отсюда https://debianforum.ru/index.php?topic=5407.0
Прикреплены мои sources.list и preferences
Как исправить «сломанные пакеты» на свежеустановленной системе?
apt install ./krdc_19.12.3-0ubuntu1astra1_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «./krdc_19.12.3-0ubuntu1astra1_amd64.deb» выбирается «krdc»
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
krdc : Зависит: libkf5xmlgui-bin но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
Пытаюсь установить пакет локально:
apt install ./krdc_19.12.3-0ubuntu1astra1_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «./krdc_19.12.3-0ubuntu1astra1_amd64.deb» выбирается «krdc»
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
krdc : Зависит: libkf5xmlgui-bin но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@astra-vsp:/home/petushkov/Загрузки# cat /etc/*release*
DISTRIB_ID=»AstraLinux»
DISTRIB_DESCRIPTION=»Astra Linux 1.7 x86-64″
DISTRIB_RELEASE=1.7_x86-64
DISTRIB_CODENAME=1.7_x86-64
PRETTY_NAME=»Astra Linux»
NAME=»Astra Linux»
ID=astra
ID_LIKE=debian
ANSI_COLOR=»1;31″
HOME_URL=»https://astralinux.ru»
SUPPORT_URL=»https://astralinux.ru/support»
LOGO=astra
VERSION_ID=1.7_x86-64
VERSION_CODENAME=1.7_x86-64
PRETTY_NAME=»Astra Linux»
NAME=»Astra Linux»
ID=astra
ID_LIKE=debian
ANSI_COLOR=»1;31″
HOME_URL=»https://astralinux.ru»
SUPPORT_URL=»https://astralinux.ru/support»
LOGO=astra
VERSION_ID=1.7_x86-64
VERSION_CODENAME=1.7_x86-64
banzay242
New member
apt install ./krdc_19.12.3-0ubuntu1astra1_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «./krdc_19.12.3-0ubuntu1astra1_amd64.deb» выбирается «krdc»
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
krdc : Зависит: libkf5xmlgui-bin но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
Пытаюсь установить пакет локально:
apt install ./krdc_19.12.3-0ubuntu1astra1_amd64.deb
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Заметьте, вместо «./krdc_19.12.3-0ubuntu1astra1_amd64.deb» выбирается «krdc»
Некоторые пакеты не могут быть установлены. Возможно, то, что вы просите,
неосуществимо, или же вы используете нестабильную версию дистрибутива, где
запрошенные вами пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, вам поможет:
Следующие пакеты имеют неудовлетворённые зависимости:
krdc : Зависит: libkf5xmlgui-bin но он не будет установлен
E: Невозможно исправить ошибки: у вас зафиксированы сломанные пакеты.
root@astra-vsp:/home/petushkov/Загрузки# cat /etc/*release*
DISTRIB_ID=»AstraLinux»
DISTRIB_DESCRIPTION=»Astra Linux 1.7 x86-64″
DISTRIB_RELEASE=1.7_x86-64
DISTRIB_CODENAME=1.7_x86-64
PRETTY_NAME=»Astra Linux»
NAME=»Astra Linux»
ID=astra
ID_LIKE=debian
ANSI_COLOR=»1;31″
HOME_URL=»https://astralinux.ru»
SUPPORT_URL=»https://astralinux.ru/support»
LOGO=astra
VERSION_ID=1.7_x86-64
VERSION_CODENAME=1.7_x86-64
PRETTY_NAME=»Astra Linux»
NAME=»Astra Linux»
ID=astra
ID_LIKE=debian
ANSI_COLOR=»1;31″
HOME_URL=»https://astralinux.ru»
SUPPORT_URL=»https://astralinux.ru/support»
LOGO=astra
VERSION_ID=1.7_x86-64
VERSION_CODENAME=1.7_x86-64
скорее всего точно так же как на debian или ubuntu. apt, dpkg, если не поможет то удалять в /var/lib/dpkg/status, а потом обновиться
sudo apt-get update —fix-missing
sudo apt-get install -f
sudo dpkg —configure -a
sudo apt-get clean
в самых тяжелых случаях
dpkg -l | grep ^ .. r
sudo dpkg —remove —force-remove-reinstreq
sudo apt-get clean
Способов много, копайте в сторону debian
unixforum.org
user@astra:~$ sudo apt-get install libgtk-3-dev
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:
Пакеты, имеющие неудовлетворённые зависимости:
libgtk-3-dev : Зависит: libgtk-3-0 (= 3.4.2-7+deb7u1) но 3.4.2-7+deb7u1.astra1 будет установлен
Зависит: libgdk-pixbuf2.0-dev (>= 2.26.0) но он не будет установлен
Зависит: libpango1.0-dev (>= 1.30.0) но он не будет установлен
Зависит: libatk1.0-dev (>= 2.2.0) но он не будет установлен
Зависит: libcairo2-dev (>= 1.10.0) но он не будет установлен
Зависит: libx11-dev но он не будет установлен
Зависит: libxext-dev но он не будет установлен
Зависит: libxinerama-dev но он не будет установлен
Зависит: libxi-dev но он не будет установлен
Зависит: libxrandr-dev но он не будет установлен
Зависит: libxcursor-dev но он не будет установлен
Зависит: libxfixes-dev но он не будет установлен
Зависит: libxcomposite-dev но он не будет установлен
Зависит: libxdamage-dev но он не будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
Интернет пестрит советами, как исправить такую ошибку. Ну то есть всякой ненужной фигнёй. которую, я, тем не менее, сделал.
sudo atp-get install -f
sudo atp-get autoremove
sudo apt-get autoclean
sudo dpkg-reconfigure -a
sudo apt-get upgrade
Последняя команда зачем-то обновила полсистемы, но ошибка всё равно осталась.
И да, непосредственно по теме что делал:
user@astra:~$ dpkg —get-selections | grep held
user@astra:~$ dpkg —get-selections | grep hold
user@astra:~$
Грустно вообще и бессильно от лжи. Пишут, что какие-то там битые пакеты есть и так прямо трудно их список написать, я аж не знаю. В /etc/apt/sources.list никакой экзотики. Спасибо, кто откликнется.