четверг, 1 декабря 2011 г.

Windows 7. Не применяется logon-скрипт доменной политики.

Если перейти в папку:
\\DOMAIN\SYSVOL\DOMAIN\Policies\POLICY%GUID\User\Scripts\Logon
и руками запустить скрипт - всё нормально отрабатывает. В автозагрузке - никак.

Исправление:
Создать и выполнить файл (ну или просто прописать в реестре):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001

понедельник, 3 октября 2011 г.

Ubunta не выходит из спящего режима

Одна из причин зависания убунты при выходе из спящего режима драйвер VirtualBox`a - vboxdrv
Для его корректной выгрузки нужно в файле /etc/pm/config.d/modules добавить
SUSPEND_MODULES="vboxdrv"
В /etc/rc.conf добавить
MODULES=(vboxdrv !pcspkr)
для загрузки модуля после просыпания

пятница, 30 сентября 2011 г.

программный RAID1 с загрузкой под grub2 (Fedora14)

Монтируем диск для хранения образа диска
#mkdir /mnt/sdc
#mount /dev/sdc1 /mnt/sdc
Снимаем образ с диска с инфой
#dd if=/dev/sda conv=sync,noerror bs=32M | gzip -9cf > /mnt/sdc/sda.dd-image.gz
Где bs устанавливаем равную кэшу диска (в моём случае 32 Mb)

Разворачиваем образ из архива
#gunzip -c /mnt/sdc/sda.dd-image.gz | dd bs=32M of=/dev/sda
(В моём случае 500 гигабайт - ~100 минут)

Прогресс смотрим следующим образом, в соседней консоли узнаем pid процесса dd:
#ps -A |grep dd
Затем смотрим сам прогресс:
#watch -n10 kill -USR1 `ps -o pid -C dd|tail -n1`
------------------------------------------------------------------------------------------
#/dev/sda - диск с информацией
#/dev/sdb - диск зеркало
Что бы убрать с диска метадату аппаратного массива необходимо загрузившись с liveCD Выполнить следующие комманды:
#dmraid -r
(покажет список дисков у которых присутствуют метаданные массива)
#dmraid -rE /dev/sda
(собственно затирание метаданных)

Если есть остатки программного массива, их можно затереть следующим образом:
Для начала отмонтируйте и остановите массив:
# umount /dev/md0
# mdadm -S /dev/md0
Затем необходимо затереть superblock каждого из составляющих массива:
# mdadm --zero-superblock /dev/sda1
# mdadm --zero-superblock /dev/sda2
и так далее по всем разделам включенным в массивы
Если действие выше не помогло, то затираем так:
# dd if=/dev/zero of=/dev/sda1 bs=512 count=1
# dd if=/dev/zero of=/dev/sda2 bs=512 count=1
Загружаемся с /dev/sda и устанавливаем grub2 в качестве загрузчика. И обновляенм ядро (при необходимости):
# yum install grub2
# grub2-install /dev/sda
#yum erase kernel kernel-PAE grub
#yum install dracut dracut-tools kernel-PAE
Создаем через fdisk идентичные разделы, или копируем структуру первого диска /dev/sda:
#sfdisk -d /dev/sda | sfdisk --force /dev/sdb
#grub2-install /dev/sdb
В fdisk выставляем для всех разделов диска /dev/sdb тип fd ( raid autodetect)

Создаем массив для разделов, НЕ подключая туда пока раздел с информацией (sda). Если используется версия GRUB2 < 1.98, то дописываем в строку создания массива параметр --metadata=0.9 .
#mdadm --create /dev/md1 --level=1 --metadata=0.9 --raid-devices=2 missing /dev/sdb1 (это /boot)
#mdadm --create /dev/md2 --level=1 --metadata=0.9 --raid-devices=2 missing /dev/sdb2 (это /)
#mdadm --create /dev/md3 --level=1 --metadata=0.9 --raid-devices=2 missing /dev/sdb3 (swap)
#mdadm --create /dev/md4 --level=1 --metadata=0.9 --raid-devices=2 missing /dev/sdb4 (это /var)
Проверяем как создались диски
#cat /proc/mdstat
Форматируем свеже-созданные разделы
#mkfs.ext4 /dev/md1
#mkfs.ext4 /dev/md2
#mkswap -f /dev/md3
#mkfs.ext4 /dev/md4
Правим файл mdadm.conf
#cp /usr/share/doc/mdadm-3.1.3/mdadm.conf-example /etc/mdadm.conf
#mdadm --examine --scan >> /etc/mdadm.conf
Удаляем в содержимом файла /etc/sysconfig/grub ссылку на массив

Удаляем файл /boot/grub2/device.map
#rm /boot/grub2/device.map
Изменяем файл fstab
для начала узнаем UUID дисков в массиве и для удобства копируем их в /etc/fstab
#blkid /dev/md1 >>/etc/fstab
#blkid /dev/md2 >>/etc/fstab
#blkid /dev/md3 >>/etc/fstab
#blkid /dev/md4 >>/etc/fstab
Копируем записи загрузки в fstab и комментируем старые записи.
В незакомментированных записях правим параметры загрузки на UUID соответствующих дисков.
Должно получиться что-то вроде этого:
UUID=09e79cff-323b-4645-a8d4-630172cfedaf / ext4 defaults 1 1
UUID=0f316921-b794-492c-8fc2-8d71827145b5 /boot ext4 defaults 1 2
UUID=75ed9f59-a61c-4379-a124-af0b5dfd0a61 /var ext4 defaults 1 2
UUID=6f724829-50e2-4670-a939-747706b2d4d2 swap swap defaults 0 0
В файле /etc/mtab так же правим данные разделов на соответствующие /dev/md* .

далее обновляем initamfs. Так как стандартный пакет не может автоматически собрать mdraid создаем свой собственный вариант initramfs`а
#dracut --modules mdraid --omit dmraid --mdadmconf --force /boot/dracut/mdraid.img версия_ядра
Версию ядра можно списать по аналогии результату команды uname -r , только для нового ядра. Так происходит, потому что мы находимся еще на старом,
а не на свеже установленном ядре. в моем случае версия ядра была 2.6.35.14-96.fc14.i686.PAE.

и объединяем его со стандартным
#dracut-catimages /boot/mdraidadv.img /boot/initramfs-2.6.35.14-96.fc14.i686.PAE.img
По пути /etc/grub.d создаем файл 09_mdraid
#cp /etc/grub.d/40_custom /etc/grub.d/09_raid
со следующим содержимым:
menuentry "MDRAID and INITRAMFS" --class gnu-linux --class gnu --class os {
set gfxpayload=keep
insmod mdraid
insmod ext2
set root='(md1)'
echo Loading Linux 2.6.35.14-96.fc14.i686.PAE ...
linux /vmlinuz-2.6.35.14-96.fc14.i686.PAE root=/dev/md2 ro quiet KEYTABLE=ru SYSFONT=ter-k14n LANG=ru_RU.UTF-8
echo Loading initial ramdisk ...
initrd /mdraidadv.img
}
Строка "KEYTABLE=ru SYSFONT=ter-k14n LANG=ru_RU.UTF-8" необходима для лечения квадратиков вместо русских букв. Для удобства её можно скопировать из результата команды dracut-gencmdline
Так же изменяем в файле /lib/udev/rules.d/10-console.rules строку
KERNEL=="tty0", RUN+="/lib/udev/console_init %k"
на
KERNEL=="tty*", RUN+="/lib/udev/console_init %k"
Далее смотрим в /boot/grub2/grub.conf
root в этой переменной указывается путь, где grub ищет сам себя:
set root = '(md1)'
в строке search указываем путь до раздела загрузки меняя UUID, который ранее получили и прописали в fstab
search --no-floppy --fs-uuid --set 0f316921-b794-492c-8fc2-8d71827145b5
Пересобираем конфиг GRUB`а 2
#grub2-mkconfig >> /boot/grub2/grub2.conf
На всякий случай для отладки включаем шелл dracut`а. Для этого в файле /boot/grub2/grub.conf в конце строки загрузки ядра
можно дописать "console=tty0 rdshell" без кавычек.
------------------------------------------------------------------------------------------
Загружаемся с LiveCD
монтируем диск sda в /mnt/sda а массив md в /mnt/md
#mkdir /mnt/sda
#mkdir /mnt/md

#mount /dev/md2 /mnt/md
#mkdir /mnt/md/boot
#mkdir /mnt/md/var
#mount /dev/md1 /mnt/md/boot
#mount /dev/md4 /mnt/md/var

#mount /dev/sda2 /mnt/sda
#mount /dev/sda1 /mnt/sda/boot
#mount /dev/sda4 /mnt/sda/var
Копируем данные с sda на md
#cp -dpRx /mnt/sda/* /mnt/md
(~30 минут)
------------------------------------------------------------------------------------------
Загружаемся с массива
#reboot
В fdisk выставляем для всех разделов диска /dev/sda тип fd ( raid autodetect)

подключаем диски устройства /dev/sda в массив
mdadm --add /dev/md1 /dev/sda1
mdadm --add /dev/md2 /dev/sda2
mdadm --add /dev/md3 /dev/sda3
mdadm --add /dev/md4 /dev/sda4
и напоследок ещё раз делаем
#grub2-install /dev/sda
#grub2-install /dev/sdb

суббота, 11 июня 2011 г.

Настройка обработки Magnet ссылок на deluge

Источник: http://welinux.ru/post/2235/

Магнет-ссылки предназначены для указания на ресурсы, доступные к загрузке через p2p сети. Такие ссылки в основном идентифицируют файлы не по их расположению или имени, а по содержанию, точнее, по хеш-коду.

При клике по такой ссылке google chrome передаёт эту ссылку утилите xdg-open, которая в свою очередь передаёт ссылку конечной программе. Но вряд ли xdg-open точно знает какая программа должна обрабатывать magnet-ссылку и у меня, например, xdg-open передавала ссылку x-www-browser, коим в моей системе является google-chrome. Сейчас я расскажу вам как научить xdg-open открывать magnet-ссылки тем, чем нужно.

Для этого открываем его для редактирования

sudo gedit /usr/bin/xdg-open

Далее идем в самый конец файла и видим строки:

case "$DE" in
kde)
open_kde "$url"
;;
gnome)
open_gnome "$url"
;;
xfce)
open_xfce "$url"
;;
generic)
open_generic "$url"
;;
*)
exit_failure_operation_impossible "no method available for opening '$url'"
;;
esac

Понятно, что для open_xfce соответствует то, что команда будет выполняться в xfce, для open_kde то, что в kde и т.д. При необходимости ненужные DE можно стереть. Теперь нужно добавить условие, которое будет выполняться, если переданная ссылка magnet. Ниже приведен пример для всех DE и torrent клиента deluge.

case "$DE" in
kde)
if (echo $url | grep '^magnet') then
deluge "$url"
else
open_kde "$url"
fi
;;
gnome)
if (echo $url | grep '^magnet') then
deluge "$url"
else
open_gnome "$url"
fi
;;
xfce)
if (echo $url | grep '^magnet') then
deluge "$url"
else
open_xfce "$url"
fi
;;
generic)
if (echo $url | grep '^magnet') then
deluge "$url"
else
open_generic "$url"
fi
;;
*)
exit_failure_operation_impossible "no method available for opening '$url'"
;;
esac

Естественно, что вместо deluge вы можете подставить любую программу.
Как я уже сказал ненужные DE можно удалить и для openbox вышепреведённый код можно заменить на:

if (echo $url | grep '^magnet') then
deluge "$url"
else
open_generic "$url"
fi

среда, 2 марта 2011 г.

Увеличение количества одновременно открытых окон в XP

Для увеличения одновременно открытых окон в XP открываем ветку регистра:
HLKM/System/CurrentControlSet/Control/Session Manager/SubSystems

И заменяем в ключе Windows часть строки
"SharedSection=1024,3072"
на
SharedSection=5120,6400,512

Перезагружаемся и пользуемся.