вторник, 25 сентября 2012 г.

Создание(запись) ISO образа в консоли Linux

Копируем CD диск в iso образ.

Самый простой способ, но не надежный, т.к нет проверки ошибок на диске:
cat /dev/sr0 > cd.iso

Это способ, просто для запоминания:
dd if=/dev/sr0 of=cd.iso

Предпочтительный способ с проверной наличия ошибок на диске:
readom dev=/dev/sr0 f=cd.iso

Копирование DVD диска слегка отличается.

Узнаем размер блоков в файловой системе DVD диска.
isoinfo -d -i /dev/sr0 | grep size
dd if=/dev/sr0 of=cd.iso  bs=${logical_block_size} count=${volume_size}


Записываем ISO на диск.

wodim -v -eject cd.iso

Подключаем ISO образ:

mount -o loop cd.iso /mnt/iso

четверг, 13 сентября 2012 г.

Меняем название сетевых интерфейсов (eth0,1,2,3)


После переноса образа linux системы, на другой сервер (железо), могут измениться имена интерфейсов на новой системе. Например, были два интерфейса eth0 и eth1 в старой системе, а после переноса на другое железо linux показывает доступные eth2 и eth3. Если хочется использовать старые имена, то прийдется подправить udev:

Редактируем файл /etc/udev/rules.d/70-persistent-net.rules (в CentOS)

Комментируем, то что было раньше:

# PCI device 0x8086:0x10ef (e1000e)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:17:da:20:e9", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x10d3 (e1000e)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:17:da:20:e8", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

В описании новых интерфейсов прописываем нужные имена (eth1 и eth0):

# PCI device 0x8086:0x10d3 (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:17:f0:f3:10", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x10ef (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:17:f0:f3:11", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

После этого стоит прописать правильные мак адреса (или закоментировать) в /etc/sysconfig/network-scripts/ifcfg-eth0 и ifcfg-eth1

Отключаем принтер в Samba

В случае неиспользования системы печати, рекомендую в конфиг Samba в секцию Global, добавить следующие строчки:

load printers = no
show add printer wizard = no
disable spoolss = yes
printing = bsd
printcap name = /dev/null

show add printer wizard - отключение иконки "Добавить принтер"
disable spoolss - отлючение загрузки драйверов принтеров с samba сервера
printing - тип подсистемы печати
printcap name - размещение рабочего файла принтера

Это позволит избежать ошибок:  Unable to connect to CUPS server localhost:631,
 в логах samba

пятница, 7 сентября 2012 г.

Клонирование linux с помощью tar и ssh.

Один из самых простых способов склонировать linux машину на другой сервер, без перезагрузки сервера.

1.Устанавлинаем чистую систему на новом сервере, настраиваем сеть.
2. На сервере, который надо скопировать:

cd /
tar --exclude /dev \
--exclude /boot \
--exclude /etc/fstab \
--exclude /etc/mtab \
--exclude /etc/blkid \
--exclude /etc/modprobe.conf \
--exclude /mnt \
--exclude /sys \
--exclude /proc \
-cvpzf - . | ssh root@192.168.1.1 'cat > servercopy.tgz'

Т.е. мы с помощью tar создаем сжатый образ системы в файл servercopy.tgz, с сохраненим прав доступа. Исключаем из архива папки boot,sys,proc и т.д. Сам архив через ssh сразу передается в /root нового сервера (192.168.1.1).

3. Загружаем новый сервер с установочного диска (или LiveCD) в режиме linux rescue (режим восстановления)

В зависимости от linux дистрибутива, монтирование системы должно произойти автоматически. Например для CentOS в /mnt/sysimage. Далее разархивируем образ в точку монтирования.

cd /mnt/sysimage/root
tar -xvpf servercopy.tgz -C /mnt/sysimage

4. Правим если требуется ip, hostname конфиги, перезагружаемся.