Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения

среда, 19 февраля 2014 г.

Пересобираем ядро для RHEL-like систем














А вот даже и не вспомню как давно приходилось пересобирать ядро Linux. Прошли те времена, когда с каждым новым релизом, устранялась какая-нибудь неприятная бага, или появлялась жизненно важная фича. Как правило всё работает из коробки, и нет числа новым адептам, праздно, без напильника, настраивающих свой свеженький Linux. Но всё же встречаются моменты когда приходится собирать кастомное ядро. Если у вас именно этот случай, тогда приступим.

среда, 29 мая 2013 г.

SaltStack - Ищем "Мёртвые души‎"










Начав использование SaltStack я столкнулся с проблемой "Как узнать какие из машин мне не ответили?"
Конечно может быть я плохо искал, но ничего полезного не обнаружил.

Зато все знают как узнать какие машины доступны, это просто:
salt '*' test.ping
Это может решить проблему в случае у вас меньше 10-ка управляемых хостов.
Но если их несколько 10-тков или 100-тен то быть уверенным в том что при деплое проекта на  все машины будет залит код, и всё будет корректно настроено.

вторник, 30 апреля 2013 г.

Включаем поддержку TLS/SSL для Dovecot в CentOS x86_64

English:
English: (Photo credit: Wikipedia)











Логическим продолжением статьи Postfix и Dovecot SASL + VirtualHosts в CentOS 6 x86_64 стала текущая тема.

Хочется заранее предупредить, если вы только что поставили Dovecot, и собираетесь использовать самоподписной сертификат, то не беспокойтесь.
Dovecot уже сгенерировал его и служить он будет целый год.

Если же уже прошел год, и вы желаете продолжать использовать самоподпись то воспользуйтесь этим скриптом для перегенерации сертификата.
/usr/libexec/dovecot/mkcert.sh

Если же вы купили честный сертификат, то читаем дальше.

Включаем поддержку TLS/SSL в Postfix

English:
English: (Photo credit: Wikipedia)









Логическим продолжением статьи Postfix и Dovecot SASL + VirtualHosts в CentOS 6 x86_64 стала текущая тема.


В начале начал как всегда нужно сделать BackUP конфига
cp /etc/postfix/main.cf{,.bak_$(date +%Y%m%d_%R)}

понедельник, 29 апреля 2013 г.

Postfix и Dovecot SASL + VirtualHosts в CentOS 6 x86_64






English:










Иногда случается нужда в развёртывании почты, но и вроде пользователей не так много чтобы городить жирные системы с базами данных в MySQL или PostgreSQL. Хотя с другой стороны и виртуальных пользователей хочется, и еще кое какие плюшки. Перед написанием статьи я очень много рыскал в интернетах, но статьи что попадались мне как правило были либо нацелены на слишком крупные системы, либо были сильно устаревшие и использовали уже не существующий синтаксис конфигов, либо, либо, либо...

Вообщем если кратко, то эта статья про то как настроить Postfix+Dovrcot+SASL виртуальными доменами и виртуальными пользователями и базой пользователей в текстовом файлике.

пятница, 26 апреля 2013 г.

SaltStack - Установка saltstack-minion на CentOS








Что такое SaltStack и с чем его едят я описал тут
В текущей статье я опишу как установить SaltStack-minion на CentOS
Этот мануал подходит для CentOS 5/6 x68_64/i386

Кстати говоря saltstack-master можно установить таким же образом

Устанавливаем saltstack-minion

Прежде всего необходимо подключить последнюю версию репозитория EPEL
rpm -Uvh http://download.fedoraproject.org/pub/epel/$(grep -o -P '\d' /etc/issue\
 | head -n1)/$(arch)/$(wget -O - http://download.fedoraproject.org/pub/epel/\
$(grep -o -P '\d' /etc/issue | head -n1)/$(arch)/ 2> /dev/null\
 | grep -o -P 'epel-release-\d-\d\.noarch\.rpm' | head -n1)

четверг, 25 апреля 2013 г.

SaltStack - Установка saltstack-minion на Ubuntu








Что такое SaltStack и с чем его едят я описал тут
В текущей статье я опишу как установить SaltStack-minion на Ubuntu

Кстати говоря saltstack-master можно установить таким же образом

Устанавливаем saltstack-minion

SaltStack - Установка saltstack-minion на Debian Wheezy x86_64








Что такое SaltStack и с чем его едят я описал тут
В текущей статье я опишу как установить SaltStack-minion на Debian Wheezy.



Устанавливаем saltstack-minion из репозитария

cat > /etc/apt/sources.list.d/salt.list <<EOF
deb http://debian.saltstack.com/debian wheezy-saltstack main
EOF
wget -q -O- "http://debian.saltstack.com/debian-salt-team-joehealy.gpg.key" | apt-key add -
apt-get update
apt-get install salt-minion -y

Если по какой то причине вы хотите собрать её в ручную то:

понедельник, 22 апреля 2013 г.

SaltStack - Установка saltstack-master на Debian Squeeze x86_64








Что такое SaltStack и с чем его едят я описал тут
В текущей статье я опишу как установить SaltStack-master на Debian.

Устанавливаем saltstack-master

В начале начал следует подключить backports для того чтобы удовлетворить все возможные зависимости SaltStack'a.
echo deb http://backports.debian.org/debian-backports/ \
 squeeze-backports main > \
 /etc/apt/sources.list.d/backports.list

apt-get update
apt-get dist-upgrade -y

SaltStack - Установка saltstack-minion на Debian Squeeze x86_64








Что такое SaltStack и с чем его едят я описал тут
В текущей статье я опишу как установить SaltStack-minion на Debian.

Устанавливаем saltstack-minion

В начале начал следует подключить backports для того чтобы удовлетворить все возможные зависимости SaltStack'a.

echo deb http://backports.debian.org/debian-backports/ \
 squeeze-backports main > \
 /etc/apt/sources.list.d/backports.list

apt-get update
apt-get dist-upgrade -y

среда, 5 декабря 2012 г.

Linux Вопросы и ответы #lecture 1

Лекция по Linux в компании Thumbtack Technology Linux - Вопросы и ответы 

* Access control
* Environment
* Users and Grops
* File system'Ы
* Init system
* Network
* Bash

понедельник, 8 октября 2012 г.

Что делать если du и df выводят разные данные

Случалось ли вам столкнуться с ситуацией когда вы освободили место на диске, удалили жирные логи, а система по прежнему считает, что у вас переполнен диск.
Если вы столкнулись с подобной ситуацией, то скорее всего удалённые вами файлы до сих пор открыты каким бы то ни было приложением.

Это выглядит примерно следующим образом.
df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda1             7,9G  7,6G     0 100% /
 tmpfs                 502M     0  502M   0% /lib/init/rw
 udev                  497M  100K  497M   1% /dev
 tmpfs                 502M     0  502M   0% /dev/shm

du -sh /
 2,2G    /
Чтобы получить список процессов которые до сих пор держат удалённые файлы, выполните следующую команду

воскресенье, 26 августа 2012 г.

VNC Terminal Server на базе Debian Squeeze

Virtual Network Computing logo
Virtual Network Computing logo (Photo credit: Wikipedia)











Я думаю многие знают что такое Terminal Server и зачем он нужен, а кто не знает может сходить по ссылке и почитать WiKi.

Так же осмелюсь предположить что многие уже использовали VNC для однопользовательского подключения, но что можно сделать в случае если необходим многопользовательский доступ.

Я попробовал осуществить несколько вариантов, но остановился на запуске vnc4server через openbsd-inetd.

Кстати оговорю сразу, мы будем использовать порт 5901 поскольку дефолтовый порт занят встроенным в Gnome сервисом vino. Так же необходимо удалить network-manager, и настроить сетевые интерфейсы через старый добрый /etc/network/interfaces.
И последнее но не менее важное. Мы установим GDM вместо текущего GDM3 по причине того что последнего совершенно не впечатляют опции [xdmcp] Enable=true так необходимые для многопользовательского доступа.

Приступим

вторник, 21 августа 2012 г.

Лёгкая анонимизация трафика через связку Tor + Proxychains в Debian

English: Tor Logo
English: Tor Logo (Photo credit: Wikipedia)








Сейчас правительства многих стран стараются максимально сократить анонимную деятельность людей в интернете. Выпускают различные законы прикрываясь благой деятельностью стараются свести всё к тотальному контролю.

И всё бы ни чего, но согласитесь не приятно осознавать что кто-то в любой момент может взять и прочитать всё что вы пишите, на какие сайты ходите и пр. .

На эту тему  можно много холивалить но что мы можем противопоставить.
На данный момент есть 2 популярных, развивающихся проекта, это: I2P и TorProject.
  1. I2Phttp://www.i2p2.de/ Это распределённая шифрованная сеть, имеющая собственные ресурсы, которая использует интернет в качестве транспорта для своих нужд.
  2. TorProjecthttps://www.torproject.org/ Это распределённая сеть обеспечивающая анонимизацию вашего трафика в пределах глобальной сети интернет.
В этой статье мы рассмотрим самый простой способ анонимизировать ваш трафик для любого приложения вашей системы с помощью связки Tor + Proxychains, даже если оно не предусматривает работу через SOCKS Proxy.

среда, 4 июля 2012 г.

Решаем проблему /sbin/modprobe: invalid option -- 'l' при компиляции программ из имходников.


В последней версии modprobe была выпилена опция -l из за чего ломается установка некоторых программ у которых modprobe вшит в Makefile.

Что же теперь можно сделать

Можно создать скрипт который будет выполнять нудную нам зядачу, а всё остальное будет перенаправлять настоящему модпробу.
cat > /sbin/modprobe.sh <<EOF
#!/bin/bash

if [[ \$1 == -l ]]
then

if [ -z \$2 ]    
then
find /lib/modules/\$(uname -r) -name '*.ko' | sed -e "s#\\/lib\/modules\/\$(uname -r)\/##g"
else
find /lib/modules/\$(uname -r) -name '*.ko' | sed -e "s#\/lib\/modules\/\$(uname -r)\/##g" | grep \$2
fi

else
/sbin/modprobe \$@
fi
EOF
Но этого мало. Теперь сделаем его исполняемым, и пропишем алиас в систему.
chmod +x /sbin/modprobe.sh
alias modprobe=/sbin/modprobe.sh
echo "alias modprobe=/sbin/modprobe.sh" >> /etc/bash.bashrc
Хотя в некоторых случаях и этого будет не достаточно. Если адрес к modprobe жестко указан в Makefile, то зайдите в директорию проекта и выполните следующее.
cp Makefile Makefile.save
sed -i -e 's/^MODPROBE.*/MODPROBE := \/sbin\/modprobe.sh/g' Makefile

Enhanced by Zemanta

среда, 13 июня 2012 г.

Выбираем самое быстрое зеркало обновлений в Debian

Иногда случается так, что в вашем распоряжении оказывается се самый молодой сервер, система на котором успела уже изрядно устареть. При всём при этом находится чёрти где, и зеркало обновлений выбрано не лучшим образом, оно медленное или вовсе не доступное.

В этом случае нам может помочь программа apt-spy. В дефолтовой конфигурации её нет поэтому установим её из текущего репозитария. 

apt-get update
apt-get install apt-spy

понедельник, 4 июня 2012 г.

Передача данных по нестабильном каналу через SSH

Намедни мне пришлось на не очень стабильном канале передавать кучу разрозненных файлов. И всё бы ничего, запаковать в архив, и передать  опцией докачки, делов то. Но не всё так просто, если на диске для архива не достаточно места. Вы скажите есть же rsync, но это чудо природы виснет на больших бинарных файлах при не стабильном канале, и к тому же не умеет рисовать прогресс бар.

Я нашел достаточно удобный способ решения этой проблемы.

Для начала на обеих машинах должны быть установлены следующие пакеты: openssh-server, openssh-client, tar, bzip2, pv, screen, rsync

Установить их можно так:

Для Debian/Ubuntu
apt-get install -y openssh-server openssh-client tar bzip2 pv screen rsync

Для RHEL/CentOS
yum install -y openssh-server openssh-clients tar bzip2 pv screen rsync

Кстати. Все команды лучше запускать в screen он доступен в пакетной практически всех дистрибутивах.

Итак зайдём по SSH на 1ый хост, и запустим screen.

Не забудьте заменить "$HOST1" "$HOST2"  на свои адреса хостов, а /mnt/data/ на свой путь к данным.
 Для тех кто не очень понимает bash синтаксис поясню что делает этот скрипт.

tar'om мы сжимаем содержимое директории /mnt/data/ и с помощью ключа "-" отправляем его в стандартный поток вывода, но не выводим на дисплей,  а через пайп отправляем команде pv которая считает сколько данных через неё прошло, и выводит данные на экран. Таким образом мы будем наблюдать за процессом передачи данных. После подсчёта команда pv отправит данные в неизменном виде в следующий пайп который передаст данные ssh сессии где мы перейдём в корневой каталог и начнём распаковку tar'om уже на втором хосте. Переход в корневой каталог необходим по той причине, что при архивации tar вырезает / и из абсолютного пути мы получим относительный. 
После окончания сей мистерии следует проверить rsync'om все ли данные верно передались.


ssh "$HOST1"
screen
tar cjf - /mnt/data/ | pv | ssh root@"$HOST2" "cd / && tar xjf - "
rsync -vcazr -e ssh /mnt/data root@"$HOST2":/mnt/
Теперь следует обговорить screen он умеет многое, и достоин отдельной статьи.
Сейчас о его устройстве вам следует знать 4 вещи.

ctrl a d # Используется для того чтобы свернуть терминал
screen -ls # Используется для того чтобы просмотреть список существующих терминалов
screen -r pid.pts-0.hostname # Используется для того чтобы вернуться в указанный терминал
screen -r # Используется для того чтобы вернуться в терминал если он открыт у вас один

На сим всё.

Могу сказать только что на сильно проседающем канале 6GB данных за ночь передались безошибочно.



Enhanced by Zemanta

понедельник, 14 мая 2012 г.

VirtualBox - Восстановление работоспособности после обновления ядра в Debian/Ubuntu

VirtualBox
VirtualBox (Photo credit: Wikipedia)













Если в dmesg вы вдруг обнаружили запись:
dmesg | grep 'warning: `VirtualBox'
[  429.050250] warning: `VirtualBox' uses 32-bit capabilities (legacy support in use)
Значит скорее всего у вас обновилось ядро в системы и вам нужны новые header'ы ядра. Установить их достаточно просто.

apt-get install linux-headers-$(uname -r) -y --force-yes

Теперь нужно перезапустить сервис отвечающий за драйвера VirtualBox'a если будет необходимо он мам пересоберёт модули.
/etc/init.d/vboxdrv restart
Stopping VirtualBox kernel modules:.
Starting VirtualBox kernel modules:.

Enhanced by Zemanta