Исполнение любой внутренней команды zypper‘а, кроме разве что команды help, начинается с проверки актуальности данных о репозиториях и, при изменениях, попытки обновления локального их кэша. Что занимает немало времени.

Однако внимательный читатель по виду приглашения в приводимых выше примерах заметил, что любая из рассмотренных внутренних команд может быть выполнена обычным пользователем. И, очевидно, никакого обновления локальных репозиториев при этом происходить не может. Так что считывание данных о репозиториях в этом случае бесполезная трата времени и трафика, от чего не худо избавиться.

И такая возможность есть — благодаря глобальной опции --no-refresh, которую есть смысл использовать совместно с внутренними командами типа se, if и lr. Разумеется, постоянно набирать с ними такую длинную опцию (краткой формы она не имеет) — удовольствие сомнительное.

Но эта проблема решается в два шага. Первый из них — в профильном файле пользовательского шелла (login shell), например, в ~/.bashrc или ~/.zshrc, определить такой псевдоним:

alias zypper='zypper --no-refresh'

Второй шаг — выработать на рефлекторном уровне привычку: все действия через zypper, не требующие в обязательном порядке прав администратора, выполнять в сеансе обычного пользователя.


К содержанию | Шпаргалки по zypper’у