Немного информации:
1. Что такое квотирование?
Квотирование позволяет ограничить два аспекта использования диска: количество файлов, которыми владеет пользователь или группа пользователей; и количество блоков диска, которые может использовать пользователь или группа пользователей. Квотирование определяется, как для каждого пользователя, так и для каждой файловой системы. Если у вас несколько разделов, то квоты нужно определить для каждого раздела, в котором пользователь намеревается создавать файлы.
2. Программное обеспечение
В зависимости от дистрибутива, у вас может быть, а может и не быть установлено программное обеспечение для поддержки квотирования. В этом случае, вы можете загрузить исходные тексты отсюда:
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz
3. Установка
Пересоберите ядро с поддержкой квот. А дальше все написано в мануалах.
А теперь главное:
Как быстро определить закончилась квота у пользователя или нет? правильно, командой quota или repquota! А как увеличить квоту? правильно, командой setquota! а как все это делать быстро? а вот это мы сейчас и рассмотрим
#!/bin/sh
echo "Программа проверки пользовательских квот"
echo "Введите имя пользователя"
read USR # прочитали имя пользователя
MAIL=$USR@local # написали почтовый адрес
TEXT="Обратите внимание на содержимое вашей папки" # текст письма
RESULT=`repquota -u -a |grep $USR` # смотрим какой размер квоты у пользователя
USED=`echo $RESULT | tr -s ' ' ':' | cut -d : -f 3` # смотрим сколько место у пользователя затрачено
QUOTA=`echo $RESULT | tr -s ' ' ':' | cut -d : -f 5` # вообще вся его квота
MINQUOTA=$((QUOTA*90/100)) # минимальный размер квоты = 90% от квоты
NQUOTA=$((QUOTA*110/100)) # новый размер квоты = старая +10%
if [ $USED -ge $MINQUOTA ]; # если затрачено 90% и более, то
then setquota -u $USR -a 0 $NQUOTA 0 0; # устанавливаем размер квоты в 110%
echo "Изменен размер квоты" | mail -v -r "root@local" -s $TEXT -S smtp=192.168.11.15 $MAIL # от правляем письмо с уведомлением
echo "Установлена квота размером: " $NQUOTA;
exit;
else # если использовано менее 90% то все ок!
echo "Использовано: " $USED;
echo "Всего: " $QUOTA;
exit;
fi
11/19/2008
11/18/2008
Задачки на собеседованиях
Встречаются 2 человека :
- Привет!
- Привет!
- Как дела?
- Хорошо. Растут два сына, дошкольника.
- А сколько им лет?
- Произведение их возрастов равно числу голубей около этой скамейки.
- Этой информации мне не достаточно...
- Старший похож на мать.
- Вот теперь я знаю ответ на свой вопрос.
Вопрос: сколько лет сыновьям?
(Задача была на олимпиаде для пятиклассников в этом году).
- Привет!
- Привет!
- Как дела?
- Хорошо. Растут два сына, дошкольника.
- А сколько им лет?
- Произведение их возрастов равно числу голубей около этой скамейки.
- Этой информации мне не достаточно...
- Старший похож на мать.
- Вот теперь я знаю ответ на свой вопрос.
Вопрос: сколько лет сыновьям?
(Задача была на олимпиаде для пятиклассников в этом году).
11/16/2008
Читайте маны, господа.
Читая документацию к программе Google Earth наткнулся на очень интересную вещь. Оказывается, в этой программе есть АвиаСимулятор. Запускается он с помощью комбинации клавиш, Ctrl+Alt+a.
С помощью имитатора полета можно прилететь в любую точку на земном шаре.
В качестве устройства ввода поддерживается Мышка, клавиатура и джойстик.
С помощью имитатора полета можно прилететь в любую точку на земном шаре.
В качестве устройства ввода поддерживается Мышка, клавиатура и джойстик.
11/12/2008
Украшаем Bash
Вдруг если кому то надоело стандартное приглашение bash, то можно его несколько приукрасить. Итак, читаем документацию по баш (кстати это очень удобно делать с помощью emacs'a), и открываем для себя переменную PS1, значение этой переменной, интерпретируется как основное приглашение командной строки.
Цвета символов терминала обозначаются с помощью следующих числовых кодов:
#Black 0;30 Dark Gray 1;30
#Blue 0;34 Light Blue 1;34
#Green 0;32 Light Green 1;32
#Cyan 0;36 Light Cyan 1;36
#Red 0;31 Light Red 1;31
#Purple 0;35 Light Purple 1;35
#Brown 0;33 Yellow 1;33
#Light Gray 0;37 White 1;37
На самом же деле в терминале они задаются с помощью хитрых escape -последовательностей. Для простоты можно обозначить цвета с помощью переменных:
RED="\[\033[0;31m\]"
YELLOW="\[\033[1;33m\]"
L_BLUE="\[\033[0;36m\]"
EMPTY="\[\033[0m\]"
Теперь настраиваем приглашение:
export PS1="$RED[$YELLOW\A$RED] $L_BLUE\u@\h:\w >$EMPTY "
По порядку слева на право:
export PS1 - экспортируем переменную, PS1, равную вот такой длинной строке.
$RED[ - устанавливаем цвет в красный, и печатаем открывающую скобку
$YELLOW\A - устанавливаем цвет в желтый, и выводим текущее время в HH:MM формате. Более полный список последовательностей можно посмотреть в секции PROMPTING в документации по bash.
$RED] устанавливаем цвет в красный, и печатаем закрывающую скобку
$L_BLUE\u@\h - устанавливаем цвет в голубой что ли ), и выводим имя пользователя@имя_хоста.
:\w>$EMPTY - затем выводим полный путь к текущему каталогу и символ ">", после которого сообщаем bash'у, что все остальные символы ни каким цветом раскрашивать не надо.
Вот собственно и все.
Более подробную информацию можно почерпнуть из манула.
А выглядит это примерно так:
Цвета символов терминала обозначаются с помощью следующих числовых кодов:
#Black 0;30 Dark Gray 1;30
#Blue 0;34 Light Blue 1;34
#Green 0;32 Light Green 1;32
#Cyan 0;36 Light Cyan 1;36
#Red 0;31 Light Red 1;31
#Purple 0;35 Light Purple 1;35
#Brown 0;33 Yellow 1;33
#Light Gray 0;37 White 1;37
На самом же деле в терминале они задаются с помощью хитрых escape -последовательностей. Для простоты можно обозначить цвета с помощью переменных:
RED="\[\033[0;31m\]"
YELLOW="\[\033[1;33m\]"
L_BLUE="\[\033[0;36m\]"
EMPTY="\[\033[0m\]"
Теперь настраиваем приглашение:
export PS1="$RED[$YELLOW\A$RED] $L_BLUE\u@\h:\w >$EMPTY "
По порядку слева на право:
export PS1 - экспортируем переменную, PS1, равную вот такой длинной строке.
$RED[ - устанавливаем цвет в красный, и печатаем открывающую скобку
$YELLOW\A - устанавливаем цвет в желтый, и выводим текущее время в HH:MM формате. Более полный список последовательностей можно посмотреть в секции PROMPTING в документации по bash.
$RED] устанавливаем цвет в красный, и печатаем закрывающую скобку
$L_BLUE\u@\h - устанавливаем цвет в голубой что ли ), и выводим имя пользователя@имя_хоста.
:\w>$EMPTY - затем выводим полный путь к текущему каталогу и символ ">", после которого сообщаем bash'у, что все остальные символы ни каким цветом раскрашивать не надо.
Вот собственно и все.
Более подробную информацию можно почерпнуть из манула.
А выглядит это примерно так:
Базовые настройки Emacs
При каждом запуске Emacs, в отдельном буфере (про буферы я расскажу позже), постоянно выскакивает надоедливая заставка.
Ее можно отключить, добавив в конфигурационный файл строчку:
(setq inhibit-startup-message t)
При наборе ошибочной команды, или при возникновении ошибочной ситуации Emacs постоянно (надоедливо) пищит. Его можно попросить визуально сообщать о возникновении ошибки:
(setq visible-bell t)
На моей системе (Gentoo Gnu/Linux), Emacs использует не очень красивый шрифт, следующая строчка будет радовать глаз пользователя, при условии что описанный шрифт установлен в вашей системе:
(set-default-font "Bitstream Vera Sans Mono-11")
Меня также очень напрягает писать код на белом фоне. Чтобы изменить цвет фона запишем:
(set-background-color "wheat3")
Для того, чтобы Emacs подсвечивал выделенные текст, между двумя метками (по умолчанию он этого не делает), необходимо ему сказать:
(setq transient-mark-mode 1)
Так же целесообразно было бы изменить и цвет выделения:
(set-face-background 'region "gray85")
Для себя, выставил размер запускаемого окна шириной в 81 символ и высотой в 50 символов:
(setq default-frame-alist (append (list
'(width . 80) ; Width set to 81 characters
'(height . 50)) ; Height set to 60 lines
default-frame-alist))
Также весьма удобно, чтобы Emcas показывал, в какой позиции в текущее время находится курсор:
(column-number-mode 1) ;; отображает номер столбца символа
(line-number-mode 1) ;; отображает номер строки
При отображении основного окна редактора, у меня не отображаются полоски прокрутки, строка меню, тулбар, и прочие ненужные элементы управление,
поэтому весьма удобно чтобы в заголовке отображался полный путь редактирования к файлу:
(setq frame-title-format "emacs - %f")
Ее можно отключить, добавив в конфигурационный файл строчку:
(setq inhibit-startup-message t)
При наборе ошибочной команды, или при возникновении ошибочной ситуации Emacs постоянно (надоедливо) пищит. Его можно попросить визуально сообщать о возникновении ошибки:
(setq visible-bell t)
На моей системе (Gentoo Gnu/Linux), Emacs использует не очень красивый шрифт, следующая строчка будет радовать глаз пользователя, при условии что описанный шрифт установлен в вашей системе:
(set-default-font "Bitstream Vera Sans Mono-11")
Меня также очень напрягает писать код на белом фоне. Чтобы изменить цвет фона запишем:
(set-background-color "wheat3")
Для того, чтобы Emacs подсвечивал выделенные текст, между двумя метками (по умолчанию он этого не делает), необходимо ему сказать:
(setq transient-mark-mode 1)
Так же целесообразно было бы изменить и цвет выделения:
(set-face-background 'region "gray85")
Для себя, выставил размер запускаемого окна шириной в 81 символ и высотой в 50 символов:
(setq default-frame-alist (append (list
'(width . 80) ; Width set to 81 characters
'(height . 50)) ; Height set to 60 lines
default-frame-alist))
Также весьма удобно, чтобы Emcas показывал, в какой позиции в текущее время находится курсор:
(column-number-mode 1) ;; отображает номер столбца символа
(line-number-mode 1) ;; отображает номер строки
При отображении основного окна редактора, у меня не отображаются полоски прокрутки, строка меню, тулбар, и прочие ненужные элементы управление,
поэтому весьма удобно чтобы в заголовке отображался полный путь редактирования к файлу:
(setq frame-title-format "emacs - %f")
Несколько слов об Emacs
В своей повседневной работе для редактирования любых текстов, я использую среду Gnu/Emacs. (Произносится как Имакс)
Установка:
Я использую Emacs из cvs, потому что в нем по умолчанию используется Unicode, есть человеческая поддержка русского языка и нормально работает антиалиасинг для шрифтов.
Выгружаем Emacs из репозитория:
Перед началом использования я настоятельно рекомендую прочитать Emacs User Guide, т.к. там даны все ответы на вопросы, возникающие на первых порах использования редактора.
Настраивать среду можно или с помощью конфигурационного файла, который можно найти по адресу $HOME/.emacs, или же с помощью встроенного конфигуратора,
запустить который можно выбрав в меню Options->Customize Emacs.
Лично мне кажется что проще редактор настраивать через конфигурационный файл.
В нем содежатся инструкции, написанные на языке Lisp. Пугаться не стоит, так как все очень понятно и наглядно.
Для упрощения конфигурирования редактора, настройки можно вынести в отдельный файл. Например для настройки режима редактирования C++ настройик можно вынести в файл cpp_mode_conf.el,
затем просто подключить его в основном конфиге
написав:
(load /path/to/el_file/cpp_mode_conf.el)
Комментарии в конфиг файле начинаются с символов ;;
;; bla bla
Бытует мнение, что для работы в среде Emacs необходимо иметь навыки игры на пиано, чтобы уметь одной рукой нажимать сразу несколько клавиш.
Это не так. Вам достаточно иметь три руки =).
Установка:
Я использую Emacs из cvs, потому что в нем по умолчанию используется Unicode, есть человеческая поддержка русского языка и нормально работает антиалиасинг для шрифтов.
Выгружаем Emacs из репозитория:
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs co emacsИ после некоторого ожидания, запускаем emacs.
далее
make bootstrap
./configure --with-x-toolkit --with-xft
make
make install
Перед началом использования я настоятельно рекомендую прочитать Emacs User Guide, т.к. там даны все ответы на вопросы, возникающие на первых порах использования редактора.
Настраивать среду можно или с помощью конфигурационного файла, который можно найти по адресу $HOME/.emacs, или же с помощью встроенного конфигуратора,
запустить который можно выбрав в меню Options->Customize Emacs.
Лично мне кажется что проще редактор настраивать через конфигурационный файл.
В нем содежатся инструкции, написанные на языке Lisp. Пугаться не стоит, так как все очень понятно и наглядно.
Для упрощения конфигурирования редактора, настройки можно вынести в отдельный файл. Например для настройки режима редактирования C++ настройик можно вынести в файл cpp_mode_conf.el,
затем просто подключить его в основном конфиге
написав:
(load /path/to/el_file/cpp_mode_conf.el)
Комментарии в конфиг файле начинаются с символов ;;
;; bla bla
Бытует мнение, что для работы в среде Emacs необходимо иметь навыки игры на пиано, чтобы уметь одной рукой нажимать сразу несколько клавиш.
Это не так. Вам достаточно иметь три руки =).
Подписаться на:
Сообщения (Atom)