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

8 авг. 2015 г.

Arch Linux on IBM System x35550 M4

1) Следую записи своего блога Arch Linux on HP Mini 110, part 2.

Пишу образ от 01-08-2015, используя USBWriter, на флешку и загружаюсь с неё в консоль.

Создаю в fdisk btrfs-разделы swap (sda1) и sda2.
Создаю subvol root, следуя записи своего блога The btrfs filesystem backup for roll back.
Выделяю для него 50 ГБ.
# mkfs.btrfs -b50G /dev/sda2 (возможно, здесь нужно было делать по-другому)

Сеть работает, локальный ip получен (см. ifconfig).

Запускаю sshd, задаю пароль для root, запускаю ftpd и ухожу на своё рабочее место - установку можно делать удаленно по ssh!
# systemctl start sshd.service
# passwd
# systemctl start ftpd.service (ftp пускает под root'ом).

Нужен доступ в Инет для установки base через прокси.
# export http_proxy='http://proxy:3128/'

Для настройка static ip после установки использовал netctl, сетевой интерфейс eno4.
# cp /etc/netctl/examples/... /etc/netctl/
# netctl start ...
# netctl enable ...

2) После пары авантюрных дней, от установки Arch на сервер в итоге пришлось отказаться: не время и не место были для этого.
Никто из нашей команды админов линукса не поддержал установку Arch.
В итоге я снес Arch и поставил Centos 7.1 1503.
Если на установку и настройку первого я потратил пол дня, то второго - час.
Также сказались привычки, например Webmin, от которого в Arch отказались.
Не хватило опыта работы с btrfs, когда я начал нарезку томов, то понял, что не готов...
При создании btrfs subvol для /var/lib/mysql прочел, что надо отключать COW...
Arch создал btrfs subvol /var/lib/machines без моего ведома.

3) Для восстановления данных с диска старого сервера следую такой стратегии:
- Загружаюсь на старом сервере с инсталляционного Arch образа.
- Монтирую диск, копирую данные по ftp с помощью mc куда мне надо.
- Опять же, можно запустить sshd и работать удаленно со своего места.

Старый сервер не грузился с флешки, пришлось писать образ Arch на cd.
При загрузке с cd выдало следующую ошибку:

Mounting '/dev/disk/by-label/ARCH_201508' to '/run/archiso/bootmnt'
ERROR: '/dev/disk/by-label/ARCH_201508' device did not show up after 30 seconds..

Решение:

# cd /dev/disk
# mkdir by-label
# cd by-label
# ln -s ../../sr0 ARCH_201508
mount -t iso9660 /dev/disk/by-label/ARCH_201508 /run/archiso/bootmnt
# exit

3 февр. 2015 г.

Creating file server structure from Excel table on Centos 6.6

1) I saved the code of the below followed script as an example for the following queries for myself:
  • export excel csv
  • bash parse string in to array
  • bash read file line by line
  • bash substring exists
  • bash symbolic link
  • bash function example
  • bash tree
  • bash file exists
  • bash if and or example
  • bash if test example
  • bash if else
  • bash format string
  • bash padded zero

14 апр. 2014 г.

Парсинг и вывод заданным форматом всех .xml файлов, начиная с указанной директории

1) Написать команду или скрипт, просматривающий все *.xml файлы в директории.

Формат файлов:

<FirstName>john</FirstName>
<MiddleInitial>D</MiddleInitial>
<LastName>Smith</LastName>

<Delivered>
<Date>2014-01-31</Date>
</Delivered>

Имена могут иметь пробелы, верхний или нижний регистр, включать - или '.

Необходимо пропарсить все файлы и вывести данные в файл:

firstname middleinitial lastname | delivered date | filenameitwaslocated.xml
firstname middleinitial lastname | delivered date | filenameitwaslocated.xml


1.1) Разбираю несколько примеров, вот один из них:

grep -v ^[[:space:]]*\# $1 | grep -v ^[[:space:]]*\; | grep -v ^$

^ - начало строки
$ - конец строки
[:space:] - соответствует пробельным символам (пробел и горизонтальная табуляция)
[] - один из символов, указанных в скобках

в чем отличие ? от . - в том что точку можно указать просто, а вопрос надо экранировать, иначе он воспринимается как символ вопрос

2) Пишу свой скрипт.

2.1) Создаю файл с данными:
#   3
  ##
<FirstName>j o h n</FirstName>
<MiddleInitial>-D-</MiddleInitial>
<LastName>S-mith'</LastName>

<Delivered>
<Date>2014-01-31</Date>
</Delivered>

2.2) Затем в исполняемый файл пишу команду и передаю параметром файл данных:

/bin/echo `grep -o '>.*<' $1 | sed 's/<\|>//g'`
выдает
j o h n -D- S-mith' 2014-01-31
как теперь сделать
j o h n -D- S-mith' | 2014-01-31 | filenameitwaslocated.xml

echo `grep -o '>.*<' $1`"$1"|(sed 's/>\(.*\)<.>\(.*\)<.>\(.*\)<.>\(.*\)<\(.*\)/\1 \2 \3 | \4 | \5/')
выдает
j o h n -D- S-mith' | 2014-01-31 | cat_xml.input

2.3) написать что ли как оно работает...

grep построчно парсит файл, передаваемый параметром $1
-o - выдавать только то что соответствует шаблону
получаются строки вида >то_что_между<
echo убирает с конца каждой строки перевод на новую строку, выдает все строки одной строкой и добавляет в конец имя переданного файла "$1"
sed парсит строку по шаблону />\(.*\)<.>\(.*\)<.>\(.*\)<.>\(.*\)<\(.*\)/ и возвращает 5 значений (.*\), которые я потом вывожу, форматируя /\1 \2 \3 | \4 | \5/

2.4) Двигаюсь дальше. Создаю несколько файлов *.xml

find ./ -name '*.xml' -exec ./cat_xml {} > ./output \;
cat ./output
4 o h n -D- S-4mith' | 2014-01-34 | ./cat_xml4.xml
55j o h n 55 S-mith55' | 2014-01-35 | ./cat_xml5.xml
j o h n2 D- Smith' | 2014-01-32 | ./cat_xml2.xml
4 o h n -D- S-4mith' | 2014-01-34 | ./222/cat_xml4.xml
55j o h n 55 S-mith55' | 2014-01-35 | ./222/cat_xml5.xml
j o h n2 D- Smith' | 2014-01-32 | ./222/cat_xml2.xml
j o h n -D- S-mith' | 2014-01-31 | ./222/cat_xml1.xml
j3o3h3n D3 S-mith3 | 2014-01-33 | ./222/cat_xml3.xml
j o h n -D- S-mith' | 2014-01-31 | ./cat_xml1.xml
j3o3h3n D3 S-mith3 | 2014-01-33 | ./cat_xml3.xml

3) Использованные ресурсы:
http://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html
http://citforum.ru/operating_systems/manpages/bash/BASH.1_2.shtml#expansion
http://www.theunixschool.com/2013/02/sed-examples-replace-delete-print-lines-csv-files.html
http://unix.stackexchange.com/questions/64645/text-between-two-tags
http://stackoverflow.com/questions/8476329/get-string-between-and-linux-directory

2 апр. 2014 г.

Full backup of CentOS 6.5 on IBM System x3650 M4


Использую книгу М. Кофлер "Linux. Установка, настройка, администрирование" 2013 года (далее - книгу), в основном Главу 25 Резервное копирование.
http://rutracker.org/forum/viewtopic.php?t=4617248

Для начала инсталлирую еще один архиватор:
# yum install lzop

Устанавливаю и настраиваю webmin, т. к. там есть Filesystem Backup.


1) Обзор вариантов резервирования.

1.1) Образ загрузочного тома и других (которые не LVM).
Создается и восстанавливается с помощью dd:
# dd if=/dev/sda1 of=/backup/boot.dd

1.2) Образ LVM-тома.
Создается снапшот, затем cat snapshot сжимается в image.lzo (в книге есть пример).
Попробовал вместо cat использовать dd для чтения тома LVM - результат одинаков.

1.2.1) Для чего делают бакап образом?
Если, к примеру, данные на томе - это образ виртуальной машины. Если утрировать: том со свапом не сархивировать, его можно забакапить лишь образом.
Видел в инете инструкцию, где, используют исталляционный диск и устанавливают систему с такого файла-образа (Debian).

1.2.2) Провел тест считывания образа логических томов LVM:

# time cat /dev/vg01/lv_home > /mnt/squid/lv_home.img
real    7m31.971s
-rw-r--r--  1 root   root   53687091200 Feb 26 10:50 lv_home.img

# time cat /dev/vg01/lv_home | lzop -c > /mnt/squid/lv_home.img.lzo
real    3m39.066s
-rw-r--r-- 1 root root 223889323 Feb 26 11:00 lv_home.img.lzo

Вывод: просто считанный файл-образ получается размером с том, хотя данных 200 МБ, а со сжатием намного эффективнее.

1.2.3) Как восстанавливать с образа?

1.2.3.1) Так восстанавливают прямо со снапшота (инет): # dd if=/dev/vg00/lv_root_snap of=/dev/vg00/lv_root

1.2.3.2) Я попробовал считать (как указано выше п.1.2.2) и аналогично записать образ /home обратно, и это сработало:

# umount /home
# mkfs.ext4 /dev/vg01/lv_home (форматирую, чтобы стереть все данные)
# lzop -dc /mnt/squid/lv_home.img.lzo > /dev/vg01/lv_home
# mount /home

1.3) Архив LVM-тома.
Создается снапшот, затем содержимое снапшота сжимается в tar.gz (в книге есть пример).

1.3.1) Как сохранить конфигурацию LVM? Чтобы создать такие же группу и тома для восстановления.
Ежедневная резервная копия должна включать содержимое каталога /etc/lvm.
Создать архив метаданных в /etc/lvm/backup можно с помощью команды vgcfgbackup. Восстановить метаданные можно с помощью vgcfgrestore.


2) Резервирование.

2.1) Для начала разделил то "что надо резервировать", то "что не надо" и "куда резервировать" на отдельные тома.
$ df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg01-lv_root     50G  3.6G   44G   8% /
tmpfs                        16G     0   16G   0% /dev/shm
/dev/sda2                   485M   67M  394M  15% /boot
/dev/sda1                   200M  260K  200M   1% /boot/efi
/dev/mapper/vg01-lv_squid   148G   91G   50G  65% /mnt/squid
/dev/mapper/vg01-lv_home     50G  196M   47G   1% /home
/dev/mapper/vg01-lv_log      50G  445M   47G   1% /var/log
/dev/mapper/vg01-lv_mysql    99G  224M   94G   1% /var/lib/mysql
/dev/mapper/vg01-lv_www     197G  8.6G  179G   5% /var/www
/dev/mapper/vg01-lv_backup  296G   52G  229G  19% /mnt/backup

2.2) Схема создания архива LVM-тома:
- Создавать снапшот
- Создавать архив (можно Filesystem Backup в webmin)
- Удалять снапшот

2.2.1) Написал скрипт создания снапшота.

# cat ./create_snap_before_backup
#!/bin/bash

# Если не переданы имя снапшота и расширение архива, то выход
if test $# -ne 2; then
  echo "Enter name of snapshot and archive extention"
  exit 1
fi

# Указываю значение переменных
snap_name="${1}_snap"
archive_ext=$2
backup_path="/mnt/backup"
snap_lv="/dev/vg01/$snap_name"
lv="/dev/vg01/lv_$1"
log="$backup_path/$snap_name.log"

# Логирую начало запуска скрипта
echo "BEGINING $0 for $snap_name.$archive_ext" &>> $log
date &>> $log
echo "" &>> $log

# Создаю директорию для монтирования снапшота
# -p  no error is existing
mkdir -p "$backup_path/$snap_name"

# Создаю снапшот и монтирую
lvcreate -s -L 1G -n $snap_name $lv &>> $log
mount -t ext4 $snap_lv "$backup_path/$snap_name" &>> $log

# Делаю ротацию архивов (4 штуки)
for i in 2 1 0; do
  if test $i -ne 0; then j=$i; i=$[$j+1]
  else j=''; i=1; fi

  if test -f "$backup_path/$snap_name$j.$archive_ext"; then
    mv -f "$backup_path/$snap_name$j.$archive_ext" "$backup_path/$snap_name$i.$archive_ext" &>> $log; fi
done

2.2.2) Написал скрипт удаления снапшота.

# cat ./remove_snap_after_backup
#!/bin/bash

# Если не передан параметр название снапшота, то выход
if test $# -ne 1; then
  echo "Enter name of snapshot"
  exit 1
fi

# Устанавливаю значения переменных
snap_name="${1}_snap"
backup_path="/mnt/backup"
snap_lv="/dev/vg01/$snap_name"
log="$backup_path/$snap_name.log"

# Удаляю снапшот с логированием в файл-лог
lvdisplay $snap_lv &>> $log
umount "$backup_path/$snap_name" &>> $log
lvremove -f $snap_lv &>> $log

# Логирую окончание процесса резервирования
date &>> $log
echo "ENDING $0 $snap_name Backup" &>> $log
echo "" &>> $log
echo "" &>> $log


2.2.3) In Webmin Filesystem Backup делаю Add a new backup of directory.

2.2.3.1) Для /var/www
Directories to backup /mnt/backup/www_snap
Backup to /mnt/backup/www_snap.tgz
Compress archive? yes, with gzip
Command to run before backup /home/sergeiki/bin/create_snap_before_backup www tgz
Command to run after backup /home/sergeiki/bin/remove_snap_after_backup www
Scheduled backup enabled? Enabled, at times chosen below.. Sunday 3:00

2.2.3.2) Для /
Directories to backup /mnt/backup/root_snap
Backup to /mnt/backup/root_snap.tgz
Files and directories to skip /boot /mnt/backup /mnt/squid /home /var/lib/mysql /var/log /var/www /sys /proc
Compress archive? yes, with gzip
Limit backup to one filesystem? No
Ignore read errors on files? Yes
Command to run before backup /home/sergeiki/bin/create_snap_before_backup root tgz
Command to run after backup /home/sergeiki/bin/remove_snap_after_backup root
Scheduled backup enabled? Enabled, after: /mnt/backup/www_snap to /mnt/backup/root_snap.tgz

2.2.3.2.1) Попробовал резервировать lv_root с исключением подмонтированного (Limit backup to one filesystem? Yes), много каталогов не забакапилось.
Я рассчитывал, что это будут /home, /mtn/*, /var/log и т.д. как мне и надо, но не забакапились и /dev, /proc, /sys...
Поэтому, указываю резервировать с подмонтированным, но исключаю /boot /mnt/backup /mnt/squid /home /var/lib/mysql /var/log /var/www /sys /proc

2.2.3.3) И т.д. для остальных LVM-томов.


2.2.4) Написал скрипт, создающий архивы образов /boot, /boot/efi, / и поставил его в cron на Sunday 2:00.

# cat ./create_snap_image |more
#!/bin/bash

# Путь для резервных копий
backup_path="/mnt/backup"

# Задаю имя логического диска, файл-лог, расширение архива
snap_name="sda1"
log="$backup_path/$snap_name.log"
archive_ext="gz"

# Логирую начало
echo "BEGINING $0 for $snap_name.$archive_ext Backup (/boot/efi)" &>> $log
date &>> $log
echo "" &>> $log

# Делаю ротацию архивов (4 штуки)
for i in 2 1 0; do
  if test $i -ne 0; then j=$i; i=$[$j+1]
  else j=''; i=1; fi

  if test -f "$backup_path/$snap_name$j.$archive_ext"; then
    mv -f "$backup_path/$snap_name$j.$archive_ext" "$backup_path/$snap_name$i.$archive_ext" &>> $log; fi
done

# Создаю архив образа логического тома и делаю запись в лог
(dd if=/dev/sda1 | gzip -c > $backup_path/$snap_name.$archive_ext) &>> $log
echo "" &>> $log

# Логирую окончание
date &>> $log
echo "ENDING $0 $snap_name Backup (/boot/efi)" &>> $log
echo "" &>> $log
echo "" &>> $log


snap_name="sda2"
log="$backup_path/$snap_name.log"
archive_ext="gz"

echo "BEGINING $0 for $snap_name.$archive_ext Backup (/boot)" &>> $log
date &>> $log
echo "" &>> $log

for i in 2 1 0; do
  if test $i -ne 0; then j=$i; i=$[$j+1]
  else j=''; i=1; fi

  if test -f "$backup_path/$snap_name$j.$archive_ext"; then
    mv -f "$backup_path/$snap_name$j.$archive_ext" "$backup_path/$snap_name$i.$archive_ext" &>> $log; fi
done

(dd if=/dev/sda1 | gzip -c > $backup_path/$snap_name.$archive_ext) &>> $log
echo "" &>> $log

date &>> $log
echo "ENDING $0 $snap_name Backup (/boot)" &>> $log
echo "" &>> $log
echo "" &>> $log


snap_name="root_snap"
log="$backup_path/$snap_name.log"
archive_ext="lzo"

echo "BEGINING $0 for $snap_name.$archive_ext Backup" &>> $log
date &>> $log
echo "" &>> $log

for i in 2 1 0; do
  if test $i -ne 0; then j=$i; i=$[$j+1]
  else j=''; i=1; fi

  if test -f "$backup_path/$snap_name$j.$archive_ext"; then
    mv -f "$backup_path/$snap_name$j.$archive_ext" "$backup_path/$snap_name$i.$archive_ext" &>> $log; fi
done

# Создаю снапшот (т. к. это LVM-том, а не обычный, как два предыдущих sda1 и sda2)
/sbin/lvcreate -s -L 1G -n $snap_name /dev/vg01/lv_root &>> $log

echo "" &>> $log
(dd if=/dev/vg01/root_snap | lzop -c > $backup_path/$snap_name.$archive_ext) &>> $log
echo "" &>> $log

# Удаляю снапшот
/sbin/lvremove -f /dev/vg01/root_snap &>> $log
echo "" &>> $log

date &>> $log
echo "ENDING $0 $snap_name Backup" &>> $log
echo "" &>> $log
echo "" &>> $log

2 окт. 2013 г.

CentOS 6.4 Log on HP Mini 110

1) Закачал Live-CD образ 700 МБ, сделал Live флешку.

2) Загружался с флешки, wireless не работала, выполнял # b43-fwcutter -w /lib/firmware wl_apsta_mimo.o — все равно не заработала.

3) Установил систему с флешки на диск.
3.1) Поразила быстрая скорость установки, затем — скорость работы системы.
3.2) Wireless не работала, выполнил # b43-fwcutter -w /lib/firmware wl_apsta_mimo.o, заработала (после перезагрузки).

4) Настроил внешний вид Gnome аналогично XFCE и LXDE.

5) Добавляю репозитарии:
# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpm -Uvh remi-release-6*.rpm

6) Устанавливаю torrent-client:
# yum —enablerepo=remi install transmission-cli transmission-common transmission-gtk

7) # yum install mc

8) NTFS
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
# rpm —import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# rpm -i rpmforge-release-0.5.2-2.el6.rf.*.rpm
# yum install fuse fuse-ntfs-3g

9) Changed File Management Preferences/Behavior/Always open in browser window.

10) There is no application installed for RAR archive files.
Do you want to search for an application to open this file?
Установило 26 пакетов. Итог: все равно не открывает, не найден unrar.
# yum install unrar

11) There is no application installed for AVI video files.
Do you want to search for an application to open this file?
11.1) Установило 32 пакета. Видео не заработало, появился конфликт в обновлениях.
Исправил: # yum erase libmodplug, # yum install libmodplug-0.8.7-1.el6.rf.i686.
11.2) Выполнил http://wiki.centos.org/TipsAndTricks/MultimediaOnCentOS
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
Error opening/initializing the selected video_out (-vo) device.
Поменял video output driver $ gmplayer -vo xv (можно и в меню плейеера).

12) После возврата из ждущего режима черный экран. Включается после изменения яркости.

13) Хотя при инсталляции указывал имя компьютера, все равно показывает localhost.localdomain.
Изменил через setup.

14) rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
rpm —import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
yum check-update
yum install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl

15) Пытаюсь закачать файлы с торрента — обрывается wi-fi сеть, начинает запрашивать пароль, приходится перегружать ОС.
Можно быстрее — если обрыв, перегружаю только модуль:
modprobe -r b43; modprobe b43
Или попробовать этот параметр:
modprobe -r b43; modprobe b43 pio=1 (попробовал — низкая скорость закачки, 512КБ)
echo «options b43 pio=1″ > /etc/modporbe.d/options-b43-pio.cof
Или удалить b43 (/lib/firmware/b43) и попробовать что-то другое.
Возможно причина в использовании спящего режима, из которого CentOS выходит с глюками.

16) Установка с DVD (Интернет отсутствует).

16.1) Настройка vsftp
# setsebool -P ftp_home_dir on; setsebool -P allow_ftpd_anon_write on // selinux
-A INPUT -m state —state NEW -m tcp -p tcp —dport 21 -j ACCEPT // /etc/sysconfig/iptables
# chkconfig vsftpd on //autoboot

16.2) Инициализация сети при загрузке
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 // ONBOOT=yes

16.3) Использование yum для установки с DVD
# vi /etc/yum.repos.d/CentOS-Media.repo
file:///pub/CentOS-DVD1/
file:///pub/CentOS-DVD2/
# mount -o loop /pub/isos/CentOS-6.4-x86_64-bin-DVD1.iso /pub/CentOS-DVD1
# mount -o loop /pub/isos/CentOS-6.4-x86_64-bin-DVD2.iso /pub/CentOS-DVD2
yum —disablerepo=\* —enablerepo=c6-media install mc

16.4 Связать php и postgresql
# yum —disablerepo=\* —enablerepo=c6-media install php-pgsql
 
17) xscreensaver
yum erase gnome-screensaver-2.28.3-24.el6_4.1.i686
yum install xscreensaver
add to System / Preferences / Sessions / Startup Applications
не работают glmatrix и др.


01/12/2013 
Установил xarchiver - вылетает при открытии rar-архива с паролем.
Зменил его на File Roller - всё ок.

Открыл один из архивов Archive Mounter - появилась ссылка на архив на Desktop.
Отмонтировал - сылка ушла.

21 мар. 2013 г.

VNC Server Configuration on Linux

На днях один коллега поделился, что настроил удаленный доступ к графическому столу Linux-сервера из Windows XP при помощи VNC и остался доволен.
«VNC… как давно это было, — подумалось мне, — на заре изучения мною Linux».
Причем, обычно настраивалась VNC-связка Linux->Windows (потому что, устанавливать и разбираться в Linux приходилось на своем компьютере, а необходимые приложения Windows запускать или в виртуалке или удаленно на Windows-серверах), а тут наоборот: Windows->Linux.
К тому же, вопросы про этот «наоборот» стали часто задавать мне последнее время те, кому приходится работать на «моих» Linux-серверах: «А можно удаленно работать с Linux наподобие mstsc или DameWare?». Покуда мне удавалось как-то отделаться от них, показав X-win32 или Xming ;-)

В общем, я заинтересовался, и решил настроить.

ОС на выбранном сервере:

# cat /etc/oracle-release
Oracle Linux Server release 5.7

Версия VNC Server, пусть остается какая есть из дистрибутива:

# rpm -qa|grep vnc
vnc-server-4.1.2-14.el5_6.6

В домашнем каталоге пользователя sergei VNC Server создаст директорию.vnc, а покуда ее нет:

# ls -l /home/sergei/.vnc
ls: /home/sergei/.vnc: No such file or directory

Задаю VNC-пароль для входа под пользователем sergei:

# su -c vncpasswd sergei
Password:
Verify:

Создался директорий .vnc и файл passwd:

# ls -l /home/sergei/.vnc
total 4
-rw——- 1 sergei sergei 8 Mar 21 14:10 passwd

Содержимое, отредактированного мною, конфига VNC Server:

# cat /etc/sysconfig/vncservers
VNCSERVERS=»1:sergei»

Проверяю, не болтается ли какой vnc-процесс:

# ps -e|grep vnc

Запускаю VNC Server:

# /etc/init.d/vncserver start
Starting VNC server: 1:sergei
New ‘dl1.ms:1 (sergei)’ desktop is dl1.ms:1

Creating default startup script /home/sergei/.vnc/xstartup
Starting applications specified in /home/sergei/.vnc/xstartup
Log file is /home/sergei/.vnc/dl1.ms:1.log

[  OK  ]

Появились процессы:

# ps -e|grep vnc
13136 ?        00:00:02 Xvnc
13199 ?        00:00:00 vncconfig

Устанавливаю в Windows XP VNC Viewer и захожу на dl1.ms:1, указав ранее заданный пароль, вижу twm desktop.

Настраиваю VNC Server еще для одного пользователя — oracle:

# ls -l /home/oracle/.vnc
ls: /home/oracle/.vnc: No such file or directory

# su -c vncpasswd oracle
Password:
Verify:

# /etc/init.d/vncserver stop
Shutting down VNC server: 1:sergei                         [  OK  ]

# ps -e|grep vnc

# cat /etc/sysconfig/vncservers
VNCSERVERS=»1:sergei 2:oracle»

# /etc/init.d/vncserver start
Starting VNC server: 1:sergei
New ‘dl1.ms:1 (sergei)’ desktop is dl1.ms:1

Starting applications specified in /home/sergei/.vnc/xstartup
Log file is /home/sergei/.vnc/dl1.ms:1.log

2:oracle
New ‘dl1.ms:2 (oracle)’ desktop is dl1.ms:2

Creating default startup script /home/oracle/.vnc/xstartup
Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/dl1.ms:2.log

[  OK  ]

# ls -l /home/oracle/.vnc
total 16
-rw-r—r— 1 oracle oinstall 593 Mar 21 15:37 dl1.ms:2.log
-rw-r—r— 1 oracle oinstall   6 Mar 21 15:37 dl1.ms:2.pid
-rw——- 1 oracle oinstall   8 Mar 21 15:33 passwd
-rwxr-xr-x 1 oracle oinstall 334 Mar 21 15:37 xstartup

В файле /home/oracle/.vnc/xstartup раскомментирую строки, чтобы грузился Gnome desktop (установленный по-умолчанию):

unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

Выполняю:

# /etc/init.d/vncserver restart

Подключаюсь к dl1.ms:2.