Это будет обрабатывать имена файлов, содержащие любой символ, разрешенный в имени файла, включая новые строки.
#!/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 для более подробной информации.
sudo apt-get install synaptic
Откройте его, набрав synaptic в тире Unity, а затем нажмите Enter. Затем выполните следующую процедуру: выберите категорию «Статус». Это показывает пакеты, организованные по статусу. Выберите категорию «Сломанные зависимости» в верхней левой панели. Выберите сломанные пакеты. Если пакеты более одного, выберите их все, нажав Ctrl + A. Затем щелкните правой кнопкой мыши на выбранном пакете и выберите в меню пункт «Отметить для полного удаления». Вот и все. Сломанные пакеты исчезли.
Нет загрузок, не требуется 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 .)
Чтобы очистить пакеты, которые вы установили из 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 у вас все еще есть ошибки, вернитесь и обновите свой вопрос.
Удачи.
Я создал скрипт для исправления сломанных пакетов. Это ищет разбитые пакеты в файле /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 .