Функция обертки по запросу установкой для исполняемых файлов

Обычно вы сами не очищаете журнал. Это управляется самим systemd, а старые журналы выворачиваются по мере поступления новых данных. Правильным было бы запланировать ведение журнала так, чтобы в нем хранилось только столько данных, сколько вас интересует. Самое обычное, что можно настроить - это общее дисковое пространство, которое он может занять. Как только он пересекает эту границу, он начинает подставлять старые записи, чтобы они оставались рядом с этим значением.

Вы можете установить это в /etc/systemd/journald.conf так:

SystemMaxUse=100M

1
04.04.2014, 01:27
2 ответа

Примерно так:

# Install git on demand
function git()
{
    if ! type -f git &> /dev/null; then sudo $APT install git; fi
    command git "$@";
}

Встроенная команда подавляет поиск функции. Я также изменил ваш $ * на «$ @» , потому что он будет правильно обрабатывать аргументы, которые не состоят из одного слова (например, имена файлов с пробелами).

Кроме того, я добавил аргумент -f к типу , потому что в противном случае он заметит функцию.

Вы можете подумать, что делать в случае ошибки (например, при сбое apt-get install ).

2
27.01.2020, 23:28

Или, возможно, более общая функция, способная запускать любую команду. В этом случае "-f" можно заменить на "-t". Столкновения с функцией не произойдет.

function runcmd()
{
  if ! type -t $1 >/dev/null; then
    pkg=$(apt-file search -x "bin.*$1\$" | cut -d: -f1)
    sudo apt-get install $pkg
  fi
  eval "$@"
}

Конечно, необходимо обрабатывать ошибки «apt-get install».

1
27.01.2020, 23:28

Теги

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