Я обновился с Ubuntu 17.04 до 17.10. Я столкнулся с 2 проблемами: -
1. При его обновлении были созданы журналы ошибок:
2. Я ничего не могу загрузить из значка корзины / центра программного обеспечения:
Приложение
Я сделал
sudo apt autoremove
, затем этот
sudo apt install --fix-missing
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
4 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up gdm3 (3.26.1-3ubuntu3) ...
addgroup: No GID is available in the range 100-999 (FIRST_SYS_GID - LAST_SYS_GID).
addgroup: The group `gdm' was not created.
dpkg: error processing package gdm3 (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up geoclue-2.0 (2.4.7-1ubuntu1) ...
addgroup: No GID is available in the range 100-999 (FIRST_SYS_GID - LAST_SYS_GID).
addgroup: The group `geoclue' was not created.
dpkg: error processing package geoclue-2.0 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of empathy:
empathy depends on geoclue-2.0 (>= 2.0); however:
Package geoclue-2.0 is not configured yet.
dpkg: error processing package empathy (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates it's a follow-up error from a previous failure.
dpkg: dependency problems prevent configuration of ubuntu-desktop:
ubuntu-desktop depends on gdm3; however:
Package gdm3 is not configured yet.
dpkg: error processing package ubuntu-desktop (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports has already been reached
Errors were encountered while processing:
gdm3
geoclue-2.0
empathy
ubuntu-desktop
E: Sub-process /usr/bin/dpkg returned an error code (1)
Команды в этом ответе могут вызвать опустошение с Вашей системой. Сделайте полное системное резервное копирование со своим предпочтительным методом. Проверяйте/тестируйте это резервное копирование. Защитите свои резервные копии так, чтобы следующие шаги не могли вредить им.
Для получения дополнительной информации о резервных копиях см. Сообщество Ubuntu Wiki - BackupYourSystem. Я рекомендовал бы Clonezilla в течение одного времени полная OS и пользовательское резервное копирование данных. Но для на идущих резервных копиях я использую Резервное копирование Borg.
Выполнение getent group | egrep \:[1-9][0-9][0-9]\:
перечислит группы в диапазоне 100-999. Из этого списка принимают во внимание минимум 10 нежелательных групп, связанных с гостевыми учетными записями. У них не должно быть пользователей, перечисленных как часть группы, и при этом они не должны быть программами, которые в настоящее время устанавливаются. Следующий блок кода показывает, что четвертое поле содержит пользователей в той группе. Из них у немногих только sambashare есть пользователь. Только "гость -" группы является проблемой.
saned:x:122:
uuidd:x:123:
sambashare:x:124:jon
ssh:x:125:
geoclue:x:126:
guest-262uVu:x:127:
guest-qAD7pX:x:128:
guest-H1HJgy:x:129:
guest-fbfgab:x:130:
guest-LdeNZx:x:131:
guest-jIHtqC:x:132:
guest-w7GINW:x:133:
В следующей замене команд <NEWGID>
с группой для содержания любых остаточных файлов. Вы могли или использовать существующую группу или новую группу. Также замена <OLDGID>
с группой, которая будет удалена. Выполните команды однажды, чтобы каждая группа была удалена. Если Вы не хотите ни одного из файлов от старых групп, выполняет потенциально очень вредную команду find / -group <OLDGID> -exec rm {} \;
. Если Вы не заботитесь, кто может закончить тем, что владел удаленными файлами групп, Вы могли просто работать delgroup --only-if-empty <OLDGID>
.
find / -group <OLDGID> -exec rm {} \;
find / -group <OLDGID> -exec chgrp -h <NEWGID> {} \;
delgroup --only-if-empty <OLDGID>
# example using random groups
find / -group 200 -exec chgrp -h 2000 {} \;
delgroup --only-if-empty 200
Выполненный sudo dpkg --configure -a
закончить настраивать распакованные пакеты.
Сценарий удара, касающийся шагов 2-4. Откройте текстовый редактор, копию и мимо следующего блока кода. Сохраните файл как guest.sh
. В терминале перешли туда, где guest.sh
был сохранен. выполненный chmod +x guest.sh
, сделать исполняемый файл файла. Затем выполненный ./guest.sh
.
#!/bin/bash
TEMP=$(mktemp --tmpdir)
getent group | grep guest- | cut --delimiter=: -f 3 > "$TEMP"
NGID=$(head -n1 "$TEMP")
GIDS=$(grep -v "$NGID" "$TEMP" | tr '\n' ' ')
for i in $GIDS
do
find / -group "$i" -exec chgrp -h "$NGID" {} \;
delgroup --only-if-empty "$i"
done
rm "$TEMP"
sudo dpkg --configure -a