Linux ресурс временно недоступен

Устранение неполадок SSH: ошибки оболочки

В первой статье этой серии вы узнали о том, как и в каких ситуациях вы можете попробовать исправить ошибки SSH. Остальные статьи расскажут, как определить и устранить следующие ошибки:

  • Проблемы с подключением к серверу: здесь вы узнаете, как исправить ошибки подключения к серверу.
  • Ошибки протокола: в этой статье вы узнаете, что делать, если сбрасываются клиентские соединения, клиент жалуется на шифрование или возникают проблемы с неизвестным или измененным удаленным хостом.
  • Ошибки аутентификации: поможет устранить проблемы с парольной аутентификацией или сбросом SSH-ключей.

Установив соединение SSH, вы получаете доступ к удалённой среде оболочки. Это руководство поможет исправить самые распространённые ошибки, которые могут возникнуть на данном этапе.

Требования

  • Убедитесь, что можете подключиться к виртуальному серверу через консоль.
  • Проверьте панель на предмет текущих проблем, влияющих на работу и состояние сервера и гипервизора.

Основные ошибки

Не открывается домашний каталог

Иногда в системе нарушаются права собственности и доступа, и это вызывает проблемы с доступом к домашнему каталогу. Появляется ошибка:

Could not chdir to home directory /home/user: Permission denied
Error
Could not chdir to home directory /home/user: Input/output error
Error
Could not chdir to home directory /home/user: No such file or directory

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

Учётная запись недоступна

У некоторых пользователей системы отключена оболочка входа. При запросе оболочка не будет отвечать. Это вызовет ошибку:

This account is currently not available.

  • Запрашиваемый пользователь не предназначен для рутинной работы, потому доступ к командной оболочке отключен.
  • Пользовательской оболочке присвоен параметр nologin, true или false. В этом случае вы можете обновить пользовательскую оболочку.

Ресурс временно недоступен

Для работы SSH (как и любого другого сервиса) требуются системные ресурсы. Это означает, что SSH может не открыть среду оболочки, если сервер находится в условиях ограниченных ресурсов. Такие условия возникают при исчерпывании системной памяти, сбоях среды выполнения и т. п.

ssh: connect to host example.com port 22: Resource temporarily unavailable

Проблемы с ресурсами довольно сложно устранить; во многом методы будут зависеть от типа вашего сервера.

Устранение неполадок

Проверка домашнего каталога

Чтобы проверить права доступа и собственности на домашний каталог, нужно подключиться к серверу через консоль как пользователь root. Убедитесь, что каталог /home существует (для этого можно использовать утилиту stat).

Читайте также:  Linux listen port show

Если каталог существует в системе, убедитесь, что пользователь имеет права доступа (минимум 700) и права собственности на него.

Примечание: Имеются в виду права обычного пользователя, а не root.

Обновление оболочки

Откройте консоль, войдите как пользователь root или sudo.

Просмотрите файл /etc/passwd или запросите данные с помощью getent.

В выводе команды найдите /usr/sbin/nologin:

Чтобы обновить оболочку, используйте команду usermod и укажите рабочую оболочку, например, /bin/bash.

Теперь попробуйте снова получить доступ к оболочке пользователя.

Устранение проблем с ресурсами

Устранение проблем с ресурсами – очень специфическая ситуация.

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

Если вы не можете войти в систему через веб-консоль, последний вариант –перезагрузить сервер. В зависимости от причины нехватки ресурса вы либо сразу попадёте в ту же среду, либо успеете получить доступ к консоли до того, как случится ошибка Unable to fork process при попытке запустить команду. После перезагрузки очень важно поймать момент и использовать веб-консоль или SSH-соединение с сервером, прежде чем они перестанут отвечать.

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

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Решение проблемы «E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock» в Kali Linux

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

E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен) E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?

В Интернете уже достаточно часто обсуждалась эта ошибка, но я решил вернуться к её решению, поскольку обычно дают неправильный совет, что нужно удалить /var/lib/dpkg/lock. Если не было аварийного завершения работы менеджера пакетов apt, то не надо удалять файлы-блокировщики. Это приведёт к тому, что apt при последующем использовании будет сообщать об ошибке и придётся запускать команду для наведения порядка в пакетах.

Причина ошибки в том, что apt уже работает в фоне — скорее всего, просто скачивает пакеты обновлений, поскольку по умолчанию apt не устанавливает обновления самостоятельно.

Для других дистрибутивов это вызывает временное неудобство, поскольку нужно подождать, когда apt завершит свои фоновые задачи. Если нужно скачать много пакетов, а Интернет-соединение медленное, то придётся довольно долго ждать. Для Kali Linux, специализированного дистрибутива, такое поведение может для некоторых быть вообще неприемлемым. Кстати, авторы Kali Linux утверждают, что по умолчанию сетевые службы отключены. Тем не менее apt всё равно может автоматически скачивать обновления в фоне, когда вы об этом не подозреваете.

Дело в том, что, например, окружение рабочего стола (GNOME) могут запускать apt в фоне. Я, вроде бы, нашёл все настройки, после отключения которых apt уже никогда не будет ничего загружать без вашего ведома. Если после их применения у вас всё равно возникла ошибка «Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock — open (11: Ресурс временно недоступен)», пишите в комментариях — будем копать ещё глубже.

Читайте также:  Этапы установки linux кратко

Итак, начинаем с самого очевидного, отключаем скачивание обновлений по расписанию. Проверить, включены ли какие-либо автоматические обновления, можно командой:

systemctl list-unit-files | grep enabled | grep apt
sudo systemctl disable apt-daily-upgrade.timer sudo systemctl disable apt-daily.timer

Теперь отключаем Unattended (самостоятельные) обновления, для этого откройте файл файл /etc/apt/apt.conf.d/20auto-upgrades

sudo gedit /etc/apt/apt.conf.d/20auto-upgrades

в нём имеются следующие строки:

APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";

Первая отвечает за обновление списка пакетов, а вторая – за обновления самих пакетов в системе. Вместо единиц впишете нули.

Теперь проверьте, настроен ли GNOME делать автоматические обновления:

gsettings get org.gnome.software download-updates

Если будет выведено true, значит да, графическая оболочка также в фоне скачивает обновления.

Чтобы это отключить выполните:

sudo gsettings set org.gnome.software download-updates false

Аварийное завершение работы во время обновления системы или установки программ

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

sudo rm /var/lib/dpkg/lock sudo rm /var/lib/dpkg/lock-frontend

Скорее всего, чтобы вновь появилась возможность использовать apt понадобиться выполнить следующую команду, для исправления проблем:

Источник

Ошибка при выполнении apt: Unable to acquire the dpkg lock /var/lib/dpkg/lock

Ошибка может появляться не только при выполнении apt install, но и при любых других действиях с apt или apt-get.

Сообщение об ошибке может немного отличаться в зависимости от различных условий. Например, могут появляться следующие ошибки:

E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? E: Could not get lock /var/lib/apt/lists/lock – open (11: Resource temporarily unavailable) E: Unable to lock directory /var/lib/apt/lists/ E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

Как исправить

Данные ошибки появляются, когда программа apt-get (apt) не может получить доступ к файлу блокировки /var/lib/dpkg/lock* . Данный файл используется, чтобы запретить одновременное выполнение операций, связанных с управлением пакетами в системе, так как при одновременном изменении данных о пакетах будет нарушена целостность «пакетной базы».

Обычно существует две основные причины появления, описанных выше ошибок:

  1. В данный момент уже выполняется экземпляр программы apt-get (apt).
  2. Предыдущий вызов apt-get (apt) завершился некорректно.

Способ первый

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

Вывод команды может быть следующим:

root 9425 0.0 0.0 79516 3752 pts/1 S+ 10:31 0:00 sudo apt-get install inkscape pingvin+ 9456 0.0 0.0 38892 944 pts/0 S+ 10:32 0:00 grep --color=auto -i apt

dpkg lock завершение apt

В первой строке мы видим, что уже есть работающий экземпляр программы apt-get, который имеет PID (идентификатор) 9425. Вторая строка относится к нашей команде grep, которую мы запустили с аргументом apt, поэтому она вывела саму себя. Итак, нас интересует только первая строка.

Читайте также:  Исходный код ядра linux

Если вы уверены, что не запускали программу apt-get сами, или она не запущена в фоновом режиме, например, выполняется автоматическое обновление системы, то нужно принудительно завершить ее выполнение. Для этого воспользуемся командой kill −9 . Команде нужно указать числовой идентификатор процесса. В нашем случае это 9425. Выполняем команду:

После выполнения данной команды, процесс с идентификатором 9425 завершится.

Можно воспользоваться еще одним простым способом — это завершить все экземпляры программ apt и apt-get сразу. Для этого можно выполнить команду:

Способ второй

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

Нам нужно удалить все файлы блокировки. Для этого выполняем команды:

sudo rm /var/lib/apt/lists/lock sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock sudo rm /var/lib/dpkg/lock-frontend

Если при выполнении каких-нибудь из этих команд появится сообщение: rm: невозможно удалить ’/var/../lock’: Нет такого файла или каталога , это нормально, не обращайте на него внимания.

После этого нужно выполнить переконфигурацию (донастройку) пакетов:

Заключение

Мы рассмотрели два способа решения ошибок, связанных с доступом к файлу блокировки dpkg. Как правило, эти способы помогают. Если у вас остались какие-либо вопросы, оставляйте их в комментариях.

Источник

unixforum.org

как под рутом, так и под обычным пользователем.
реагирует только на команды: cd, exit.
Что делать, как быть?

nesk Сообщения: 2268 Статус: Линукссаксовец ОС: MS Windows XP Home SP3 Контактная информация:

Re: bash: fork: Ресурс временно недоступен.

Сообщение nesk » 30.01.2009 00:02

Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

Re: bash: fork: Ресурс временно недоступен.

Сообщение binom » 30.01.2009 01:04

binom:/home/binom# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 4094
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 4094
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

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

Источник

Оцените статью
Adblock
detector