сон не работает над Ubuntu 20.04 (WSL)

После обновления до 20,04 на сне WSL не работает с ошибкой:

sleep: cannot read realtime clock: Invalid argument
0
задан 24 April 2020 в 14:54

8 ответов

Это из-за ошибки в WSL1.Послушайте: https://discourse.ubuntu.com/t/ubuntu-20-04-and-wsl-1/15291

Предстоящая Ubuntu 20.04 реализует glibc 2.31. Если Вы не находитесь на Инсайдере, Вы еще не получили фиксацию для выпуска 4989, и вероятно не будет в течение пары месяцев. Без фиксации вещи имеют тенденцию повреждаться на Ubuntu 20.04 на WSL 1, иногда даже в процессе обновления 9 к Ubuntu 20.04. Например, htop не работает над Ubuntu 20.04 на неисправленном WSL 1.

0
ответ дан 25 April 2020 в 10:40

Эта команда сработала для меня. использовать с привилегиями пользователя root.

apt-mark hold libc6
apt --fix-broken install
apt full-upgrade
2
ответ дан 27 April 2020 в 10:59
wget https://launchpad.net/~rafaeldtinoco/+archive/ubuntu/lp1871129/+files/libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb

sudo dpkg --install libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb

sudo apt-mark hold libc6

sudo apt --fix-broken install

sudo apt full-upgrade

Как обновить Ubuntu 18.04 до 20.04 на WSL Windows 10

23
ответ дан 28 April 2020 в 14:21

Я только что установил Ubuntu 20.04 с помощью WSL 1 (моя версия Windows 10 — 1903, сборка ОС 18362.778) и получил эту ошибку при попытке запустить сервер Redis.

Благодаря ссылке Раджа на https://www.how2shout.com/how-to/how-to-upgrade-ubuntu-18-04-lts-to-20-04-lts-on-wsl. -windows-10.html Я исправил это, используя то, что там было предложено.

sudo -i
sudo mv /bin/sleep /bin/sleep~ ; touch /bin/sleep ; chmod +x /bin/sleep

После этого сервер Redis заработал нормально.

-2
ответ дан 12 May 2020 в 22:47

Только что столкнулся с этой проблемой, и я заменил двоичный файл /usr/bin/sleep скриптом Python, который примерно заменяет функциональность.

Создайте резервную копию /usr/bin/sleep и замените файлом со следующим содержимым

#!/usr/bin/env python3

import sys
import time

time.sleep(int(sys.argv[1]))

Не забудьте chmod +x /usr/bin/sleep после замены.

15
ответ дан 24 June 2020 в 20:26

Использование чтения в качестве альтернативного решения

sudo cp -p /usr/bin/sleep /usr/bin/sleep.orig
echo 'read -n1 -s -t$1 || true' | sudo tee /usr/bin/sleep
0
ответ дан 25 July 2020 в 09:21

Установка этого через dpkg на Surface Pro X решила эту проблему для меня, https://ubuntu.pkgs.org/19.10/ubuntu-updates-main-arm64/libc6_2.30-0ubuntu2.2_arm64.deb.html

После установки я запустил wsl -t Ubuntu в PowerShell, затем sudo apt -отметить удержание libc6.

-1
ответ дан 26 July 2020 в 12:43

Это далеко не идеально, но есть еще один обходной путь: отредактировать /var/lib/dpkg/info/libc6:amd64.postinst и закомментировать set -e в верхней части сценарий (вставьте # в качестве первого символа в строке).

Вы по-прежнему будете получать ошибку sleep: cannot read realtime clock: Invalid arguments, но это не приведет к прерыванию обновления пакета.

Это не идеально, потому что:

  1. Стандартный сценарий после установки изменен.
  2. Изменение сценария необходимо применять каждый раз при обновлении libc6.
1
ответ дан 29 July 2020 в 10:38

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

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