CentOS 6/Oracle Linux 6 — Installing VMware Guest Additions

В одной из предыдущих заметок я описал процесс установки VMware Guest Additions для RHEL 7 based дистрибутивов. Сейчас коротко опишу как это делается в RHEL 6 семействе дистрибутивов (CentOS, Oeacle Linux … etc).

Добавляем ключи официального репозитария VMware:

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

Добавляем в систему yum репозитарий. Для этого создаем редактором такой вот файл:

user$ sudo vim /etc/yum.repos.d/vmware-tools.repo

И помещаем в него вот что:

[vmware-tools]
name=VMware Tools
baseurl=http://packages.vmware.com/tools/esx/5.5latest/rhel6/$basearch
enabled=1
gpgcheck=1

Сохраняем файлик и поехали дальше … Читать полностью

PXE Boot: Добавляем утилиту Memtest+

Сдох сервак, ругается на память. Нужен Memtest. Решил добавить в свой PXE (я писал ранее статью про настройку PXE Boot) отдельным пунктом Memtest, как оказалось — это весьма просто.

Все действия выполняются на сервере где розвернут TFTP сервис.
Переходим в рутовую директорию TFTP:

cd /var/lib/tftpboot

Создаем отдельную директорию для memtest:

$ sudo mkdir memtest

и переходим в нее:

$ cd memtest

Качаем бинарь memtest-а:

memtest$ sudo wget -c http://www.memtest.org/download/5.01/memtest86+-5.01.bin

в главный конфиг меню нужно добавить вот такой пунктик:

LABEL Memtest
        MENU LABEL Memtest86+
        KERNEL memtest/memtest86+-5.01.bin

Сохраняем конфиг меню и пользуем 🙂

P.S. Оказалось что сервак просто задолбался работать и требовал немного внимания … после чистки, мойки заработал как ни в чем не бывало.

Хай щастить!

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'

Добавляем ключ репозитария:

srv:~$ sudo wget -c -O - http://packages.erlang-solutions.com/debian/erlang_solutions.asc |sudo apt-key add -

Ну и дальше стандартно, перечитываем репозитории и устанавливаем нужный пакет (erlang-base):

srv:~$ sudo apt-get update
....
srv:~$ sudo apt-get install erlang-base

После установки проверяем erlang запуском интерпретатора:

srv:~$ erl
Erlang/OTP 17 [erts-6.4.1] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false]

Eshell V6.4.1  (abort with ^G)
1> io:format("~s~n", ["Hello World!"]).
Hello World!
ok
2>

Ну и как говорится — «Изучай Erlang во имя добра!»

Хай щастить!

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

2. ntpd:
Время тоже важная штука, особенно на сервере. Для постоянной синхронизации с серверами точного времени в Интернете рекомендую установить и настроить ntp-server.
Установим:

deb:~$ sudo apt-get install ntp

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

deb:~$ sudo vim /etc/ntp.conf

и приводим в такое состояние:

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.ua.pool.ntp.org iburst
server 1.ua.pool.ntp.org iburst
server 2.ua.pool.ntp.org iburst
server 3.ua.pool.ntp.org iburst

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

# разрешаем localhost в качестве клиента синкать время
restrict 127.0.0.1
restrict ::1
# Если хотим разрешить использование сервиса ntp
# для локальной сети, розкомментировать строчку
# и вписать свою сеть по образу и подобию:
#restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

Перезаапускаем сервис (он автоматически запускается после инсталяции):

deb:~$ sudo systemctl restart ntp.service

Добавляем сервис в автозагрузку:

deb:~$ sudo systemctl enable ntp.service
Synchronizing state for ntp.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d ntp defaults
Executing /usr/sbin/update-rc.d ntp enable
deb:~$

Проверить статус работы ntp-server-а можно так:

deb:~$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*exb-gate.dgma.d 62.149.0.30      2 u   46   64    1   22.416   10.433   0.030
 91.218.89.74    207.3.130.6      2 u   46   64    1    6.653   11.025   0.796
 ns1.rx-name.net 232.213.183.238  3 u   45   64    1   10.493   12.001   0.043
 82.193.117.90.i 140.203.204.77   2 u   45   64    1    1.656   11.772   0.063
deb:~$

Если вместо циферок delay, offset, jitter вы видите прочерки или пустоту — значит чтото настроено не верно. Проверяйте сеть, firewall, конфиг ntp.conf и тд

Хай щастить!

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

Добавляю yum-репозиторий, для этого создаю файлик:

user@red5:~$ sudo vim /etc/yum.repos.d/vmware-tools.repo

и помещаю туда:

[vmware-tools]
name = VMware Tools
baseurl = http://packages.vmware.com/packages/rhel7/x86_64/
enabled = 1
gpgcheck = 1

Теперь установка нужных пакетов:

user@red5:~$ sudo yum install open-vm-tools-deploypkg
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.mirohost.net
 * extras: mirror.mirohost.net
 * updates: mirror.mirohost.net
Resolving Dependencies
--> Running transaction check
---> Package open-vm-tools-deploypkg.x86_64 0:9.4.10-3 will be installed
--> Processing Dependency: open-vm-tools < 9.5 for package: open-vm-tools-deploypkg-9.4.10-3.x86_64
--> Processing Dependency: open-vm-tools >= 9.4 for package: open-vm-tools-deploypkg-9.4.10-3.x86_64
--> Processing Dependency: libmspack for package: open-vm-tools-deploypkg-9.4.10-3.x86_64
--> Running transaction check
---> Package libmspack.x86_64 0:0.0.20040308alpha-2 will be installed
---> Package open-vm-tools.x86_64 0:9.4.0-6.el7 will be installed
--> Processing Dependency: libicuuc.so.50()(64bit) for package: open-vm-tools-9.4.0-6.el7.x86_64
--> Processing Dependency: libicui18n.so.50()(64bit) for package: open-vm-tools-9.4.0-6.el7.x86_64
--> Processing Dependency: libicudata.so.50()(64bit) for package: open-vm-tools-9.4.0-6.el7.x86_64
--> Processing Dependency: libdnet.so.1()(64bit) for package: open-vm-tools-9.4.0-6.el7.x86_64
--> Running transaction check
---> Package libdnet.x86_64 0:1.12-13.1.el7 will be installed
---> Package libicu.x86_64 0:50.1.2-11.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================================
 Package                                       Arch                         Version                                   Repository                          Size
===============================================================================================================================================================
Installing:
 open-vm-tools-deploypkg                       x86_64                       9.4.10-3                                  vmware-tools                        21 k
Installing for dependencies:
 libdnet                                       x86_64                       1.12-13.1.el7                             base                                31 k
 libicu                                        x86_64                       50.1.2-11.el7                             base                               6.9 M
 libmspack                                     x86_64                       0.0.20040308alpha-2                       vmware-tools                        26 k
 open-vm-tools                                 x86_64                       9.4.0-6.el7                               base                               430 k

Transaction Summary
===============================================================================================================================================================
Install  1 Package (+4 Dependent packages)

Total size: 7.4 M
Installed size: 26 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libmspack-0.0.20040308alpha-2.x86_64                                                                                                        1/5
  Installing : libicu-50.1.2-11.el7.x86_64                                                                                                                 2/5
  Installing : libdnet-1.12-13.1.el7.x86_64                                                                                                                3/5
  Installing : open-vm-tools-9.4.0-6.el7.x86_64                                                                                                            4/5
  Installing : open-vm-tools-deploypkg-9.4.10-3.x86_64                                                                                                     5/5
  Verifying  : open-vm-tools-deploypkg-9.4.10-3.x86_64                                                                                                     1/5
  Verifying  : libdnet-1.12-13.1.el7.x86_64                                                                                                                2/5
  Verifying  : libicu-50.1.2-11.el7.x86_64                                                                                                                 3/5
  Verifying  : libmspack-0.0.20040308alpha-2.x86_64                                                                                                        4/5
  Verifying  : open-vm-tools-9.4.0-6.el7.x86_64                                                                                                            5/5

Installed:
  open-vm-tools-deploypkg.x86_64 0:9.4.10-3                                                                                                                    

Dependency Installed:
  libdnet.x86_64 0:1.12-13.1.el7      libicu.x86_64 0:50.1.2-11.el7      libmspack.x86_64 0:0.0.20040308alpha-2      open-vm-tools.x86_64 0:9.4.0-6.el7    

Complete!
user@red5:~$

Запускаем сервис и добавляем его в автозагрузку:

user@red5:~$ sudo systemctl restart vmtoolsd.service
user@red5:~$ sudo systemctl enable vmtoolsd.service

После этого в VmWare Vsphere Client видим вот такую картинку:
VmWare - Install Guest Additions

Хай щастить!

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? Быстрое гугление показало что это более чем возможно, так как существует множество различных программ нужного функционала. Читать полностью