apt-get - Ошибка сегментации: Ошибка Обработка пакета libc-bin

Привет, я боюсь с этим в течение последнего месяца.

sudo apt-get upgrade и sudo apt-get autoremove ошибочны со следующей ошибкой

E: Unmet dependencies. Try using -f.

Когда я запускаю sudo apt-get install -f, это выглядит следующим образом.

Fetched 30.2 MB in 32s (928 kB/s) Preconfiguring packages ... Setting up libc-bin (2.23-0ubuntu9) ... Segmentation fault /sbin/ldconfig.real: Can't stat /lib/i686-linux-gnu: No such file or directory /sbin/ldconfig.real: Can't stat /usr/lib/i686-linux-gnu: No such file or directory /sbin/ldconfig.real: Path `/usr/local/lib' given more than once /sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once /sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once /sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once Segmentation fault dpkg: error processing package libc-bin (--configure): subprocess installed post-installation script returned error exit status 139 Errors were encountered while processing: libc-bin E: Sub-process /usr/bin/dpkg returned an error code (1)

1) Вопрос размещен здесь. Но упомянутый ответ специфичен для пользователя.

2) Как упоминалось здесь ссылка , я попробовал sudo apt-get --reinstall install libc-bin. Но это показывает

E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

3) sudo dpkg --configure -a ошибки следующим образом

Errors were encountered while processing: libosmesa6:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386 libgl1-mesa-glx:amd64 libgl1-mesa-glx:i386 libegl1-mesa:amd64 xserver-xephyr xserver-xorg-core libgl1-mesa-dev:i386 libwayland-egl1-mesa:amd64

Любая помощь будет высоко оценена, поскольку это машина, где все мои академические проекты

EDIT:

4) sudo dpkg --configure -D 777 libc-bin дает следующий вывод:

D000001: ensure_diversions: new, (re)loading D000001: process queue pkg libc-bin:amd64 queue.len 0 progress 1, try 1 D000040: checking dependencies of libc-bin:amd64 (- ) D000400: checking group ... D000400: checking possibility -> libc6 D000400: checking non-provided pkg libc6:amd64 D000400: is installed, ok and found D000400: found 3 D000400: found 3 matched 0 possfixbytrig - D000400: checking group ... D000400: checking possibility -> libc6 D000400: checking non-provided pkg libc6:amd64 D000400: is installed, ok and found D000400: found 3 D000400: found 3 matched 0 possfixbytrig - D000040: ok 2 msgs >><< D000040: checking Breaks D000400: checking breaker locales:all virtbroken Setting up libc-bin (2.23-0ubuntu9) ... D000002: fork/exec /var/lib/dpkg/info/libc-bin.postinst ( configure 2.23-0ubuntu9 ) Segmentation fault /sbin/ldconfig.real: Can't stat /lib/i686-linux-gnu: No such file or directory /sbin/ldconfig.real: Can't stat /usr/lib/i686-linux-gnu: No such file or directory /sbin/ldconfig.real: Path `/usr/local/lib' given more than once /sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once /sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once /sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once Segmentation fault dpkg: error processing package libc-bin (--configure): subprocess installed post-installation script returned error exit status 139 D000001: ensure_diversions: same, skipping Errors were encountered while processing: libc-bin

EDIT: [ ! d10]

5) Я пытался использовать упомянутое здесь решение. Но sudo mv /usr/lib/x86_64-linux-gnu/libtic.so.5.9 /root дает ошибку

mv: cannot stat '/usr/lib/x86_64-linux-gnu/libtic.so.5.9': No such file or directory

Означает ли это, что в моем случае какая-то другая библиотека вызывает проблему?

EDIT: я смог выполнить strace во время sudo apt-get install -f, и журнал доступен link ; если это кому-то помогает.

6) Я попытался увеличить предел кеша APT, как упоминалось здесь. Но это не помогло.

EDIT : Обновить ответ на предложения Elder Geek

7) Я проверил мой баран с memtest и не обнаружил ошибок. Я также провел самотестирование SMART на моем жестком диске (короткое), которое показывает, что «Диск в порядке».

8) Я проверил вручную, и эта конкретная библиотека /usr/lib/x86_64-linux-gnu/libtic.so.5.9 не существует в месте. (Поэтому я считаю, что такая библиотека не существует в моей системе, и какая-то другая библиотека вызывает проблему.)

9) У меня нет пути /usr/lib/i686-linux-gnu в моей системе.

10) Был Typo, я проверял /etc/apt/sources.lst, как указано в первоначальном ответе. У меня есть sources.list.

Это записи, которые я вижу там. Я не вижу никаких упоминаемых здесь ppa.

deb http://archive.canonical.com/ubuntu xenial partner # deb-src http://archive.canonical.com/ubuntu trusty partner deb http://archive.ubuntu.com/ubuntu xenial main universe restricted deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe deb http://archive.ubuntu.com/ubuntu xenial-backports main restricted universe

Также я не могу установить никакого ppa-менеджера, так как сам apt сломан, и я ничего не могу установить.

11) Дополнительная информация: Первоначально это была система 14.04, которая была обновлена ​​до 16.04. Эти ppas, которые у меня были в 14.04, были отключены во время обновления. Тем не менее, это обновление произошло почти год назад, и система работала бесперебойно в течение почти года.

12) Последнее и самое важное: я помню выполнение sudo apt-get dist-upgrade некоторое время, прежде чем все проблемы начали появляются. Может ли это быть чем-то, что вызвало проблему?

4
задан 29 November 2017 в 07:09

3 ответа

В то время как ошибки сегментации обычно связаны с плохо написанным кодом, пытающимся получить доступ к ограниченной области памяти, я не думаю, что это причина вашей проблемы. Хотя это не так часто, эти ошибки также могут быть вызваны неправильным оборудованием. Я хотел бы начать с обеспечения стабильной среды, запустив memtest в вашей системе и гарантируя, что ваш hdd будет в хорошей форме, если вы используете swap. Если вы обнаружите неисправное оборудование, замените его.

Не может stat

означает, что файл или каталог либо не существует, либо ваш пользователь не имеет к нему доступа даже через sudo. Вы можете проверить разрешения с помощью команды ls -l /lib/i686-linux-gnu. Поскольку нет /usr/lib/i686-linux-gnu, который я могу найти в 64-битной версии Ubuntu (предполагается на основе Path /usr/lib/x86_64-linux-gnu given more than once).

Моя лучшая оценка на основе предоставленной вами информации заключается в том, что корень причиной некоторых из этих ошибок являются неправильные записи в ваших источниках программного обеспечения. Они находятся в файле /etc/apt/sources.lst или в списках в каталоге /etc/apt/sources.list.d. Вы можете начать очищать его с помощью memtest

Если вы используете рабочий стол с графическим интерфейсом, вы можете предпочесть Y PPA Manager, который является полезным инструментом для таких задач.

Если в этом ответе есть что-то непонятное или непонятное, прошу оставить комментарий, и я сделаю все возможное, чтобы уточнить.

EDIT: дальнейшая оценка, чтобы охватить дополнительные баллы, поднятые после этого ответа изначально было написано.

7) В отсутствие неисправного оборудования нам нужно будет копать немного глубже

8), совершенно ясно из точки 5.

9) Также ясно, что точка 4.

EDIT: 10), имеющий действительный /etc/apt/sources.list, означает, что его не нужно заменять. [!d16 ]

11) У меня есть система, которая также была обновлена ​​с 14.04 до 16.04, мой /etc/apt/sources.list по-прежнему неповрежден, так как теперь вы сообщаете о своем.

12) Это кажется возможным на основе Y PPA Manager , упомянутый десертом в hdd, находится в хорошей форме

. В этот момент параметры ограничены. Здесь они не имеют особого порядка.

1) Вернитесь к предыдущей резервной копии

2) Резервное копирование пользовательских данных (вы должны делать это в любом случае) и previous backup

3) Исправьте вашу установку. Загрузите apt и все его зависимости и переустановите их все с помощью dpkg -i packagename

2
ответ дан 22 May 2018 в 16:19
  • 1
    Благодарим вас за ваши предложения, и я обновил баллы с 7 по 12 в соответствии с вашим ответом. – Erdnase 28 November 2017 в 22:56
  • 2
    Обновленный ответ @Erdnase – Elder Geek 29 November 2017 в 03:04
  • 3
    Только одна опечатка испортила наше время. Обновлен пункт № 10. Возьмем следующие варианты, если вы посмотрите на него. Благодарю. – Erdnase 29 November 2017 в 07:14
  • 4
    @Erdnase Это не сильно портило. Ваши варианты на самом деле не изменены, немного упрощены. – Elder Geek 29 November 2017 в 21:10

В то время как ошибки сегментации обычно связаны с плохо написанным кодом, пытающимся получить доступ к ограниченной области памяти, я не думаю, что это причина вашей проблемы. Хотя это не так часто, эти ошибки также могут быть вызваны неправильным оборудованием. Я хотел бы начать с обеспечения стабильной среды, запустив memtest в вашей системе и гарантируя, что ваш hdd будет в хорошей форме, если вы используете swap. Если вы обнаружите неисправное оборудование, замените его.

Не может stat

означает, что файл или каталог либо не существует, либо ваш пользователь не имеет к нему доступа даже через sudo. Вы можете проверить разрешения с помощью команды ls -l /lib/i686-linux-gnu. Поскольку нет /usr/lib/i686-linux-gnu, который я могу найти в 64-битной версии Ubuntu (предполагается на основе Path /usr/lib/x86_64-linux-gnu given more than once).

Моя лучшая оценка на основе предоставленной вами информации заключается в том, что корень причиной некоторых из этих ошибок являются неправильные записи в ваших источниках программного обеспечения. Они находятся в файле /etc/apt/sources.lst или в списках в каталоге /etc/apt/sources.list.d. Вы можете начать очищать его с помощью memtest

Если вы используете рабочий стол с графическим интерфейсом, вы можете предпочесть Y PPA Manager, который является полезным инструментом для таких задач.

Если в этом ответе есть что-то непонятное или непонятное, прошу оставить комментарий, и я сделаю все возможное, чтобы уточнить.

EDIT: дальнейшая оценка, чтобы охватить дополнительные баллы, поднятые после этого ответа изначально было написано.

7) В отсутствие неисправного оборудования нам нужно будет копать немного глубже

8), совершенно ясно из точки 5.

9) Также ясно, что точка 4.

EDIT: 10), имеющий действительный /etc/apt/sources.list, означает, что его не нужно заменять.

11) У меня есть система, которая также была обновлена ​​с 14.04 до 16.04, мой /etc/apt/sources.list по-прежнему неповрежден, так как теперь вы сообщаете о своем.

12) Это кажется возможным на основе Y PPA Manager , упомянутый десертом в hdd, находится в хорошей форме

. В этот момент параметры ограничены. Здесь они не имеют особого порядка.

1) Вернитесь к предыдущей резервной копии

2) Резервное копирование пользовательских данных (вы должны делать это в любом случае) и previous backup

3) Исправьте вашу установку. Загрузите apt и все его зависимости и переустановите их все с помощью dpkg -i packagename

2
ответ дан 18 July 2018 в 03:29

В то время как ошибки сегментации обычно связаны с плохо написанным кодом, пытающимся получить доступ к ограниченной области памяти, я не думаю, что это причина вашей проблемы. Хотя это не так часто, эти ошибки также могут быть вызваны неправильным оборудованием. Я хотел бы начать с обеспечения стабильной среды, запустив memtest в вашей системе и гарантируя, что ваш hdd будет в хорошей форме, если вы используете swap. Если вы обнаружите неисправное оборудование, замените его.

Не может stat

означает, что файл или каталог либо не существует, либо ваш пользователь не имеет к нему доступа даже через sudo. Вы можете проверить разрешения с помощью команды ls -l /lib/i686-linux-gnu. Поскольку нет /usr/lib/i686-linux-gnu, который я могу найти в 64-битной версии Ubuntu (предполагается на основе Path /usr/lib/x86_64-linux-gnu given more than once).

Моя лучшая оценка на основе предоставленной вами информации заключается в том, что корень причиной некоторых из этих ошибок являются неправильные записи в ваших источниках программного обеспечения. Они находятся в файле /etc/apt/sources.lst или в списках в каталоге /etc/apt/sources.list.d. Вы можете начать очищать его с помощью memtest

Если вы используете рабочий стол с графическим интерфейсом, вы можете предпочесть Y PPA Manager, который является полезным инструментом для таких задач.

Если в этом ответе есть что-то непонятное или непонятное, прошу оставить комментарий, и я сделаю все возможное, чтобы уточнить.

EDIT: дальнейшая оценка, чтобы охватить дополнительные баллы, поднятые после этого ответа изначально было написано.

7) В отсутствие неисправного оборудования нам нужно будет копать немного глубже

8), совершенно ясно из точки 5.

9) Также ясно, что точка 4.

EDIT: 10), имеющий действительный /etc/apt/sources.list, означает, что его не нужно заменять.

11) У меня есть система, которая также была обновлена ​​с 14.04 до 16.04, мой /etc/apt/sources.list по-прежнему неповрежден, так как теперь вы сообщаете о своем.

12) Это кажется возможным на основе Y PPA Manager , упомянутый десертом в hdd, находится в хорошей форме

. В этот момент параметры ограничены. Здесь они не имеют особого порядка.

1) Вернитесь к предыдущей резервной копии

2) Резервное копирование пользовательских данных (вы должны делать это в любом случае) и previous backup

3) Исправьте вашу установку. Загрузите apt и все его зависимости и переустановите их все с помощью dpkg -i packagename

2
ответ дан 24 July 2018 в 17:51

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

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