Как найти и удалить Broken Packages, которые я установил?

Это будет обрабатывать имена файлов, содержащие любой символ, разрешенный в имени файла, включая новые строки.

#!/bin/bash

if (($# != 1)); then
     echo >&2 "Usage: $0 directory"
     exit 1
fi

while IFS= read -r -d '' file; do 
    base=${file##*/} dir=${file%/*/*}
    if [[ $dir/${base%.exe}/$base -ef $file ]]; then
        echo rm "$file"
    fi
done < <(find "$1" -type f -name "*.exe" -print0)

См. http://mywiki.wooledge.org/BashFAQ/020 и http: //mywiki.wooledge .org / BashFAQ / 100 для более подробной информации.

1
задан 13 April 2017 в 15:23

4 ответа

Установите диспетчер пакетов Synaptic либо через Центр программного обеспечения, либо выполнив эту команду в терминале:
 sudo apt-get install synaptic 
Откройте его, набрав synaptic в тире Unity, а затем нажмите Enter. Затем выполните следующую процедуру: выберите категорию «Статус». Это показывает пакеты, организованные по статусу. Выберите категорию «Сломанные зависимости» в верхней левой панели. Выберите сломанные пакеты. Если пакеты более одного, выберите их все, нажав Ctrl + A. Затем щелкните правой кнопкой мыши на выбранном пакете и выберите в меню пункт «Отметить для полного удаления».

Вот и все. Сломанные пакеты исчезли.

27
ответ дан 25 May 2018 в 12:41

Нет загрузок, не требуется GUI:

Вы можете перечислить сломанные пакеты:

dpkg -l | grep ^..r 

Нет загрузок, не требуется GUI: state (on третье поле) означает: требуется восстановить (пакет сломан, требуется переустановка)

описание полей dpkg

Чтобы перечислить и удалить эти пакеты:

dpkg -l | grep ^..r | while read -r | tr -s ' ' | cut -d' ' -f2 | while read -r name; do sudo apt-get remove "$name"; done

(Ответ скопирован из описания полей dpkg .)

1
ответ дан 25 May 2018 в 12:41

Чтобы очистить пакеты, которые вы установили из ppa, вы должны использовать ppa-purge, предположим, что ppa является ppa: xorg-edger / ppa

sudo apt-get install ppa-purge sudo apt-get update sudo ppa-purge ppa:xorg-edger/ppa it предложит вам список пакетов для удаления и / или понижения рейтинга, если ничего не будет выглядеть подозрительно, ответьте Y и подождите, если вам повезет, он должен закончиться ошибкой, иначе вам нужно будет сделать sudo apt-get install -f

Если после шага 5 у вас все еще есть ошибки, вернитесь и обновите свой вопрос.

Удачи.

0
ответ дан 25 May 2018 в 12:41

Я создал скрипт для исправления сломанных пакетов. Это ищет разбитые пакеты в файле /var/log/dist-upgrade/apt.log, а затем находит имена пакетов, затем применяет к ним указанную команду.

Позаботьтесь об использовании этого скрипта, потому что иногда некоторые сломанные пакеты связаны с системой и могут создать новую проблему. поэтому используйте команду install или upgrade вместо команды delete.

Получите это отсюда

Загрузите скрипт, используя следующую команду:

wget https://gist.githubusercontent.com/EmpireWorld/8eb920165777399cfd684d8d4227a6e2/raw/17e6d4a151a6163aa45dd8302b965ed433b27741/fix-broken.sh

Затем запустите его :

./fix-broken.sh

Также вы можете установить действие, которое вы хотите применить к сломанным пакетам следующим образом:

./fix-broken (install|upgrade|remove)

Действующим по умолчанию является install .

0
ответ дан 25 May 2018 в 12:41

Другие вопросы по тегам:

Похожие вопросы: