Системный вызов open()
не работает так, как вы описываете. Вместо этого он просит ядро открыть файл. Ядро знает, в какой файловой системе находится этот файл и с каким устройством он связан. Это может быть физический жесткий диск, блок памяти и т. д. Если связанное устройство представляет собой просто блок памяти, доступ к диску не выполняется.
Восстановить действительный файл списка зеркал из исходного источника:
$ sudo bash
# mkdir -p /etc/pacman.d
# curl -s "https://www.archlinux.org/mirrorlist/?country=US&country=GB&protocol=https&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' > /etc/pacman.d/mirrorlist
# pacman -S archlinux-keyring
# pacman -Syu
# exit
$
Список, который вы получаете, предназначен для некоторых конкретных стран; здесь используются США и ГБ. Не стесняйтесь вводить свою страну или страны рядом с вами.
Приведенная выше командная строка адаптирована из оригинальной документации на странице Archlinux Wiki на Mirrors . Я вошел в интерактивный режим в sudo
, чтобы иметь правильные права на перенаправление, и я удалил сортировку по скорости зеркала, потому что у вас может быть или не быть скрипта для сортировки.
РЕДАКТИРОВАТЬ :Если вы получаете ошибки о -не существующих зеркальных серверах, вы можете отредактировать файл /etc/pacman.d/mirrorlist
и закомментировать те, которые не работают, например.
$ sudo nano /etc/pacman.d/mirrorlist
===>
# comment out whole lines by hash like this:
# Server = https://mirror.0x.sg/archlinux/$repo/os/$arch
Server = https://mirror.netweaver.uk/archlinux/$repo/os/$arch
# Server = https://mirror.bytemark.co.uk/archlinux/$repo/os/$arch
(...)
Вы также можете создать Server
записи для этого файла вручную в генераторе зеркальных списков Archlinux Pacman . Установите флажок «Использовать состояние зеркала :» [X].
У меня возникла эта проблема на MSYS2 из-за списка зеркал clang64:
mkdir clang64_repair && cd clang64_repair
wget https://packages.msys2.org/package/pacman-mirrors?repo=msys&variant=x86_64
tar -I zstd -xvf./pacman-mirrors-*.pkg.tar.zst
cp./etc/pacman.d/mirrorlist.clang64 /etc/pacman.d/.
pacman -Syy
cd.. && rm -r clang64_repair