Archive for the ‘ Linux ’ Category

Debian Jessie: Установка Erlang OTP от Erlang Solutions

Начал изучать Erlang. Мой Гуру посоветовал установить релиз Erlang из репозитория Erlang Solutions. Судя по доке данного ресурса, это проще простого, но прикол в том что у меня Debian Jessie, а в доке описан процесс максимум для Wheezy. На самом деле репозиторий содержит сборку для Jessie, просто доку, как это обычно бывает, забыли/не успели обновить. Такчто «идем по приборам» 🙂
Итак, репозитарий добавляется очень просто:

srv:~$ sudo sh -c 'echo "deb http://packages.erlang-solutions.com/debian jessie contrib" > /etc/apt/sources.list.d/erlang_solutions.list'

Читать полностью

Debian Jessie: Установка и настройка FTP сервера (proftpd + mod-geoip)

Поскольку я планирую использование данного FTP сервера только в географических пределах своей страны — то логично ограничить к серверу доступ с помощью GeoIP. Это снизит бесполезную нагрузку создаваемую брутфорсерами, а также улучшит безопасность сервиса и сервера. Поскольку у меня всего пара-тройка пользователей FTP и те имеют отдельные системные аккаунты — авторизация будет PAM (системная).

Установим необходимые пакеты:

deb$ sudo apt-get install proftpd-basic proftpd-mod-geoip geoip-database

Пакеты установили — вперед к настройке … Читать полностью

Debian Jessie: Настройка базовых сервисов (ssh, ntp)

После установки и базовой настройки системы Debian GNU Linux, рекомендую настроить пару важных системных сервисов — ssh и ntp.

1. sshd:
открываем основной конфиг:

deb:~$ sudo vim /etc/ssh/sshd_config

И смотрим все что там есть … Я обращаю внимание на следующие опции:

Port 22
Protocol 2
PermitRootLogin without-password
StrictModes yes
TCPKeepAlive yes

На удивление, все настроено как мне нравится по умолчанию — обожаю Debian.
Если вы чтото изменили в конфиге, сохраните его и не забудьте перегрузить сервис после настройки:

deb:~$ sudo systemctl restart ssh.service

Читать полностью

Debian Jessie: Мой маленький HowTo

Скопился целый ворох мелких howto по настройке всякой всячины в Debian Jessie. Решил объединить их в виде некоего мини-туториала.
Список того что будет опубликовано в ближайшее время:
0. Чтото вместо вступления. Тут же простенькое ТЗ и топология сети.
1. Начальная настройка системы (disable IPv6, timezone, APT sources.list, APT tuning)
2. Решение мелких проблем после установки (firmware realtek, some lvm+mdadm trick)
3. Настройка базовых сервисов (sshd, ntpd, smartd)
4. Настройка DNS сервера (bind9)
5. Базовая настройка фаервола (iptables)
6. Установка и настройка FTP сервера с поддержкой GeoIP (proftpd)
7. Установка и настройка DHCP сервера (isc-dhcp-server)
8. Установка, настройка и backup баз mysql-server (mariadb-server)
9. Установка и базовая настройка компонентов вэб сервера (Apache2, Nginx, PHP5-FPM)
10. WEB сервер на любой вкус:
— вариант №1 (nginx + apache2 + mod_php5)
— вариант №2 (nginx + php5-fpm)
— вариант №3 (nginx + php5-fpm in chroot)
11. «Ускоряем» WEB-сервер (memcached, xcache)
12. Трюки вокруг доступа к sshd (iptables, ipset, geoip)
13. Установка и настройка backup сервера (bacula)
14. Установка и настройка Mail сервера с WEB интерфейсом (exim4, dovecot, postfixadmin, roundcube)
— этап №1 — подготовка
— этап №2 — настройка postfixadmin
— этап №3 — настройка dovecot
— этап №4 — настройка exim4
— этап №5 — настройка roundcube
15. Домашний NAS на основе Debian Jessie (NFS, Samba)
16. Домашний NAS на Debian Jessie — установка и настройка Torrent клиента с WEB интерфейсом
Читать полностью

MySQL — Восстановление таблиц Innodb

Шеф! Все пропало! База упала, данные пропали!

mysql> USE helldb;
mysql> SELECT * FROM cheaters;
ERROR 1146 (42S02): TABLE 'helldb.cheaters' doesn't exist
mysql>

Или это может выглядеть вот так, при попытке забекапить базу mysqldump -ом:

[red@hellsrv ~]$ mysqldump -uroot -p helldb > helldb.sql
Enter password:
mysqldump: Got error: 1146: Table 'helldb.cheaters' doesn't exist when using LOCK TABLES
[red@hellsrv ~]$

Перед любыми действиями с базой, обязательно сделайте ее бэкап! Читать полностью

CentOS 7/Oracle Linux 7 — Installing VMware Guest Additions

Необходимо установить гостевые дополнения для OS CentOS7 (ничем не отличается от Oracle Linux 7.x)
Приступим! Для этого нам нужны vmware-репозитории для yum. Но чтобы они красиво работали — сначала нужно установить ключи GPG.

Устанавливаем ключи для необходимых репозиториев:

user@red5:~$ sudo rpm --import http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-DSA-KEY.pub
user@red5:~$ sudo rpm --import http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub

Читать полностью

Debian Jessie: «W: Possible missing firmware /lib/firmware/rtl_nic/… for module r8169»

В новомодном Debian Jessie возникла вот такая проблемка:

root@debian:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-3.16.0-4-amd64
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168g-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8106e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8411-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8402-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168f-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8105e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-3.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168e-1.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-2.fw for module r8169
W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168d-1.fw for module r8169
mdadm: Cannot get exclusive access to /dev/md0:Perhaps a running process, mounted filesystem or active volume group?
mdadm: Cannot get exclusive access to /dev/md1:Perhaps a running process, mounted filesystem or active volume group?
root@debian:~#

Это не ошибка, просто предупреждение. Убрать его очень просто — достаточно установить пакетик firmware-realtek Читать полностью

Debian Jessie: Update BIOS Asus C60M1-I by flashrom

Итак, в домашнем использовании имеется материнка Asus C60M1-I. Захотелось глянуть какой там стоит BIOS — вдруг есть обновления? Для просмотра различных параметров «железа» в Linux есть прекрасная утилита — dmidecode. Она была у меня установлена, пользовать так:

root@debian:~# dmidecode --string bios-version
0205
0205
root@debian:~#

На сайте ASUS уже есть версия 0502 — нужно обновить BIOS! Вспомнил что когдато у меня была подобная материнка и я без проблем обновлял BIOS прямо из Windows — это было просто и удобно. Вдруг что-то подобное возможно в Linux? Быстрое гугление показало что это более чем возможно, так как существует множество различных программ нужного функционала. Читать полностью

Debian Jessie: RAID (mdadm) + LVM — «Unable to find LVM volume VG01/root»

При установке Debian Jessie собрал зеркало из двух разделов. На одном md0 — просто /boot в ext4, на втором md1 VG с кучей LV (aka root, home, opt …)
Собственно все работало замечательно, пока не отключил один из винчестеров. После того как система теряет винт — грузится не хочет. Grub отрабатывает, а в initrd ошибка «Unable to find LVM volume VG01/root» и вывал в initrd консоль.

Проблема решается так, в initrd консоли ломаем RAID:

(initrd): mdadm -S /dev/md0
(initrd): mdadm -S /dev/md1

После этого скан:

(initrd): mdadm -A --scan

И вуаля! RAID находит рабочий винчестер, на нем нужные раздеры и собирает md0, md1 в active статусе. Собственно разделы становятся активными и lvm тоже замечательно начинает работать. Читать полностью

Simple Desktop Notifications Jira/Mail: Conky + Perl

На работе внедрили Jira — это такой мега продукт для управления проектами, тиками, багами он же вики и тд и тп … Я как админ там восновном работаю с тикетами которые на меня сыпятся со всех сторон. Но беда в том что софтина web-овская и для человека сидящего целыми днями в консоли не очень удобно держать отдельную вкладку с Jira в браузере и постоянно туда заглядывать. В Jira есть нотификейшены в почту, но опять же, почта web-овская: браузер -> вкладка -> смотреть-смотреть …. не удобно 🙂
Решил сделать себе няшную уведомлялку на десктоп для Jira (интересуют открытые тикеты назначенные на меня), а заодно и для почты (Интересует непрочитанные сообщения в директории INBOX) 🙂 Она же тоже вебовская … зараза.
Jira имеет очень богатый API, он же REST, через который можно совершать любые манипуляции с тикетами: создавать, комментировать, закрывать, переназначать … Но мне многого не надо, всего то отобразить на desktop количество заявок которые «висят на мне».
Есть готовые скрипты для работы с Jira использующие Jira REST. Варианты самые разнообразные как по функционалу так и по языкам: на ruby, python, perl. Я выбрал последний, так как более-менее ориентируюсь в перловке.
Читать полностью