Трудно дать определенный ответ без более подробного описания ошибки, однако, это действительно кажется, что Ваш mirrorlist файл устарел или неправильно сконфигурирован в некотором роде.
Я записал быстрый сценарий для обновления файла без использования pacman:
#!/bin/bash
MIRRORS_URL="http://www.archlinux.org/mirrorlist/?country=United+States&protocol=ftp&protocol=http&ip_version=4"
MIRRORS_FILE=/etc/pacman.d/mirrorlist
wget -O $MIRRORS_FILE.rank $MIRRORS_URL
sed -i 's/^#//' $MIRRORS_FILE.rank
rankmirrors -n 6 $MIRRORS_FILE.rank > $MIRRORS_FILE
Короче говоря тот сценарий вытянет обновленный список зеркал, оценит их в порядке скорости и сохранит список в Вашем mirrorlist файле.
Данный URL предполагает желание зеркал в Соединенных Штатах, с помощью ftp или http и только IPv4. Можно изменить это путем движения в http://www.archlinux.org/mirrorlist и настройки его, как Вы считаете целесообразным.
После того как сценарий завершается, затем выполненный
sudo pacman -Syy
и надо надеяться это работает!
Править:
Между прочим, я забыл упоминать, что powerpill был удержан от использования.
Это зависит от того, что является выводом sensors
. Если Ваш что-то как мой:
% sensors
k10temp-pci-00c3
Adapter: PCI adapter
temp1: +44.0°C (high = +70.0°C)
затем можно использовать следующий сценарий, адаптируя его соответственно. Кроме того, TEMP_STOP
и TEMP_START
, необходимо изменить регулярное выражение, которое фильтрует строку от sensors
Вы хотите использовать. Это - параметр к grep
, в temp
функция.
#!/bin/bash
TEMP_STOP=98
TEMP_START=90
temp() {
sensors | grep '^temp1:' | sed -e 's/.*: \+\([+-][0-9.]\+\)°C.*$/0\1/'
}
while true; do
TEMP=$(temp)
# keep waiting until temp is too hot
while [ $(echo "$TEMP < $TEMP_STOP" | bc) = 1 ]; do
sleep 10
TEMP=$(temp)
done
echo temp $TEMP too hot, stopping.
# now wait for it to cool down...
while [ $(echo "$TEMP > $TEMP_START" | bc) = 1 ]; do
sleep 10
TEMP=$(temp)
done
echo ok now, restarting...
done