Как настроить добавление репозитория -apt -для автоматического обновления индекса пакетов в Debian?

У вас уже есть IP-адрес; так что вы можете просто использовать его:

for host in 1.5.4.7 1.5.3.9; do
    ssh core@$host "sudo grep -A 2 hi /home/abc.txt" && \
    printf "%s\n" "$host"
done

Запуск hostname, как в примере кода в вашем вопросе, выведет имя хоста , а не IP-адрес , который вы сказали, что хотите.

Использование &&для разделения команд приведет к запуску последующей команды только в том случае, если (и только если )код выхода последующей команды равен нулю;если grepне находит совпадений, он не возвращает ноль и вторая команда не выполняется.

Кроме того, хотя я мало что знаю о вашем конкретном -случае использования, я обычно считаю, что при запуске подобных вещей легко показать хост до вывода того, что должно быть запущено на хосте. а не после , но это так же просто, как переместить оператор printf(или, если хотите, вы можете использовать echo "$host"вместо ).

1
04.01.2021, 14:59
2 ответа

В версии, доступной в Debian 10, параметр -uбудет обновлять кеш пакетов:

sudo add-apt-repository -u...

(Это не описано на справочной странице.)

Вы можете изменить значение по умолчанию, отредактировав/usr/bin/add-apt-repository:изменить значение по умолчанию в

    parser.add_option("-u", "--update", action="store_true",
        dest="update", default=False,
        help=_("Update package cache after adding"))
5
18.03.2021, 22:38

На основе ответа @Stephen Kitt,Я скопировал add-apt-repositoryиз Ubuntu bionic в свою стабильную версию Debian :

.
wget http://security.ubuntu.com/ubuntu/pool/main/s/software-properties/software-properties-common_0.96.24.32.14_all.deb
ar x software-properties-common_0.96.24.32.14_all.deb
tar xvf data.tar.xz

Чтобы отобразить разницу между двумя файлами, (подтвердите принятый ответ)

diff usr/bin/add-apt-repository /usr/bin/add-apt-repository

Замена существующего файла:

sudo mv usr/bin/add-apt-repository /usr/bin/add-apt-repository
0
18.03.2021, 22:38

Теги

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