MarshallPrice, да любой, главное чтобы была нормальная скорость и стабильность
да и в комментариях под предыдущим вашим вопросом я уже указывал на проблему с репами и даже говорил как исправить, но видать вы не достаточно внимательны
xotkot, Вы правы, я просто не понял действия, которые нужно сделать.
Сейчас зеркало поменял, прописал sudo pacman-mirrors -g
sudo pacman -Syyuu и всё работает.
Вопрос не в тему, но из-за чего происходят такие сбои? Это сервак ложаться у них и поэтому больше нету доступа?
И я правильно понимаю, что когда я хочу скачать какой-то пакет, он ищет его на серверах, в котором он есть, будь то Южная Африка, Австралия , или Германия. Он быстро пробегает по ближайшим серверам с нужным пакетом и если находит его, то скачивает, или тут другой принцип?
MarshallPrice, Обычный принцип любого пакетного менеджера - искать пакет на любом доступном сервере в порядке их перечисления. То есть сначала ищем на сервере А, потом на сервере B etc. Загрузка начнется с первого обнаруженного сервера или же, если нет нигде - будет ошибка.
Почему сервер перестал пускать - это можно узнать только у его команды поддержки. Например данная версия дистриба больше не поддерживается или рожей не вышел.
Вопрос не в тему, но из-за чего происходят такие сбои? Это сервак ложаться у них и поэтому больше нету доступа?
там же написано - The requested URL returned error: 403 Ошибка 403, в общем проблемы скорее всего на стороне сервера
да и сервер какой-то непонятный, по крайней мере я не вижу его среди рекомендованных репозиториев на оф сайте манджары, возможно он когда-то и был там и его убрали по каким то причинам, но лучше такие не использовать и выбрать боле менее стабильный из списка.
И я правильно понимаю, что когда я хочу скачать какой-то пакет, он ищет его на серверах, в котором он есть, будь то Южная Африка, Австралия , или Германия. Он быстро пробегает по ближайшим серверам с нужным пакетом и если находит его, то скачивает, или тут другой принцип?
тут другой принцип
когда вы скачиваете какой либо пакет из оф.реп(core, extra, community, multilib), например для ripgrep: $ sudo pacman -S ripgrep
то информация по данному пакету ищется в базе на вашем компе, которая находится по адресу: $ pacman-conf DBPath
по дефолту это /var/lib/pacman/, там есть две папки sync и local
в первую папку sync как раз и скачиваются(синхронизируются)(-y) базы оф.реп $ sudo pacman -Sy
заметь не сами пакеты а тока базы(core, extra, community, multilib) по ним где хранится информация по всем пакетам в оф.репе; core.db и другие это по сути своей архив core.db.tar.gz который содержит набор папок имена которых соответствует имени пакета и его версии, а уже в самих этих папках содержится несколько файлов с подробной информацией по пакету. Информацию для каждого пакета можно посмотреть используя ключ (-i), например: pacman -Si ripgrep
вторая же папка local это общая локальная информационная база по установленным пакетам, информация по которым берется с баз в папке sync, тупо копируется из архива базы нужные папки без разделения на core, extra, community, multilib
смотреть информацию именно по установленному(-Q) в системе пакету: pacman -Qi ripgrep
если такой не установлен то:
pacman -Qi zzuf
ошибка: пакет 'zzuf' не найден
хоть такой пакет и будет присутствовать в общей базе и при -Si выдаст по нему информацию.
То есть, по сути, когда мы устанавливаем кокой либо пакет, например ripgrep, то pacman ищет по нему информацию в базах core.db, extra.db, community.db, multilib.db по адресу /var/lib/pacman/sync , если находит то копирует из базы нужную папку с информацией по пакету в /var/lib/pacman/local/ (например /var/lib/pacman/local/ripgrep-13.0.0-2) после чего(ну или перед этим, не разбирался) идёт на сервер который указан в /etc/pacman.d/mirrorlist и качает нужный пакет в pacman-conf CacheDir
после чего уже устанавливает его в вашу систему
если отвечать конкретно по вопросу то pacman при установке не ищет пакеты на сервере, он их уже напрямую скачивает после того как нашел его у себя в базе которую предварительно синхронизировал с выбранным сервером.
И еще, пакеты нельзя ставить из разных серверов предварительно не синхронизировавав свои базы с базами сервера, то есть при смене зеркала нужно(как вы и писали выше): sudo pacman -Syyuu
где вторая -y принудительно скачивает базы с сервера, а вторая -u проверяет установленные пакеты в системе и если версия на новом сервере будет меньше чем есть то произойдет откат версии пакета. Связанно это с тем что сервера имеют разное время синхронизации с основным сервером, поэтому могут в одно и тоже время иметь разные версии пакетов и если предварительно не синхронизироваться при смене зеркала то можно ненароком наловить конфликтов в базе пакетов.
если же вы используете только одно зеркало то для обновления достаточно и sudo pacman -Syu
У меня была ошибка в ссылке на одном из серверов Австралии, почему он не пошел дальше искать по другим серверам?
покажите свой /etc/pacman.d/mirrorlist
проверка доступности серверов в mirrorlist идёт сверху вниз, а также они должны быть разкомментированы
xotkot, спасибо, уже стало более понятнее :). Вы бы не могли подсказать, где бы найти больше информации об этом всём связанное с Linux? Может книга, курс, видео или просто со временем полученный опыт?
MarshallPrice,
с /etc/pacman.d/mirrorlist у вас походу уже всё в порядке и я так полагаю он был обновлён утилитой pacman-mirrors которую вы упомянули выше, это спец утилита manjaro, в чистом арче же для подобных целей используют reflector
но я привык обновлять mirrorlist ручками, благо там ничего сложного нету и можно сразу подобрать нормальный сервер для обновлений.
Вы бы не могли подсказать, где бы найти больше информации об этом всём связанное с Linux? Может книга, курс, видео или просто со временем полученный опыт?
инфы по linux в инете полно главное брать посвежее а то много чего может устареть, если конкретно по Arch(для Manjaro тоже подойдет) то много чего полезного можно найти в archwiki просто вбиваете в поиск интересующие вас темы, программы или даже путь к конфигу, например wifi, firefox, ssd, Процесс загрузки Arch, /etc/fstab и т.д. единственное стараться ориентировать на англоязычный вариант так как там быстрее всего обновляется информация.
Новичку поначалу нужно возвести устойчивый фундамент когда даже если он не понимает чего-то то может быстро в этом разобраться.
Для начала конечно необходимо понять для чего и какие базовые утилиты линукс используются, а после освоить хотя бы на базовом уровне Bash, ну а дальше уже в зависимости от вашего интереса и направленности сами поймете куда расти.
Ну конкретно это вопрос о том, как работает пакетный менеджер pacman. Ну так можете на вики арча прочесть про него, man pacman прочесть, pacman --help.