четверг, 23 августа 2012 г.

Шпаргалка по ZFS


Автор:Colin Seymour
Перевод:Евгений Ратников
Перевод:Сгибнев Михаил(некоторые уточнения)
 Очень полезная таблица, жаль, что не попала мне раньше.

$ man zpool
$ man zfs

Справка по структуре команд и их параметрам


$ su
Password:
# cd /
# mkfile 100m disk1 disk2 disk3 disk5
# mkfile 50m disk4
# ls -l disk*
-rw------T 1 root root 104857600 Sep 11 12:15 disk1
-rw------T 1 root root 104857600 Sep 11 12:15 disk2
-rw------T 1 root root 104857600 Sep 11 12:15 disk3
-rw------T 1 root root 52428800 Sep 11 12:15 disk4
-rw------T 1 root root 104857600 Sep 11 12:15 disk5

Создать несколько «виртуальных устройств» (vdevs как описано в документации к zpool). Они также могут быть реальными разделами диска, если таковые доступны.


# zpool create myzfs /disk1 /disk2
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
myzfs 191M 94K 191M 0% ONLINE -

Создать хранилище (пул устройств) и проверить его размер и использование.


# zpool status -v
pool: myzfs
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0

errors: No known data errors

Более детальная информация о хранилище.


# zpool destroy myzfs
# zpool list
no pools available

Удалить ZFS пул


# zpool create myzfs mirror /disk1 /disk4
invalid vdev specification
use '-f' to override the following errors:
mirror contains devices of different sizes

При попытке создания пула, vdevs которого имеют разичный размер, возникнет ошибка.
Если использовать флаг ‘-f’, то пул создастся, но размер будет соответствовать меньшему устройству.


# zpool create myzfs mirror /disk1 /disk2 /disk3
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
myzfs 95.5M 112K 95.4M 0% ONLINE -
# zpool status -v
pool: myzfs
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0
/disk3 ONLINE 0 0 0

errors: No known data errors

Создать «зеркалируемое» хранилище. В данном случае хранилище зеркалируется 3 раза.


# zpool detach myzfs /disk3
# zpool status -v
pool: myzfs
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0

errors: No known data errors

Исключить устройство из пула.


# zpool attach myzfs /disk1 /disk3
# zpool status -v
pool: myzfs
state: ONLINE
scrub: resilver completed with 0 errors on Tue Sep 11 13:31:49 2007
config:

NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0
/disk3 ONLINE 0 0 0

errors: No known data errors

Добавляем устройство в пул. В этом случае мы создадим зеркало, если его до сих пор не было, а если
было, то в зеркале будет 3 устройства.


# zpool remove myzfs /disk3
cannot remove /disk3: only inactive hot spares can be removed
# zpool detach myzfs /disk3

Попытка удалить устройство из пула.
В данном случае устройство используется в составе зеркала, поэтому надо применить команду «zpool detach».


# zpool add myzfs spare /disk3
# zpool status -v
pool: myzfs
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0
spares
/disk3 AVAIL

errors: No known data errors

Добавление диска горячей замены к пулу.


# zpool remove myzfs /disk3
# zpool status -v
pool: myzfs
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0

errors: No known data errors

Удаление диска горячей замены из пула.


# zpool offline myzfs /disk1
# zpool status -v
pool: myzfs
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning
in a degraded state.
action: Online the device using 'zpool online' or replace the device
with 'zpool replace'.
scrub: resilver completed with 0 errors on Tue Sep 11 13:39:25 2007
config:

NAME STATE READ WRITE CKSUM
myzfs DEGRADED 0 0 0
mirror DEGRADED 0 0 0
/disk1 OFFLINE 0 0 0
/disk2 ONLINE 0 0 0

errors: No known data errors

Запретить использование выбранного устройства (состояние offline). Пока устройство не будет возвращено к использованию (состояние online) на него не будет производиться запись и с него не будет производиться чтение. Чтобы временно отключить выбранное устройство используйте ключ -t. Перезагрузка вернет устройство в состояние online.


# zpool online myzfs /disk1
# zpool status -v
pool: myzfs
state: ONLINE
scrub: resilver completed with 0 errors on Tue Sep 11 13:47:14 2007
config:

NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk2 ONLINE 0 0 0

errors: No known data errors

Разрешить использование выбранного устройства (состояние online).


# zpool replace myzfs /disk1 /disk3
# zpool status -v
pool: myzfs
state: ONLINE
scrub: resilver completed with 0 errors on Tue Sep 11 13:25:48 2007
config:

NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk3 ONLINE 0 0 0
/disk2 ONLINE 0 0 0

errors: No known data errors

Заменить один диск на другой в пуле устройств, например в случае неисправности /disk1.


# zpool scrub myzfs

«Чистка» хранилища. Проверяет все соответствия контрольных сумм. На зеркалируемых или RAID пулах ZFS автоматически исправит повреждения в данных.
ВНИМАНИЕ: «чистка» интенсивно использует операции ввода-вывода.


# zpool export myzfs
# zpool list
no pools available

Экспорт хранилища для последующего импортирования на другой системе.


# zpool import -d / myzfs
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
myzfs 95.5M 114K 95.4M 0% ONLINE -

Импорт экспортированного хранилища.
Если ключ -d не задан, команда ищет /dev/dsk.
Так как в данном примере мы используем файлы, необходимо указать директорию с файлами используемыми хранилищем.


# zpool upgrade
This system is currently running ZFS pool version 8.

All pools are formatted using this version.
# zpool upgrade -v
This system is currently running ZFS pool version 8.
The following versions are supported:
VER DESCRIPTION
--- --------------------------------------------------------
1 Initial ZFS version
2 Ditto blocks (replicated metadata)
3 Hot spares and double parity RAID-Z
4 zpool history
5 Compression using the gzip algorithm
6 pool properties
7 Separate intent log devices
8 Delegated administration
For more information on a particular version, including supported
releases, see:
http://www.opensolaris.org/os/community/zfs/version/N

Where 'N' is the version number.

Показать версию используемого пула. Флаг -v показывает возможности, поддерживаемые данным пулом. Используйте флаг -a, чтобы обновить все доступные пулы до новейшей из них версии. Обновленные пулы больше не будут доступны из систем, на которых работают более старые версии.


# zpool iostat 5
capacity operations bandwidth
pool used avail read write read write
---------- ----- ----- ----- ----- ----- -----
myzfs 112K 95.4M 0 4 26 11.4K
myzfs 112K 95.4M 0 0 0 0
myzfs 112K 95.4M 0 0 0 0

Получить статистику по операциям ввода/вывода


# zfs create myzfs/colin
# df -h
Filesystem kbytes used avail capacity Mounted on
...
myzfs/colin 64M 18K 63M 1% /myzfs/colin

Создать файловую систему и проверить ее стандартной командой df -h. Файловые системы автоматически монтируются в /zfs (по умолчанию). См. раздел Mountpoints в руководстве к zfs.


# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 139K 63.4M 19K /myzfs
myzfs/colin 18K 63.4M 18K /myzfs/colin

Получить список файловых систем zfs


# zpool add myzfs /disk1
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: pool uses mirror and new vdev is file

Попытка добавить одно устройство к зеркалируемому хранилищу провалилась.


# zpool add myzfs mirror /disk1 /disk5
# zpool status -v
pool: myzfs
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
myzfs ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk3 ONLINE 0 0 0
/disk2 ONLINE 0 0 0
mirror ONLINE 0 0 0
/disk1 ONLINE 0 0 0
/disk5 ONLINE 0 0 0

errors: No known data errors

Добавление зеркалируемого набора устройств (vdevs).


# zfs create myzfs/colin2
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 172K 159M 21K /myzfs
myzfs/colin 18K 159M 18K /myzfs/colin
myzfs/colin2 18K 159M 18K /myzfs/colin2

Создать вторую файловую систему. Заметим, что обе файловые системы показывают доступные 159M, т.к. не заданы квоты. Любая из файловых систем может вырасти до размеров всего пула.


# zfs set reservation=20m myzfs/colin
# zfs list -o reservation
RESERV
none
20M
none

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


# zfs set quota=20m myzfs/colin2
# zfs list -o quota myzfs/colin myzfs/colin2
QUOTA
none
20M

Установить и показать квоты.


# zfs set compression=on myzfs/colin2
# zfs list -o compression
COMPRESS
off
off
on

Включить и проверить сжатие.


# zfs set sharenfs=on myzfs/colin2
# zfs get sharenfs myzfs/colin2
NAME PROPERTY VALUE SOURCE
myzfs/colin2 sharenfs on local

Сделать общий ресурс через NFS. При этом, для того, чтобы ресурс был доступен после перезагрузки, не требуется вносить изменения /etc/dfs/dfstab.


# zfs set sharesmb=on myzfs/colin2
# zfs get sharesmb myzfs/colin2
NAME PROPERTY VALUE SOURCE
myzfs/colin2 sharesmb on local

Сделать общий ресурс по протоколу CIFS/SMB. Таким образом мы предоставим доступ к нашей файловой системе ZFS пользователям Windows.


# zfs snapshot myzfs/colin@test
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 20.2M 139M 21K /myzfs
myzfs/colin 18K 159M 18K /myzfs/colin
myzfs/colin@test 0 - 18K -
myzfs/colin2 18K 20.0M 18K /myzfs/colin2

Создать snapshot под названием test.


# zfs rollback myzfs/colin@test

Откатится к ранее созданному snapshot test.


# zfs clone myzfs/colin@test myzfs/colin3
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 20.2M 139M 21K /myzfs
myzfs/colin 18K 159M 18K /myzfs/colin
myzfs/colin@test 0 - 18K -
myzfs/colin2 18K 20.0M 18K /myzfs/colin2
myzfs/colin3 0 139M 18K /myzfs/colin3

Напрямую к snapshot’у обращаться нельзя. Необходимо клонировать файловую систему (версии test). Клон может располагаться в любом месте иерархии ZFS и будет сделан того же типа, что и оригинал.


# zfs destroy myzfs/colin2
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 20.1M 139M 22K /myzfs
myzfs/colin 18K 159M 18K /myzfs/colin
myzfs/colin@test 0 - 18K -
myzfs/colin3 0 139M 18K /myzfs/colin3

Уничтожить выбранную файловую систему.


# zfs destroy myzfs/colin
cannot destroy 'myzfs/colin': filesystem has children
use '-r' to destroy the following datasets:
myzfs/colin@test

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


# zfs promote myzfs/colin3
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 20.1M 139M 21K /myzfs
myzfs/colin 0 159M 18K /myzfs/colin
myzfs/colin3 18K 139M 18K /myzfs/colin3
myzfs/colin3@test 0 - 18K -
# zfs destroy myzfs/colin
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 147K 159M 21K /myzfs
myzfs/colin3 18K 159M 18K /myzfs/colin3
myzfs/colin3@test 0 - 18K -

Вынесение клонированной файловой системы. Делается для того чтобы убрать зависимость от snapshot’а оригинала. Теперь snapshot является вложенным для клонированной файловой системы и оригинал файловой системы можно удалять.


# zfs rename myzfs/colin3 myzfs/bob
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 153K 159M 21K /myzfs
myzfs/bob 18K 159M 18K /myzfs/bob
myzfs/bob@test 0 - 18K -
# zfs rename myzfs/bob@test myzfs/bob@newtest
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 146K 159M 20K /myzfs
myzfs/bob 18K 159M 18K /myzfs/bob
myzfs/bob@newtest 0 - 18K -

Переименование файловой системы и отдельное переименование snapshot.


# zfs get all
NAME PROPERTY VALUE SOURCE
myzfs type filesystem -
myzfs creation Tue Sep 11 14:21 2007 -
myzfs used 146K -
myzfs available 159M -
myzfs referenced 20K -
[...]

Отобразить свойства данного пула. В дальнейшем данная команда может быть дополнена другими опциями.


# zpool destroy myzfs
cannot destroy 'myzfs': pool is not empty
use '-f' to force destruction anyway

Нельзя удалить пул с активными файловыми системами.


# zfs unmount myzfs/bob
# df -h
myzfs 159M 20K 159M 1% /myzfs

Отмонтировать файловую систему в ZFS.


# zfs mount myzfs/bob
# df -h
myzfs 159M 20K 159M 1% /myzfs
myzfs/bob 159M 18K 159M 1% /myzfs/bob

Монтировать в ZFS файловую систему. Это происходит автоматически при загрузке.


# zfs send myzfs/bob@newtest | ssh localhost zfs receive myzfs/backup
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
myzfs 172K 159M 20K /myzfs
myzfs/backup 18K 159M 18K /myzfs/backup
myzfs/backup@newtest 0 - 18K -
myzfs/bob 18K 159M 18K /myzfs/bob
myzfs/bob@newtest 0 - 18K -

Создается snapshot, который передается на вход команды zfs reveive. В данном случае, в качестве примера, использовано zfs reveive на localhost, но можно делать резервные копии на удаленном хосте или в локальном файле.


# zpool history
History for 'myzfs':
2007-09-11.15:35:50 zpool create myzfs mirror /disk1 /disk2 /disk3
2007-09-11.15:36:00 zpool detach myzfs /disk3
2007-09-11.15:36:10 zpool attach myzfs /disk1 /disk3
2007-09-11.15:36:53 zpool detach myzfs /disk3
2007-09-11.15:36:59 zpool add myzfs spare /disk3
2007-09-11.15:37:09 zpool remove myzfs /disk3
2007-09-11.15:37:18 zpool offline myzfs /disk1
2007-09-11.15:37:27 zpool online myzfs /disk1
2007-09-11.15:37:37 zpool replace myzfs /disk1 /disk3
2007-09-11.15:37:47 zpool scrub myzfs
2007-09-11.15:37:57 zpool export myzfs
2007-09-11.15:38:05 zpool import -d / myzfs
2007-09-11.15:38:52 zfs create myzfs/colin
2007-09-11.15:39:27 zpool add myzfs mirror /disk1 /disk5
2007-09-11.15:39:38 zfs create myzfs/colin2
2007-09-11.15:39:50 zfs set reservation=20m myzfs/colin
2007-09-11.15:40:18 zfs set quota=20m myzfs/colin2
2007-09-11.15:40:35 zfs set compression=on myzfs/colin2
2007-09-11.15:40:48 zfs snapshot myzfs/colin@test
2007-09-11.15:40:59 zfs rollback myzfs/colin@test
2007-09-11.15:41:11 zfs clone myzfs/colin@test myzfs/colin3
2007-09-11.15:41:25 zfs destroy myzfs/colin2
2007-09-11.15:42:12 zfs promote myzfs/colin3
2007-09-11.15:42:26 zfs rename myzfs/colin3 myzfs/bob
2007-09-11.15:42:57 zfs destroy myzfs/colin
2007-09-11.15:43:23 zfs rename myzfs/bob@test myzfs/bob@newtest
2007-09-11.15:44:30 zfs receive myzfs/backup

Показать историю команд для всех хранилищ. Можно посмотреть историю только для одного хранилища указав его имя в командной строке. Храниться история только для существующих хранилищ. При удалении хранилища его история удаляется.


# zpool destroy -f myzfs
# zpool status -v
no pools available

Используйте ключ -f, чтобы удалить хранилище с существующими файловыми файловыми системами.



Добавляем дрова на RAID контроллер для Adaptec RAID 6805 в FreeNAS (Nas4free, FreeBSD)

Для NAS4Free (FreeBSD 9) драйверов к Adaptec RAID 6805 пока нет, но когда появятся принцип подключения будет тотже.

2-а Варианта внедрения драйверов:

1-ый ВАРИАНТ - полуавтоматический:


Плюсы:
    +++ не приходится каждый раз копировать и прогружать модули драйверов для контроллера
    +++ не требуется дополнительных носителей и морочится с монтирование разных систем для дальнейшего копированаия модулей

Минусы:
    --- Нужно редактировать оригинальный ISO образ, хотя там все просто :)


На мой взгляд попроще и попрактичней - добавляем драйвера в установочный образ.
Чтобы в дальнейшем по сто раз не монтировать к примеру флешку и не вытягивать с нее модули.

1) Добавляем в образ файлики в папку /boot/kernel (к примеру программой ISO Master):
aacu.ko
aacu64.ko

2) Редактируем /boot/loader.conf (добавлем на автозагрузку модули)
aacu_load="YES"
aacu64_load="YES"

3) Ставим FreeNAS (NAS4Free)

4) Еще раз запускаемся с LiveCD и теперь добавляем драйвера на автозагрузка в установленную систему или сразу после установки опять входим в "Shell":
# mkdir /mnt/hdd

Монтируем установленную систему (если пишет что-то типа "GEOM: ufsid/3c3103ad62baad03: geometry does not match label (16h,63s != 16h,255s)." - вероятней всего вы монтируете не тот раздел, посмотреть возможные разделы можно примерно так "ls -l /dev/aac*")
# mount -t ufs /dev/aacd0s1a /mnt/hdd
# cp /cdrom/boot/modules/acc* /mnt/hdd/boot/modules

Добавляем внизу файлика (Для того чтобы начать печатать в "vi" нужно нажать "i", чтобы сохраниться и выйти - "Esc" и набрать ":wq", выйти БЕЗ сохранения - "Esc" и набрать ":!q")
# vi /mnt/hdd/boot/loader.conf
aacu_load="YES"
aacu64_load="YES"



2-ой ВАРИАНТ - Ручной:



Плюсы:
    +++ Оригинальный образ и все делаеться средствами системы, кроме дров ничего не надо.

Минусы:
    --- все делается ручками
    --- требуются дополнительные носители, на которых располагаются драйвера.


1) Скидываем на наш носитель драйвера а конкретно нас интересует только два файлика:
aacu.ko
aacu64.ko

2) Грузимся с LiveCD и заходим в "Shell"

3) Вставляем и монтируем нашу флешку, у меня FAT32 (если у Вас NTFS, соответственно тип пишем "-t ntfs"):

Чтобы определить букву флешки можно заглянуть в dmesg или на консоль плюнет сообщение (перемещаться вверх вниз по консоли можно нажав кнопку "ScrLk").
Не забываем, что монтируем разделы а не устройства.
# mkdir /mnt/flash
# mount -t msdosfs /dev/da0s1 /mnt/flash
# cp /mnt/flash/acc* /boot/modules

Добавляем внизу файлика (Для того чтобы начать печатать в "vi" нужно нажать "i", чтобы сохраниться и выйти - "Esc" и набрать ":wq", выйти БЕЗ сохранения - "Esc" и набрать ":!q")
# vi /boot/loader.conf
aacu_load="YES"
aacu64_load="YES"

4) Подгружаем драйвера на живую в зависимости от вашей архитектуры:
# kldload aacu64
или
# kldload aacu

5) Теперь выходим из "Shell":
"Ctrl" + "D"
или
# exit

6) Ставим систему.

7) Еще раз запускаемся с LiveCD (повтороно прейдется проделать пункты с 3-его по 5-ый) или сразу после установки опять входим в "Shell"и теперь добавляем драйвера на автозагрузка в установленную систему :
# mkdir /mnt/hdd

Монтируем установленную систему (если пишет что-то типа "GEOM: ufsid/3c3103ad62baad03: geometry does not match label (16h,63s != 16h,255s)." - вероятней всего вы монтируете не тот раздел, посмотреть возможные разделы можно примерно так "ls -l /dev/aac*")
# mount -t ufs /dev/aacd0s1a /mnt/hdd
# cp /mnt/flash/acc* /mnt/hdd/boot/modules

Добавляем внизу файлика (Для того чтобы начать печатать в "vi" нужно нажать "i", чтобы сохраниться и выйти - "Esc" и набрать ":wq", выйти БЕЗ сохранения - "Esc" и набрать ":!q")
# vi /mnt/hdd/boot/loader.conf
aacu_load="YES"
aacu64_load="YES"

8) Ребутимся
# reboot

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

Установка TigerVNC Centos 6.3 (VNC server)

1) Устанавливаем TigerVNC
# yum -y install tigervnc-server

2) Создадим пользователей:
# useradd -m user
# useradd -m guest
# useradd -m guest2
# passwd user
# passwd guest
# passwd guest2

3) Устанавливаем пароли VNC для имеющихся пользователей (НЕ ПУТАТЬ С СИСТЕМНЫМИ ПАРОЛЯМИ):
# su - user
$ vncpasswd
$ su - guest
$ vncpasswd
$ su - guest2
$ vncpasswd



4) Настраиваем /etc/sysconfig/vncservers (прописываем имеющихся пользователей, если нет - создаем):
# cat /etc/sysconfig/vncservers | egrep -v "(^#.*|^$)"
VNCSERVERS="1:user 2:guest 3:guest"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"
VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp"
VNCSERVERARGS[3]="-geometry 1024x768 -nolisten tcp"

Из аргументов актуально только разрешение прописать (-geometry 1024x768) и лишние порты не слушать (-nolisten tcp) остальное умеют делать клиенты.


"1:", "2:", ... - порты для подключения 5900 + .
[1], [2], ... - аргументы для соответствующих портов.


Посмотреть занятые порты можно в файлике:
# cat /etc/services


5) Не забываем открыть порты если включен фаервол (iptables):
-A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,5801:5803 -j ACCEPT


6) Включаем TigerVNC на автозапуск:
# chkconfig vncserver on


Стартуем сервис:
# service vncserver start


7) Конектимся:
Любым VNC клиентом 192.168.0.1:5901, 192.168.0.1:5902, 192.168.0.1:5903


Более подробно можно почитать на офсайте http://wiki.centos.org/HowTos/VNC-Server

пятница, 6 июля 2012 г.

Моя "идеальная" Boot загрузочная флешка с установкой CentOS 6.2 и LiveCD/DVD/Flash

Задачи:


1) Сделать boot загрузочную флешку УНИВЕРСАЛЬНОЙ (на любую флешку можно было залить и на любой ОС прочитать и записать)

2) Запихнуть на флешку установку CentOS и загрузку LiveDVD или LiveCD с ним (LVM разделы видят только RedHat-подобные системы)

Выражаю благодарность в написании статьи любимому торрент-трекер nnm-club.ru, всем пользователя указанных мною сборок и особенно FILTH2012 ® , conty9SunOK.


пятница, 15 июня 2012 г.

Загрузка виртуальной машины с boot-загрузочной флешки (Boot VirtualBox machine from a USB flash drive)

Встал вопрос не вставать :) ... и не перезагружать машинку при тестировании boot загрузки с USB флешки в VirtualBox.

OS: ubuntu-12.04-desktop-amd64

1) Добавим нашего пользователя в группу disk (Не пытайтесь добавить пользователя конкретного на управление, к примеру, командой setfacl - одноразово помогает, при следующем подключении флешки права скинутся). P.S. тем самым избавляемся от рекомендации запускать из под рута.
# gpasswd -M alektronik disk


2) Перелогиниваемся (Все дальнейшие действия производим из под НАШЕГО ПОЛЬЗОВАТЕЛЯ).

3) Смотрим как у нас флешка определилась
$ mount
/dev/sdd1 on /media/AlektroNik_Works type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

4) Создаем виртуальный диск ссылающийся на нашу флешку (ОБЯЗАТЕЛЬНО ссылаем на устройство (SDD), а НЕ на раздел (SSD1), а то MBR не увидет).
$ VBoxManage internalcommands createrawvmdk -filename /home/alektronik/VirtualBox\ VMs/usb_sdd.vmdk -rawdisk /dev/sdd

5) Заходим в свойства виртуальной машинки или создаем новую и добавляем наш виртуальный диск (/home/alektronik/VirtualBox\ VMs/usb_sdd.vmdk).

Усе ;)





среда, 23 мая 2012 г.

Thunderbird + IMAP: проверка почты во всех папках, а не только во входящих

По-умолчанию Thunderbird проверяет новую почту только во входящих.
Для проверки во всех папках и аккаунтах  подправим немного параметры птички:
Входим в "Настройки" -> "Дополнительные" -> "Основные" -> "Редактор настроек..."
и выставляем параметр
mail.server.default.check_all_folders_for_new    в     true


Подробности: http://kb.mozillazine.org/How_do_I_check_for_new_messages_in_other_folders#IMAP

среда, 2 мая 2012 г.

Список радиостанций для Rhythmbox


Надоело иметь глюки с флешплеерами, решил перебраться на плеер полноценный.
По мере своего желания буду пополнять. :)
Хороший список радиостанций откуда можно насобирать http://radio.akado.ru/.
  1. DFM - http://92.241.191.130/stream/2002/
  2. ENERGY - http://radiostream.akado.ru/playlist/radio.m3u?station=nrj&stream=192
  3. ZaycevFM(128) - http://zaycev.fm:9002/ZaycevFM(128)
  4. RU FM - http://radiostream.akado.ru/playlist/radio.m3u?station=rufm&stream=192

среда, 25 апреля 2012 г.

Сборник MSI пакетов для раскатывания групповыми политиками (GPO)

Для удобства решил собрать все MSI пакеты, которые не так просто достать в одну кучку:

1) Adobe Reader MSI

Качаем свою версию отсюда
ftp://ftp.adobe.com/pub/adobe/reader/win/

2) Skype полная версия не требующая подключения к интернету.
Подставляем последнюю вресию и качаем :)
http://download.skype.com/msi/SkypeSetup_6.2.66.106.msi

3) Adobe Flash Player
http://www.adobe.com/products/flashplayer/distribution3.html

4) JAVA
Грузим *.EXE - http://www.java.com/ru/download/manual.jsp
Запускаем *.EXE (НЕ УСТАНАВЛИВАЕМ, просто запускаем для распаковки)
Копируем папку с java в нужную нам шару:

Windows Vista и Windows 7
C:\Users\<пользователь>\AppData\LocalLow\Sun\Java\jre1.6.0_05

Windows XP

C:\Documents and Settings\<пользователь>\Local Settings\ApplicationData\Sun\Java\ jre1.6.0_05


Оригинальная инструкция - http://www.java.com/ru/download/help/msi_install.xml


5) Google Chrome (для Windows) альтернативный (автономный) установочный файл

MSI пакет:
https://www.google.com/work/chrome/browser/

EXE пакет :
http://support.google.com/chrome/bin/answer.py?hl=ru&answer=126299

GPO шаблон для AD
http://www.chromium.org/administrators/policy-templates

Замечательная статья по развертыванию через GPO
http://www.oszone.net/16219/chrome-gpo

Несколько нюансов при настройке GPO Google Chrome, с которыми я столкнулся:

  • На настройки клиентов влияет только раздел шаблона "Google/Google Chrome". Для чего нужен раздел "Google/Google Chrome (Рекомендованные)" я так и не понял и описания нигде не нашел :)
  • Для настройки поиска по-умолчанию я выбрал Яндекс и подсказки Яндекса ... поддержим отечественного производителя ;)
Google/Google Chrome/Поисковая система по умолчанию
Policy Setting
URL используемой по умолчанию поисковой системы для запроса подсказок         Enabled
URL используемой по умолчанию поисковой системы для запроса подсказок         http://suggest.yandex.ru/suggest-ff.cgi?part={searchTerms}
Policy Setting
URL поиска для поисковой системы по умолчанию         Enabled
URL поиска для поисковой системы по умолчанию         http://yandex.ru/yandsearch?text={searchTerms}
Policy Setting
Включить поисковую систему по умолчанию         Enabled
Значок поисковой системы по умолчанию         Enabled
Значок поисковой системы по умолчанию         http://yandex.ru/favicon.ico
Название поисковой системы по умолчанию         Enabled
Название поисковой системы по умолчанию         Яндекс


  • И прописал принудительно устанавливаемые расширения Adblock Plus (Beta), Chrome Sniffer, Я.Переводчик:
Тут у меня сработал инстинкт, что не может быть все так просто. И я решил, что ссылка "https://clients2.google.com/service/update2/crx" из описания должна быть для каждого расширения своя ... тупня :) ... Само собой это не так, для расширений с маркета гугла она едина. ID расширения можно посмотреть либо в установленном расширении включив "Режим разработчика" или из самого линка расширения после "https://chrome.google.com/webstore/detail/".
Google/Google Chrome/Расширения
Policy Setting
Настройка списка принудительно устанавливаемых расширений Enabled
Идентификаторы расширений и URL обновлений, устанавливаемых без подтверждения
bagkmcapnndnncpcocmfplbdejejlgig;https://clients2.google.com/service/update2/crx
cfhdojbkjhnklbpkdaibdccddilifddb;https://clients2.google.com/service/update2/crx
homgcnaoacgigpkkljjjekpignblkeae;https://clients2.google.com/service/update2/crx
pchfckkccldkbclgdepkaonamkignanh;https://clients2.google.com/service/update2/crx
fnfnbeppfinmnjnjhedifcfllpcfgeea;https://clients2.google.com/service/update2/crx


пятница, 13 апреля 2012 г.

PXE загрузка на виртуальных машинах VirtualBox

Существует проблема загрузки по сети (PXE) при использовании виртуальных машин VirtualBox.

Эмуляторы сетевых карт, которые изначально поддерживают загрузку PXE всего два:
PCnet-PCI II
PCnet-FAST III

При работе с Windows XP этот нюанс не доставляет особых неудобств, но когда речь заходит о Windows 7 приходится выключать систему и менять эмулятор т. к. в Windows 7 нет поддержки PCnet-* и, соответственно, нет сети.

Избежать данного неудобства довольно таки просто.
1) Смотрим  версию своего VirtualBox (через справку, на пример)
2) Заходим на сайт VirtualBox выбираем свою версию и качаем Oracle VM VirtualBox Extension Pack"
http://download.virtualbox.org/virtualbox/
На пример:
Oracle_VM_VirtualBox_Extension_Pack-4.1.2.vbox-extpack

3) Ставится он банальным двойным кликом ЛКМ.

В итоге мы получаем:
Поддержку USB 2.0 devices, VirtualBox RDP и PXE boot для карт Intel PRO.

Единственным нюансом является автоматический смена лицензии использования на 
https://www.virtualbox.org/wiki/VirtualBox_PUEL. Т. е. только для персонального использования.

Красиво оформляем код в блоге с подсветкой синтаксиса.

Надоело вставлять конфиги и постоянно натыкаться на то, что движок мне где то поменял символы или вообще не отобразил нужный текст. А самое интересное, что блог может автоматом еще и дописывать мне код :)

Выбрал самый оптимальный вариант подсветки синтаксиса и оформления кода SyntaxHighlighter.

четверг, 1 марта 2012 г.

Маска сети, как рассчитывать

Сложно ли расчитать маску сети? Это очень просто. Для этого достаточно знать действия первого класса обычной школы и знать степени числа 2. Но когда спрашиваешь на собеседовании, что такое маска сети и как её посчитать,  90% начинают рисовать нолики  и единички, говорят, что вот если бы был под рукой калькулятор для расчета масок.
   Решил завести ещё одну рубрику и начать с «главного» вопроса для этой рубрики. Как по сетевой массе рассчитать количество адресов. Сетевой адрес состоит из двух частей: адреса сети и адреса хоста в этой сети. А маска сети как раз и является той разделительной чертой, которая разделяет эти адреса.
   Теория: маска сети определяет, сколько бит в IP адресе идентифицирует сеть.  Рассмотрим частные адреса  (RFC1918) из сети класса  «С»: они занимают диапазон 192.168.0.0 - 192.168.255.255. Маска этого сегмента 192.168.0.0/16. Как рассчитать, сколько это адресов?
   Запись 192.168.0.0/16 (255.255.0.0) означает, что под адрес сети занято 16 бит. Если адрес перевести в двоичное исчисление, то первые 16 бит это – 192.168. Это и есть адрес сети: 192.168.0.0.

четверг, 23 февраля 2012 г.

Segmentation fault (core dumped) Rejik3

В коме-то веке решил поставить Rejik3.
Поставил, настроил ... и опля при запуске redirector создавал мне "redirector.core" и вываливался с ошибкой "Segmentation fault (core dumped)".

В общем буду краток.
Для работы режика ему необходима хотябы одна сексция и обязательные параметры.
Вот пример конфига:



P. S. Пока гуглил проблемку наткнулся на темку на оф. сайте с ответом, но так и не понял как я проглядел ответ, в итоге самому пришлось допирать :)

понедельник, 13 февраля 2012 г.

Ошибка при установке Acronis Backup & Recovery 11.0.17217 Workstation Server + Universal Restore


==========
Ошибка
==========

четверг, 8 сентября 2011 г.

Не работает клавиатура в приложениях wine


На чем делаю:
ОС - Mint Linux (Ubuntu, только лучше :) )
Версия WINE - 1.2.2


Две проблемы, которые могут возникнуть с клавиатурой в играх или приложениях через WINE:
1) Связана с библиотекой dinput8.dll. (Клавиатура не работает частично.)
2) Связана с автоматическим переключателем раскладок клавиатуры (XNeur).

вторник, 16 августа 2011 г.

Eclipse + Aptana = бесплатный кросплатформенный редактор HTML, CSS, JavaScript, Perl, PHP, Python, Ruby,Tcl и многое другое для Linux, Mac OS X и Windows.

Долго искал идеал для разработки и наконец-то нашел:


Eclipse - очень многофункциональный редактор поддерживает много языков программирования и плагинов.


Aptana - можно использовать как плагин к Eclipse, а можно и отждельно! Функционал конечно поменьше, но лично для меня просто идеален (HTML, CSS, JavaScript, PHP, Ruby). Из особенностей, которые я заметил, в сложно сформулированных местах кода, к примеру,  длинные извращенные условия, игры со скобками и т.д. Aptana лучше распознает и дописывает теги чем Eclipse. Но Eclipse тем и хорош что внего можно внедрить уйму всего помимо Aptana :)

вторник, 11 января 2011 г.

Komodo Edit - Бесплатный кросплатформенный редактор HTML, CSS, JavaScript, Perl, PHP, Python, Ruby,Tcl и многое другое для Linux, Mac OS X и Windows.

Установка Komodo Edit 6.0.3 на Calculate (Gentoo) Linux:
(оригинал - http://docs.activestate.com/komodo/4.4/install.html#Installing_Komodo_on_Linux)

Качаем и распаковываем:

Качаем отсюда: http://www.activestate.com/komodo-edit/downloads
# tar -zxvf Komodo-Edit-6.0.3-6811-linux-libcpp6-x86.tar.gz
# cd Komodo-Edit-6.0.3-6811-linux-libcpp6-x86
# sh install.sh
Тут прописываем путь для установки:
/opt/komodo/
# export PATH="/opt/komodo/bin:$PATH"
# ln -s "/opt/komodo/bin/komodo" /usr/local/bin/komodo

Запустить можно из командной строки:
komodo
или:
Меню - приложения - разработка - Komodo Edit

среда, 15 декабря 2010 г.

Добовляем права (ACL) на папки и файлы для нескольких пользователе или групп с помощью setfacl и getfacl. НЕ ЧЕРЕЗ CHMOD.

Выставляем права для в будущем создаваемых файлов в папках (только директории могут допускаться ACL по умолчанию) по умолчанию (d:u:vasya:rwx)  и уже существующих (u:vasya:rwx) папок (-type d) и файлов (-type f) для пользователя, а заодно выставим маску полную принудительно, а то на некоторых файлах ограничиваются права, которые мы пытаемся выставить:

Даем доступ:
# find /home/dir/ -type d -exec setfacl -m d:u:vu2004:rwx,u:vu2004:rwx {} \;
# find /home/dir/ -type f -exec setfacl -m u:vu2004:rwx,m:rwx {} \;

P.S. у setfacl рекурсивную (-R) обработку не указываем - нет смысла find и так ищет именно то, что нам нужно.

Просмотреть выставленные права:
# getfacl /home/dir

Удалить рекурсивно все внешние ACL (т.е. все кроме родных, которые выставляются с помощью CHMOD)
# setfacl -Rb /home/dir

вторник, 14 декабря 2010 г.

В системе звук есть, а в браузаре нет. Или как задать карту по умолчанию.

Воткнул в свой системник беспроводные наушники, в системе обнаружилась новая звуковая карта. В "Настройки" - "Параметры системы" - "Мультимедиа" поднял на верх (выставил приоритет) новое звуковое устройство. Звук в системе появился, но в браузере видео есть, а звука, увы, нет. Что же делать? Обрыл весь инет ...забил голову бредовыми идеями и все таки элементарная логика взяла свое.
Вот что у меня получилось.

вторник, 7 декабря 2010 г.

Upgrade Perl 5.8.8 to 5.12.3 (Обновляем perl вручную)

Приспичело меня обновить perl в CentOS 5.5 для моих нужд, т.к. последний perl 5.8.8 и ждать пока редхатовцы раскачаются времени тоже нет. В общем порыскав по инету сутки, другие, я ничего особо детального не нашел. Пришлось рыть и, в принципе, все получилось. Сразу оговорюсь, что порядок моих действий с реальными может немного не совпадать, но постараюсь :).