ошибка при установке расширения оболочки gnome в 18.04 [duplicate]

Другой способ - установить jnettop, iptraf или iftop. Все команды терминала, чтобы увидеть текущий сетевой трафик.

858
задан 2 July 2016 в 13:33

43 ответа

В моем случае я просто ждал несколько минут, и замок был выпущен (выглядит как aptd, используемый для его удержания). Все это произошло сразу после загрузки системы.

3
ответ дан 20 July 2018 в 14:15

Самый вероятный способ сделать это:

загрузить Ubuntu запустить тип терминала sudo apt-get install whatever

, а командная строка apt перекрывается с update-manager автоматическим опросом .

Итак, если вы попробуете снова через несколько минут, чтобы исправить это.

59
ответ дан 20 July 2018 в 14:15
  • 1
    Отличный намек в отличие от полудюжины ответов, предлагающих просто удалить файл ;-) Я случайным образом столкнулся с проблемой и, скорее всего, это все! – Alex 21 January 2014 в 22:14
  • 2
    Достаточно безопасно, пришлось немного подождать, прежде чем sudo apt-get install сможет работать. – sargas 11 May 2015 в 20:56
  • 3
    Ну, это не работает всегда, да, я неоднократно использовал перезагрузку. Если это не подходит, попробуйте askubuntu.com/a/315791/378845 перед удалением блокировок – Menuka Ishan 23 October 2016 в 10:03
  • 4
    @menuka, почему бы просто не закончить. – poolie 24 December 2016 в 18:38
  • 5
    @poolie Поскольку существуют другие ограничения, которые останавливают процесс от завершения – Menuka Ishan 24 December 2016 в 19:17

Прежде всего, мы должны проверить, какой процесс создал файл блокировки с помощью lsof:

sudo lsof /var/lib/dpkg/lock

или в другой ситуации, где /var/lib/apt/lists/lock проблематично:

sudo lsof /var/lib/apt/lists/lock

Выход будет близок к чему-то вроде:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME apt-get 12127 root 4uW REG 252,1 0 86 /var/lib/apt/lists/lock

Затем мы должны проверить, что делает commad, мы можем найти его с помощью ps, pgrep и т. Д .; команда apt-get, поэтому я запускаю:

pgrep apt-get -a

Переключатель -a перечисляет полную команду для меня, в моем случае это:

pgrep -a apt-get 12127 apt-get update

мы можем видеть что он работает подкомандой update, я мог бы запустить что-то вроде этого:

ps -f 12127

, который производит:

UID PID PPID C STIME TTY STAT TIME CMD root 12127 12126 0 09:39 pts/0 S+ 0:00 apt-get update

В этом случае я подождал бы некоторую минуту для ресурса чтобы быть освобожденным, и если по истечении 2-3-минутной проблемы все еще существует или команда была чем-то, что мне не нравилось или не было вредно для системы (например, apt-get update), я посылаю SIGTERM в процесс:

sudo kill -15 12127

Он должен выполнить эту работу. Если бы я не отправил SIGINT на этот раз (это похоже на нажатие CTRL + C):

sudo kill -2 12127

If это тоже не сработало, мы должны отправить SIGHUP (kill -1), и, наконец, если ничего не работает, я просто убиваю процесс:

sudo kill -9 12127

или

sudo pkill -9 apt-get

Затем я удаляю загруженные ресурсы:

sudo rm /var/lib/apt/lists/lock
20
ответ дан 20 July 2018 в 14:15
  • 1
    Мало того, что /var/lib/dpkg/lock, а не /var/lib/apt/lists/lock, является файлом в вопросе. – Chai T. Rex 25 April 2017 в 00:12
  • 2
    @ ChaiT.Rex спасибо, сделал обновление;) – Ravexina 25 April 2017 в 00:16
  • 3
    Поблагодарите богов-корней, которые кто-то наконец упоминает pgrep и pkill. – Barry 13 September 2017 в 00:39
  • 4
    Это должен быть принятый ответ. – Marwan Nabil 10 July 2018 в 13:31

Я не вижу этого ответа нигде выше, но на Ubuntu 16.04, я тоже столкнулся с этой проблемой. Причиной было то, что время на моем компьютере было установлено в будущее. (Это потому, что я нахожусь в системе с двойной загрузкой Windows + Ubuntu, и, я думаю, я перепутал местное время и время UTC.)

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

Затем я использовал «фьюзер», как описано в предыдущих сообщениях, и apt работал, но я получал жалобы на необходимость запуска dpkg -a -reconfigure. Когда я это сделал, у меня появились такие ошибки, как:

newline in field name #padding

в таких файлах, как '/var/lib/dpkg/updates/0003'.

Все это было очень странно, поскольку Я никогда раньше этого не видел. Итак, я думал, что это симптомы и изменил мои данные и время вручную. Я знал, что была проблема с датой / временем, когда я вошел в систему, но игнорировал ее. (Раньше он настраивал его автоматически через Интернет и NTP).

Затем все указанные проблемы были исправлены ... Надеюсь, это поможет кому-то еще! Наиболее заметным признаком является дата / время файла блокировки, являющегося точной датой / временем, которое вы пытаетесь запустить.

3
ответ дан 20 July 2018 в 14:15

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

7
ответ дан 20 July 2018 в 14:15

В моем случае X разбился, а apt-get все еще удалял старые ядра. Я использовал системный монитор, чтобы убедиться, что он все еще работает и не застревает. После завершения процесса все было в порядке.

2
ответ дан 20 July 2018 в 14:15
  • 1
    Когда я получил сообщение об ошибке, я обновлял свое программное обеспечение. – raindrop 17 August 2013 в 03:04
  • 2
    Это рухнуло для меня - – umpirsky 21 September 2014 в 22:33
  • 3
    sudo fuser -cuk /var/cache/apt/archives/lock прямо перезагрузил мой компьютер. apt-get теперь разблокирована. – Maxime R. 5 December 2014 в 01:47
  • 4
    Это разбило мой весь сервер. – 에이바 6 January 2015 в 01:28
  • 5
    Убийство apt или dpkg на полпути - это не отличная идея. – poolie 2 February 2015 в 22:12

Только одна программа может удерживать блокировку. Убедитесь, что вы не используете aptitude, synaptic или adept. Закройте программу и запустите ее снова, она должна работать. У вас может быть либо синаптический доступ, либо другое открытое окно терминала, работающее apt-get, либо работающий менеджер обновлений. Проверьте его и посмотрите, работает ли какой-либо из них, если какой-либо из них они закроют его и повторите попытку.

Попробуйте эту команду в терминале найти то, что работает

ps -e | grep -e apt -e adept | grep -v grep

Примечание: если это ничего не печатает, введите следующее в терминал для удаления блокировки

sudo rm /var/lib/dpkg/lock    
sudo rm /var/cache/apt/archives/lock

Теперь вы можете установить любые пакеты.

48
ответ дан 8 August 2018 в 21:40

В моем случае X разбился, а apt-get все еще удалял старые ядра. Я использовал системный монитор, чтобы убедиться, что он все еще работает и не застревает. Все было хорошо после завершения процесса.

95
ответ дан 14 August 2018 в 11:25

Я не вижу этого ответа нигде выше, но на Ubuntu 16.04, я тоже столкнулся с этой проблемой. Причиной было то, что время на моем компьютере было установлено в будущее. (Это потому, что я нахожусь в системе с двойной загрузкой Windows + Ubuntu, и я думаю, что я испортил местное время и время UTC.)

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

Затем я использовал «фьюзер», как описано в предыдущих сообщениях, и apt работал, но я получал жалобы на необходимость запуска dpkg -a -reconfigure. Когда я это сделал, у меня появились такие ошибки, как:

newline in field name #padding

в таких файлах, как '/var/lib/dpkg/updates/0003'.

Все это было очень странно, поскольку Я никогда этого не видел. Итак, я думал, что это симптомы и изменил мои данные и время вручную. Я знал, что была проблема с датой / временем, когда я вошел в систему, но игнорировал ее. (Раньше он устанавливал его автоматически через Интернет и NTP).

Затем все указанные проблемы были исправлены ... Надеюсь, это поможет кому-то еще! Наиболее заметным симптомом может быть дата / время файла блокировки, являющегося точной датой / временем, которое вы пытаетесь запустить.

3
ответ дан 14 August 2018 в 11:25

У меня была эта проблема много раз. Для меня это было почти всегда вызвано apt-get или некоторым GUI, который назвал его зависающим по какой-то причине. Я должен был убить его, что оставило различные блокировки на месте.

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

Хотя большинство или все это представлено в других ответах, это отводит исправление до нескольких команд.

sudo fuser -vki /var/lib/dpkg/lock
sudo fuser -vki /var/cache/apt/archives/lock
sudo fuser -vki /var/cache/debconf/config.dat
sudo dpkg --configure -a

Используется для разблокировки системы пакетов после того, как какое-либо обновление было повреждено или завершено, не закончив каким-либо другим способом. Эти команды должны выполняться в представленном порядке.

3
ответ дан 14 August 2018 в 11:25

Вы получите это сообщение, если вы забудете использовать sudo при выполнении команды apt.

В противном случае это признак того, что что-то еще устанавливает или удаляет программное обеспечение и блокирует базу данных apt, пока она выполняет действия. Программы, которые могут это сделать, следующие:

  • Центр программного обеспечения
  • Менеджер обновлений
  • Узел установки apt (я думаю, что теперь это происходит через SC )
  • Утилиты командной строки apt-get или aptitude.
  • Менеджер синаптических пакетов

ВАЖНО: попробуйте использовать последнее в качестве последнего средства так как это может привести к краху вашей системы. Сначала попробуйте убить любой исполняемый экземпляр apt или aptitude, как описано в ответе Faheem .

Вы можете заблокировать блокировку, удалив файл, но это не рекомендуется без сначала закрывая программу, которая надежно удерживает замок, так как вы можете вызвать повреждение или прервать установку (плохая). Команда, предоставленная João, должна закрыть программу, которая удерживает блокировку, а затем удалить блокировку, но не защитит вас от прерывания установки:

sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock   

И та же самая команда может использоваться для блокировки кеша apt :

sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock
95
ответ дан 14 August 2018 в 16:00
sudo killall -9 apt && sudo killall -9 dpkg

Использовать на свой страх и риск

0
ответ дан 7 October 2018 в 16:27

Проверьте, запущена ли программа запуска Software Updater. Если это так, увеличьте его и посмотрите, что он делает. Если он все еще проверяет, то дождитесь его завершения. Когда он завершится, вы можете сказать, что программное обеспечение обновлено настолько близко, что приложение. Если он говорит, что есть доступные обновления, либо сделайте обновление, либо нажмите «Напомнить мне позже». После этого приложение закрывается, вы можете вернуться к использованию apt-get или apt.

Если Software Updater не работает, просто используйте Dash для его вызова и ожидания завершения, а затем решите, вы хотите обновить или нажать «Напомнить мне позже». После этого приложение закрывается, вы можете вернуться к использованию apt-get или apt.

0
ответ дан 7 October 2018 в 16:27

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

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