Почему большинство зеркал репозиториев Arch мертвы?

Лучший способ решить эту проблему — использовать библиотеку terminfo. Это намного, намного проще, чем запоминать escape-коды, и, как правило, менее подвержено ошибкам. (Он также не зависит от терминала, но я подозреваю, что в наши дни маловероятно, что вы будете использовать терминальное устройство, не -ANSI.)

# Use reversed colours
tput smso
echo hello, world
tput rmso

Вы даже можете поместить коды в переменные программно, вот так

smso=$(tput smso)
rmso=$(tput rmso)

echo "${smso}Hello again${rmso}"

Также есть элементы управления цветом, использующие tput setf {colour}и tput setb {colour}. (Найдите man terminfo«Обработка цвета». )Они более неудобны, поэтому для их обработки я обычно использую небольшой скрипт

colour blue yellow
echo this is blue on yellow

Вот скрипт

#!/bin/sh
#
# Take a pair of colours and set the foreground and background,
# respectively.
#
########################################################################
#
NULL=/dev/null

fg="$1"
bg="$2"


########################################################################
# Translate a colour name to the corresponding ANSI index value
#
colourNo ()
{
    case "$1" in
        black|0)        echo 0  ;;
        blue|1)         echo 1  ;;
        green|2)        echo 2  ;;
        cyan|3)         echo 3  ;;
        red|4)          echo 4  ;;
        magenta|5)      echo 5  ;;
        yellow|6)       echo 6  ;;
        white|7)        echo 7  ;;
    esac
    return
}


########################################################################
# Go
#
if test "X$1" = 'X-?'
then
    progname=`basename "$0"`
    echo "Usage:  $progname  [<fg_colour>|-  [bg_colour]]" >&2
    exit 1
fi

if test -n "$fg" -a "X$fg" != "X-"
then
    colour=`colourNo "$fg"`
    test -n "$colour" && tput setf "$colour"
fi

if test -n "$bg" -a "X$bg" != "X-"
then
    colour=`colourNo "$bg"`
    test -n "$colour" && tput setb "$colour"
fi

exit 0
3
30.08.2019, 05:12
1 ответ

Зеркальные репозитории Arch Linux часто удаляют пакеты не самой последней версии. Arch также не поддерживает частичные обновления системы, так что, если быть точным, вам нужно:

pacman -Syu

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

pacman -S <package>
3
27.01.2020, 21:17

Теги

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