SharedTmpfsMaintainance: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Category:Admin == Советы, как не захламлять tmpfs общего пользования == === Собирайте в tmpfs; храните...»)
 
Нет описания правки
Строка 15: Строка 15:
теперь сборка будет происходить в {{path|$TMP/hasher}}. а ее результат будет сохраняться
теперь сборка будет происходить в {{path|$TMP/hasher}}. а ее результат будет сохраняться
в {{path|~/hasher/repo}}.
в {{path|~/hasher/repo}}.
=== Проверяйте размер $TMP по завершении работы с удаленной машиной ===
Чтобы не проверять руками, впишите проверки в скрипты
{{path|~/.zlogout}}
<source lang="bash">
clear
tmpusage=`du -sh $TMP 2>/dev/null | awk '{print $1}'`
if [ "$tmpusage" != 0 ]; then
        ls $TMP
        echo tmp usage on `hostname`:
        du -sh $TMP
fi
setopt norcs
</source>
{{path|~/.bash_logout}}
<source lang="bash">
# ~/.bash_logout
clear
tmpusage=`du -sh $TMP 2>/dev/null | awk '{print $1}'`
if [ "$tmpusage" != 0 ]; then
        ls $TMP
        echo tmp usage on `hostname`:
        du -sh $TMP
fi
</source>


=== Создайте единый скрипт очистки ===
=== Создайте единый скрипт очистки ===

Версия от 13:25, 14 декабря 2016



Советы, как не захламлять tmpfs общего пользования

Собирайте в tmpfs; храните результаты сборки на диске.

к примеру, пусть вы используете по умолчанию $TMP/hasher.

$ cat .hasher/config 
workdir=$TMP/hasher

сделайте ~/hasher постоянным хранилищем для $TMP/hasher. Для этого впишите в ~/.bashrc, ~/.zshrc

mkdir -p $TMP/hasher; ln -sf ~/hasher/repo $TMP/hasher

теперь сборка будет происходить в $TMP/hasher. а ее результат будет сохраняться в ~/hasher/repo.

Проверяйте размер $TMP по завершении работы с удаленной машиной

Чтобы не проверять руками, впишите проверки в скрипты

~/.zlogout

clear
tmpusage=`du -sh $TMP 2>/dev/null | awk '{print $1}'`
if [ "$tmpusage" != 0 ]; then
        ls $TMP
        echo tmp usage on `hostname`:
        du -sh $TMP
fi
setopt norcs

~/.bash_logout

# ~/.bash_logout

clear
tmpusage=`du -sh $TMP 2>/dev/null | awk '{print $1}'`
if [ "$tmpusage" != 0 ]; then
        ls $TMP
        echo tmp usage on `hostname`:
        du -sh $TMP
fi

Создайте единый скрипт очистки

Например, скрипт ~/bin/CLEANUP

#!/bin/sh
for hasherdir in $TMP/hasher*; do
    if [ -d "$hasherdir" ]; then
            set -x
            [ -d "$hasherdir/chroot" ] && hsh-rmchroot $hasherdir
            set +x
            rm -rf "$hasherdir"
        fi
    done
done

# Собирайте в tmpfs; храните результаты сборки на диске.
mkdir -p $TMP/hasher
ln -s ~/hasher/repo $TMP/hasher/

if [ -d ~/LP ]; then
    rm -rf ~/LP/noarch
    rm -rf ~/LP/x86_64
fi

rm -rf $TMP/rpm-tmp.?????
rm -rf $TMP/src-rpm-unpacked.????????