Что за баг? Простое переполнение буфера при попытке построить картинку с почасовым графиком. Пример:
$ vnstati -h -o /tmp/vnstatcgi/vnstat_0_h.png -i wlan0
...для себя и для всех
$ vnstati -h -o /tmp/vnstatcgi/vnstat_0_h.png -i wlan0
sudo aptitude install openvpnТеперь нужно сделать папку, в которую скопируем скрипты (в общем скрипты копировать не обязательно, но зато это удобнее):
mkdir ~/openvpnТеперь нам нужно экспортировать необходимые переменные (очень важно находиться в папке, из которой будут запускаться скрипты, у меня это ~/openvpn):
cp -vR /usr/share/doc/openvpn/examples/easy-rsa/2.0/* ~/openvpn
cd ~/openvpn
source ./varsЕсли в этом файле (./vars) подправить последние 5 строчек, то в дальнейшем в большинстве случаев вам не нужно будет вводить одно и тоже :) Вот эти строчки (дефолтовые):
export KEY_COUNTRY="US"Теперь делаем подготовку. Этот скрипт подготавливает минимум необходимого для начала работ по созданию сертификатов, а именно создает папку ./keys, в которой будут создаваться сертификаты, и в ней создает 2 файла index.txt и serial:
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
./clean-allНастало время сгенерировать корневой сертификат и Diffie-Hellman, а т.ж. ключ для tls аутентификафии. Запускаем:
./build-caЧасть работы сделана. Теперь нужно создать ключи для сервера и клиентов. Создаем ключ для сервера:
./build-dh
openvpn --genkey --secret keys/tls.key
./build-key-server root.server.ruИ для клиетов:
./build-key helpdesk.server.ru
./build-key mail.server.ru
./build-key KM.Guest
#daemon # Эту строчку надо расскомментировать, если сервер будет на пингвине, а т.ж. подправить пути к ключам и сертификатамТеперь нужно создать папку C:\Program Files\OpenVPN\config\clients с конфигами для каждого клиента. Я приведу пример только для одного, т.к. остальные создаются аналогично. Нужно создать файл C:\Program Files\OpenVPN\config\clients\helpdesk.server.ru.ovpn, который записать слудеющее:
mode server
tls-server
ifconfig 10.77.0.1 255.255.255.0
port 1194
proto tcp-server
dev tap
keepalive 10 120
# client-to-client # Это чтобы клиенты могли обмениваться трафиком, но для режима tun
comp-lzo
persist-key
persist-tun # В режиме tap игнорируется, но почему добавил уже не помню
ca "C:\\Program Files\\OpenVPN\\config\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\keys\\root.server.ru.crt"
key "C:\\Program Files\\OpenVPN\\config\\keys\\root.server.ru.key"
dh "C:\\Program Files\\OpenVPN\\config\\keys\\dh1024.pem"
tls-auth "C:\\Program Files\\OpenVPN\\config\\keys\\tls.key"
client-config-dir "C:\\Program Files\\OpenVPN\\config\\clients" # Тут у нас будут лежать конфиги для клиентов
#push "route 10.77.0.0 255.255.255.0 10.77.0.1" # Мне не нужно видеть внутренню сеть за серверами, поэтому я эту команду не использую
verb 3
log-append "C:\\Program Files\\OpenVPN\\config\\openvpn.log"
status "C:\\Program Files\\OpenVPN\\config\\openvpn.stat"
# приcваиваем ip-адрес клиентуЗамечу, что если у всех сетей будут одинаковые адреса (например, 3 сети и все 192.168.0.0/24), то компы, на которых стоит OpenVPN, могут жутко глючить с передачей пакетов, а то и вовсе не будут видеть сеть (ни OpenVPN, ни реальную).
ifconfig-push 10.77.0.11 255.255.255.0
# роутинг на сеть сервера (чтобы видеть его локальную сеть)
#push "route 192.168.0.0 255.255.255.0 10.77.0.1"
# роутинг на сеть второго клиента (это чтобы клиенты могли обмениваться трафиком)
#push "route 192.168.2.0 255.255.255.0 10.77.0.12"
clientТеперь можно запустить OpenVPN и проверить работу (потом лучше остановить, зачем он нам постоянно работающий на клиентах?):
pull
tls-client
dev tap
proto tcp
remote root.server.ru 1194 # Правда я указал IP-адрес сервера
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
ns-cert-type server
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/helpdesk.server.ru.crt
key /etc/openvpn/keys/helpdesk.server.ru.key
tls-auth /etc/openvpn/keys/tls.key
log-append /var/log/openvpn.log
status /var/log/openvpn.stat
sudo /etc/init.d/openvpn startНа винде все аналогично, за исключением путей. Ключи и сертификаты кладем в папку C:\Program Files\OpenVPN\config\keys, а конфиг в C:\Program Files\OpenVPN\config, только расширение я указал .ovpn, т.к. это нужно для виндового порта, т.е. имя файла конфига на виндовом клиенте у меня будет таким - to_root.server.ru.ovpn.
ping -c 3 10.77.0.1
clientИ точно так же проверяем работоспособность:
pull
tls-client
dev tap
proto tcp
remote root.server.ru 1194 # Правда я указал IP-адрес сервера
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
ns-cert-type server
ca "C:\\Program Files\\OpenVPN\\config\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\keys\\helpdesk.server.ru.crt"
key "C:\\Program Files\\OpenVPN\\config\\keys\\helpdesk.server.ru.key"
tls-auth "C:\\Program Files\\OpenVPN\\config\\keys\\tls.key"
log-append "C:\\Program Files\\OpenVPN\\config\\openvpn.log"
status "C:\\Program Files\\OpenVPN\\config\\openvpn.stat"
net start OpenVPNService
ping -n 3 10.77.0.1
# Копирование бэкапов (Linux)
/etc/init.d/openvpn start >>~/copy_bak.log 2&>1
sleep 3s
smbmount //10.77.0.1/bak ~/smb/ -o rw,iocharset=utf8,codepage=cp866,username='UserName',password='passwd' >>~/copy_bak.log 2&>1
sleep 3s
cp -Rfv /backup/folder ~/smb/ >>~/copy_bak.log 2&>1
sleep 5s
smbumount ~/smb/ >>~/copy_bak.log 2&>1
/etc/init.d/openvpn stop >>~/copy_bak.log 2&>1
# Копирование бэкапов (Windows) (тут пинг выступает в роли паузы)
net start OpenVPNService
ping -n 10 localhost
net use S: \\10.77.0.1\baks "PaSSwd" /user:UserName
ping -n 5 localhost
xcopy C:\path S:\ /e /h /r /y /f
ping -n 5 localhost
net use S: /delete
net stop OpenVPNService
ppa-key-import -aТ.ж. скрипт будет скопирован в /usr/bin. Это делается для того, чтобы если вы переместите скрипт в другое место он продолжал функционировать (apt-get же не знает о том, что вы переместили скрипт). Если добавить ключ "!", то скрипт перезапишет себя в /usr/bin и заново интегрируется (переинтегрируется) в apt-get:
ppa-key-import -a !Для удаления скрипта из системы и его интеграции из apt-get есть ключ "-a -":
ppa-key-import -a -Ключ скрипта "-b" предназначен для импорта ключей от бета-репозиториев:
ppa-key-import -bОн был добавлен из-за UbuntuOne, т.к. я не захотел ставить предложенный пакет, а решил все сделать ручками :)
man -L ru mcПример 2. Почитаем man bash на русском?:
man -L ru bashВ результате получаем облом... Нету мана для баша на русском, поэтому man показал нам его на английском :)
alias man='man -L ru'Теперь всегда вначале будет искаться ман на русском, а если его нет, то будет показываться на английском :)
export MANOPT="-L ru"За что ему огромное спасибо :)
sudo aptitude install libgd2-xpm libgd2-xpm-devТеперь скачаем сорцы vnstat (vnstati вместе с ними идет):
wget http://humdi.net/vnstat/vnstat-1.7.tar.gzРаспаковываем:
tar zxf vnstat-1.7.tar.gzИ ставим:
cd vnstat-1.7
sudo make allУбеждаемся, что с ядром все "ок":
sudo make install
vnstat --testkernelУзнаем какие фейсы можно поставить наконтроль:
И ставим (в моем случае это ppp0):
vnstat --iflist
vnstat -u -i ppp0
vnstatd -dПравим конфиг vnstat (/etc/vnstat.conf); тут надо только одну строчку поменять, а именно:
Interface "ppp0"Наконец-то можно запустить демон:
sudo vnstatd -d
sudo aptitude install lighttpdВключаем CGI:
sudo lighttpd-enable-mod cgiИ настраиваем его, для этого надо в файле /etc/lighttpd/conf-enabled/10-cgi.conf добавить строчку (я хочу чтобы у меня cgi выполнялся из корня вебсервера):
$HTTP["url"] =~ "^/" {
cgi.assign = ( ".cgi" => "/usr/bin/perl" )
}Теперь скопируем в корень вебсервера cgi-скрипт:sudo cp examples/vnstat.cgi /var/www/И чуточку его подправим:
my $host = 'Laptop'; # Имя машины (просто для глаз)Чтобы смотреть через браузер статистику нужно создать файл index.html, что и делаем:
my $cachetime = '1'; # Как часто обновлять картинки в кеше (1 раз в минуту)
my @graphs = ( # Для каких фесов генерировать статистику
{ interface => 'ppp0' },
);
/var/www/vnstat.cgi | sudo tee /var/www/index.htmlИ настраиваем права доступа (у меня от имени www-data работает lighttpd):
sudo chown -R www-data:www-data /tmp/vnstatcgi
sudo chown -R www-data:www-data /var/www
firefox -new-tab 'http://localhost/'
$ ppa-key-import do-core claws-mail 123
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --recv-keys --keyserver keyserver.ubuntu.com A5D19FDCAA6ABB440CD3464628A8205077558DD0
gpg: запрашиваю ключ 77558DD0 с hkp сервера keyserver.ubuntu.com
gpg: ключ 77558DD0: "Launchpad PPA for GNOME Do Core Team" не изменен
gpg: Всего обработано: 1
gpg: неизмененных: 1
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --recv-keys --keyserver keyserver.ubuntu.com ADBADCEF515B37DA2F973FF6DF8030F05ED1D082
gpg: запрашиваю ключ 5ED1D082 с hkp сервера keyserver.ubuntu.com
gpg: ключ 5ED1D082: "Launchpad PPA for Claws Mail" не изменен
gpg: Всего обработано: 1
gpg: неизмененных: 1
!!! Было добавлено 2 PGP-ключей из 3 !!!
Не найдены: 123
$ ppa-key-import claws-mail
gpg: запрашиваю ключ 5ED1D082 с hkp сервера keyserver.ubuntu.com
gpg: ключ 5ED1D082: открытый ключ "Launchpad PPA for Claws Mail" импортирован
gpg: Всего обработано: 1
gpg: импортировано: 1 (RSA: 1)
OK
wget -q -O - http://mirror.yandex.ru/ubuntu/project/ubuntu-archive-keyring.gpg | sudo apt-key add -
deb http://mirror.yandex.ru/ubuntu/ hardy main restricted
#deb-src http://mirror.yandex.ru/ubuntu/ hardy restricted main multiverse universe
deb http://mirror.yandex.ru/ubuntu/ hardy-updates main restricted
#deb-src http://mirror.yandex.ru/ubuntu/ hardy-updates restricted main multiverse universe
deb http://mirror.yandex.ru/ubuntu/ hardy universe
deb http://mirror.yandex.ru/ubuntu/ hardy-updates universe
deb http://mirror.yandex.ru/ubuntu/ hardy multiverse
deb http://mirror.yandex.ru/ubuntu/ hardy-updates multiverse
deb http://mirror.yandex.ru/ubuntu/ hardy-security main restricted
#deb-src http://mirror.yandex.ru/ubuntu/ hardy-security restricted main multiverse universe
deb http://mirror.yandex.ru/ubuntu/ hardy-security universe
deb http://mirror.yandex.ru/ubuntu/ hardy-proposed restricted main multiverse universe
deb http://mirror.yandex.ru/ubuntu/ hardy-backports restricted main multiverse universe
deb http://mirror.yandex.ru/ubuntu/ hardy-security multiverse
deb http://gq.net.ru/ubuntu hardy xneur
sudo aptitude update
sudo aptitude install gq-keyring
deb http://ppa.launchpad.net/network-manager/ubuntu hardy main
deb http://www.fbreader.org/desktop/debian etch main
#deb-src http://www.fbreader.org/desktop/debian etch main
wget -q -O - http://www.fbreader.org/desktop/debian/geometer.fbreader.org.asc | sudo apt-key add -
deb http://repo.palatinus.cz/stable /
wget -q -O - http://repo.palatinus.cz/repo.key | sudo apt-key add -
deb http://download.virtualbox.org/virtualbox/debian hardy non-free
wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
deb http://qutim.org/debian/ unstable main
#deb-src http://qutim.org/debian/ unstable main
#deb http://ppa.launchpad.net/smakc/ubuntu hardy main #Уже не помню зачем, помню что тут старая версия ;)
wget -q -O - http://qutim.org/debian/archive.key | sudo apt-key add -
deb http://ppa.launchpad.net/gnome-terminator/ubuntu hardy main restricted universe multiverse
deb http://ppa.launchpad.net/gandalfn/ubuntu gutsy main universe
deb http://download.tuxfamily.org/blueman hardy blueman
wget -q http://download.tuxfamily.org/blueman/blueman.gpg -O- | sudo apt-key add -
deb http://cle.linux.org.tw/candyz/Ubuntu i386/
wget -q -O - http://cle.linux.org.tw/candyz/Ubuntu/candyz.key | sudo apt-key add -
deb http://wine.budgetdedicated.com/apt hardy main #WineHQ
#deb-src http://wine.budgetdedicated.com/apt hardy main #WineHQ
wget -q -O - http://wine.budgetdedicated.com/apt/387EE263.gpg | sudo apt-key add -
wget -q -O - http://wine.budgetdedicated.com/apt/Scott%20Ritchie.gpg | sudo apt-key add -
deb http://apt.mucommander.com stable main non-free contrib
wget -q -O - http://apt.mucommander.com/apt.key | sudo apt-key add -
deb http://nightlies.videolan.org/build/hardy-i386/arch ./
deb http://download.skype.com/linux/repos/debian/ stable non-free
deb http://ppa.launchpad.net/reacocard-awn/ubuntu hardy main #Ставить - avant-window-navigator-bzr awn-core-applets-bzr
#deb-src http://ppa.launchpad.net/reacocard-awn/ubuntu hardy main
#deb http://ppa.launchpad.net/awn-testing/ubuntu hardy main #Не стабильная версия; ставить - awn-manager-trunk awn-extras-applets-trunk
#deb-src http://ppa.launchpad.net/awn-testing/ubuntu hardy main #Не стабильная версия
deb http://packages.medibuntu.org/ hardy free non-free
sudo apt-get update && sudo apt-get install medibuntu-keyring
deb http://ppa.launchpad.net/daou/ubuntu hardy main
#deb-src http://ppa.launchpad.net/daou/ubuntu hardy main
deb http://ppa.launchpad.net/claws-mail/ubuntu hardy main
deb http://ppa.launchpad.net/tualatrix/ubuntu hardy main
deb http://ppa.launchpad.net/gilir/ubuntu/ hardy main
deb http://ppa.launchpad.net/stemp/ubuntu hardy main
deb http://ppa.launchpad.net/lidaobing/ubuntu hardy main
deb http://ppa.launchpad.net/gscrot/ubuntu hardy main
deb http://ppa.launchpad.net/do-core/ubuntu hardy main
deb http://ppa.launchpad.net/galaxium/ubuntu hardy main
deb ftp://ftp.gajim.org/debian unstable mainУстанавливаем сигнатуры:
sudo aptitude update
sudo aptitude install gajim-dev-keyring
deb http://drbl.sourceforge.net/drbl-core drbl stableУстанавливаем сигнатуры:
wget -q -O - http://drbl.sourceforge.net/GPG-KEY-DRBL | sudo apt-key add -
deb http://dl.google.com/linux/deb/ stable non-free
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get install wine libxxf86dga1 libxxf86vm1 cabextract
cd /tmp/
wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux


$ addreps.sh --help
Команда addreps.sh добавляет дополнительные репозитории
Использование: addreps.sh <-l> | <version_name [-n]>
-l - показать список пакетов, для которых будут добавлены репозитории
version_name - имя версии Ubuntu (например, hardy)
-n - не задавать вопросов в конце (не обновлять список пакетов и не показывать файл)
ЗЫ: соблюдайте порядок опций ;)
mkdir -p ~/.icons/flags && cd ~/.icons/flags/ && wget -q http://notesyoungeradmin.angel2s2.googlepages.com/{ru,us}.png && gconftool-2 --type bool --set /desktop/gnome/peripherals/keyboard/indicator/showFlags true && cd - > /dev/nullmkdir -p ~/.icons/flagsПереходим в только-что созданную папку:
cd ~/.icons/flags/Скачиваем 2 файла, us.png и ru.png, для английской и русской раскладок, соответственно:
wget -q http://notesyoungeradmin.angel2s2.googlepages.com/{ru,us}.pngВыполняем команду, чтобы гномик знал, что надо показывать картинки, а не текст:gconftool-2 --type bool --set /desktop/gnome/peripherals/keyboard/indicator/showFlags trueВозвращаемся в тут папку, в которой были до этого:
cd - > /dev/null
sudo smartctl -d ata -a /dev/sda | grep Load_Cycle_Countили для удобства вопсприятия:
sudo smartctl -d ata -a /dev/sda | grep "Load_Cycle_Count|ID#"
sudo hdparm -I /dev/sda | grep 'Advanced power management level'
sudoedit /etc/acpi/power.sh
sudo hdparm -B 255 /dev/sda(sda заменить на ваш диск, хотя скорее всего на ноуте так и будет sda).
sudo hdparm -I /dev/sda | grep 'Advanced power management level'


