Рабочие будни

Архивы

 

Archive for the ‘Опыт’ Category

Распределенная компиляция distcc в Gentoo

Воскресенье, февраля 17, 2008

emerge distcc
# nano -w /etc/make.conf
(Вместо N укажите подходящее число для вашего случая)
Как правило это общее кол-во процессоров на всех компьютерах, умноженное на 2 и плюс 1
MAKEOPTS="-jN"
(Добавим distcc в переменную FEATURES)
FEATURES="distcc"
(Установим директорию для временных файлов distcc)
DISTCC_DIR="/tmp/.distcc"

/usr/bin/distcc-config --set-hosts «192.168.0.1 192.168.0.2 192.168.0.3 localhost»
(Перечисляем адреса компов участвующих в копиляции)

В /etc/conf.d/distccd правим то что требуется
в моём случае DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.0.0/16"

rc-update add distccd default
/etc/init.d/distccd start

http://www.gentoo.org/doc/ru/distcc.xml

Устанавливаем и конфигурируем ccache

Суббота, февраля 16, 2008

  1. Make sure your portage version is higher than 2.0.46-r11: emerge --version
  2. Emerge ccache: emerge -av dev-util/ccache
  3. Find your CHOST (see below): emerge --info | grep CHOST
  4. Copy the CHOST value (in double quotes) into this command: ccache-config --install-links YOUR-CHOST-HERE

$ emerge --version
Portage 2.1.1-r2 (default-linux/x86/2006.1, gcc-4.1.1, glib-2.4-r3, 2.6.18-gentoo-r5 i686)
$ emerge -av dev-util/ccache
...
Would you like to merge these packages? [Yes/No] y
...
$ emerge --info | grep CHOST
CHOST="i686-pc-linux-gnu"
$ ccache-config --install-links i686-pc-linux-gnu

Configuration takes place within /etc/make.conf
FEATURES="ccache"

http://gentoo-wiki.com/Ccache

Очистить кэш ccache -c
Посмотреть кэш ccache -s

Полезности emerge

Пятница, февраля 15, 2008

Параллельное скачивание и компиляция

1) В одной консоли запускаем emerge --fetchonly kde-meta
2) В другой emerge kde-meta

Еще вариант подсказал мудрый посетитель

Указать в make.conf ключик FEATURES="parallel-fetch", чтобы при «emerge kde-meta» в фоне продолжало параллельно скачивать необходимые пакеты

Работаем над KDE

Пятница, февраля 15, 2008

Собрал тут KDE, работает.
Включил аппаратную поддержку видео в ярде, получаю ошибку при запуске startx
Fatal server error:
Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices

Лечится:
xorgcfg -textmode

MySql backup

Воскресенье, февраля 10, 2008

Простой бакап MySql

/usr/bin/mysqldump -uname -h127.0.0.1 -ppassword --databases --all-databases --add-drop-table | gzip -c > /backup/mysqldump`date +\%Y-\%m-\%d`.gz

По факту делается дамп и жмётся gzip`ом

System backup

Пятница, февраля 8, 2008

Поднял несколько серверов на Gentoo и задумался над быстрым восстановлением системы. Идеальный для меня вариант:
Грузимся с DVD, подготавливаем HDD и разворачиваем нужный архив системы.

#Завернуть систему в архив
tar -cvjpf /backup/full-backup.tar.bz2 / --exclude=/tmp/* --exclude=/sys/* --exclude=/mnt/* --exclude=/proc/* --exclude=/var/cache/squid/* --exclude=/var/log/squid/* --exclude=/backup --exclude=/lost+found

#Восстановить из архива
tar -xvjpf /mnt/cdrom/backup/full-backup.tar.bz2 -C /mnt/gentoo

Плохо то, что разворачивается оно не быстро. Как вариант не архивировать папку /usr/portage (tar -cvjpf /backup/full-backup.tar.bz2 / --exclude=/tmp/* --exclude=/sys/* --exclude=/mnt/* --exclude=/proc/* --exclude=/var/cache/squid/* --exclude=/var/log/squid/* --exclude=/backup --exclude=/lost+found --exclude=/usr/portage/*), а сделать её отдельным архивом. Т.е. для быстрой реанимации вернуть систему в рабочее состояние, а уже потом восстановить /usr/portage (scp -r user@192.168.x.x:/usr/portage/* /usr/portage/)

Вот что получилось в итоге:
tarbackup.sh
#!/bin/bash

mount /dev/hda1 /boot >/tmp/backup.cron
tar -cvjpf /backup/full-backup-proxy-noportage.tar.bz2 -C / / --exclude=/tmp/* --exclude=/sys/* --exclude=/mnt/* --exclude=/proc/
* --exclude=/var/cache/squid/* --exclude=/var/cache/edb/* --exclude=/backup --exclude=/usr/portage/* --exclude=/lost+found >>/tmp/backup.cron
umount /boot >>/tmp/backup.cron

Обеспечение безопасности посредством GLSA в Gentoo Linux

Вторник, февраля 5, 2008

Постоянное обновление системы — одно из важнейших мероприятий по обеспечению безопасности.
Можно следить за обновлениями посредством GLSA, для этого не обходимо
чтобы в системе был установлен пакет app-portage/gentoolkit.

в составе пакета идет утилита glsa-check, с которой нам и предстоит работать.

Итак преступим.
Сначала можно посмотреть все доступные выпуски GLSA

# glsa-check -l

Все строки, содержащие [A] и [U], можно проигнорировать, т.к. они неприменимы для данной системы.

Теперь проверим подвержена ли наша система GLSA

# glsa-check -t all

Или можно просмотреть пакеты которые необходимо переустановить

# glsa-check -p $(glsa-check -t all)

И применить их...

# glsa-check -f $(glsa-check -t all)

И конечно перезапускаем те демоны, которые подверглись переустановке.

Источник http://www.opennet.ru