среда, 10 июня 2009 г.

Activex в Linux

Бывает нужно. Рецепт нашел здесь

http://www.gagme.com/greg/linux/activex-linux.php

вторник, 26 мая 2009 г.

Если Openoffice не запускается после обновления

Сегодня поставил ooo 3.1 от Инфраресурса, и он отказывался запускать writer, calc и пр. Запускался только мастер создания документов.

В консоли при этом была ошибка:

terminate called after throwing an instance of 'com::sun::star::uno::RuntimeException'

Проблема решилась после удаления из домашней директории скрытой папки .openoffice.org:

rm -rf ~/.openoffice.org

среда, 20 мая 2009 г.

Проблемы с клавиатурой в Vmware+гостевая FreeBSD в Linux

Часто при установке виртуальной FreeBSD в VMWare Workstation под линуксом возникают проблемы с клавиатурой. Тупо не работают клавиши.

Решение представляет собой одну строку, которую нужно добавить в конец файла /etc/vmware/config:

xkeymap.nokeycodeMap = "TRUE"

вторник, 7 апреля 2009 г.

Доступ к shell в m0n0wall

Если к девайсу с m0n0wall на борту подключить монитор и клавиатуру, то доступ в shell будет предоставлен. Но как сделать это удаленно? Ведь в последних версиях m0n0wall и Nano Wall уже нет ssh.

Очень просто. Это можно сделать из web-интерфейса. Все ясно из рисунка, достаточно лишь в строке адреса добавить exec.php


вторник, 31 марта 2009 г.

Kill dash nine (к 1 апреля :-))

Фифтицент поет про то, что было близко ему - улицы и бандитизм. Этому парню близка жизнь в университетском городке и phd, поэтому он исполняет песенки в стиле nerdcore. Приветствуем Monzy с песенкой про kill -9.




Computer Science rap at Stanford

Как распаковать многотомный архив rar в Linux

Сегодня столкнулся сам и при поиске решения увидел, что многие не знают, как разархивировать побитый на части rar-архив. Делается так.

unrar имя_последнего_файла_архива


В некоторых версиях unrar нужно указать параметр e для распаковки.

unrar e имя_последнего_файла_архива

Как видим, элементарно :-)). Так что этот пост просто для поисковиков, чтобы следующим, нуждающимся в разархивации, было легче искать.

понедельник, 30 марта 2009 г.

Как сделать бекап системы на лету

Часто очень удобно делать бекап на какой-нибудь сервер в сети. SSH в сумме с такими средствами бекапа как dump/restore или dd предоставляет для этого хорошие возможности.

На самом деле, все просто. Достаточно взглянуть на команды. Вот backup с помощью dump/restore:

ssh alexey@192.168.0.1 'sudo dump -af- /dev/hda2' | dd of=hda.dump

Восстанавливается потом командой:

restore -rf hda.dump

А вот сразу с восстановлением:

ssh alexey@192.168.0.1 'sudo dump -af- /dev/hda2' | restore -rf-

а это с помощью dd:

ssh alexey@192.168.0.1 'sudo dd if=/dev/hda2' | dd of=backup.img

среда, 25 марта 2009 г.

Как работать с образами файловых систем

Использовать образы файловых систем очень удобно. Можно хранить образы компакт-дисков на HDD, можно делать бекапы систем в виде образов, можно, наконец, просто создать имидж, в котором  будет храниться секретная информация. Здесь я приведу пару приемов работы с образами.

Как сделать образ CD
Делается это одной командой dd:

dd if=/dev/scd0 of=my_image.img


где /dev/scd0 - это наш cd-rom, my_image.img - файл образа.
Чтобы дело пошло быстрее, можно увеличить размер блока данных, например, до 16-ти килобайт:

dd if=/dev/scd0 of=my_image.img bs=16k

Естественно, вместо cd-rom'а может быть любое дисковое устройство. Да и вообще, образ и дисковое устройство могут поменяться местами, например, если мы восстанавливаем информацию из образа на диск:

dd if=my_image.img of=/dev/sdb bs=16K

Отлично, образ готов. Что с ним делать дальше?

Как монтировать образ
Для начала проассоциируем образ с дисковым устройством образов.
если дело в Linux:

losetup /dev/loop0 my_image.img

появится устройство /dev/loop0

если во FreeBSD:

mdconfig -a -t vnode -f my_image.img


появится устройство /dev/md0 или вроде того.

Далее можно производить монтирование:

mount /dev/loop0 /mnt/

По окончании работы с образом нужно отмонтировать его и снять ассоциацию.
в Linux:

umount /mnt
losetup -d /dev/loop0


во FreeBSD:

umount /mnt
mdconfig -d -u 0      #для md0


Как создать образ диска с нуля
Например, нужно создать образ ФС размером ~512 Мб с файловой системой ext3.

# Создадим файл образа, count отвечает за количество блоков
root@till:~/TMP# dd if=/dev/zero of=my_image.img bs=1k count=512000
512000+0 records in
512000+0 records out
524288000 bytes (524 MB) copied, 18,6485 s, 28,1 MB/s

# Создадим ассоциацию
root@till:~/TMP# losetup /dev/loop0 my_image.img

# Создадим файловую систему, тут нам помогут fdisk и mkfs
root@till:~/TMP# fdisk /dev/loop0
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x58bbc7e9.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-63, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-63, default 63): +512M
Value out of range.
# Не угадал с размером :-)
Last cylinder, +cylinders or +size{K,M,G} (1-63, default 63): +500M
Value out of range.
# Опять не угадал
Last cylinder, +cylinders or +size{K,M,G} (1-63, default 63): +450M
# Угадал!
# Установим тип фс=Linux (это номер 83)
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83

# Запишем изменения и выйдем
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

# Форматируем наш новый виртуальный диск
root@till:~/TMP# mkfs.ext3 /dev/loop0
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

# Готово, можно монтировать
root@till:~/TMP# mount /dev/loop0 /mnt/
root@till:~/TMP# ls /mnt
lost+found
root@till:~/TMP#

Примерно так.

понедельник, 23 марта 2009 г.

Терминальный сервер на Linux за полчаса

Один из клиентов спросил, а заработает ли на наших железках LTSP. И я решил протестировать.

Вообще LTSP - это Linux Terminal Server Project, т.е. предназначен для организации работы терминального сервера на основе Linux. Клиенты при этом грузятся по сети (PXE), т.е. на серваке связка: dhcp+tftp. Навскидку помню две сетевухи, в которых есть поддержка PXE: Realtek 8139 и Intel eepro100. Кроме бездисковой загрузки может быть загрузка с дискет и т.п. Изначально LTSP включен в дистрибутивы: Ubuntu, k12 и вроде как в федору. В остальных легко устанавливается из репозиториев. Я для тестов выбрал Ubuntu 8.10 (alternate cd). Вся установка сводится к тому, чтобы нажать в самом начале инсталляции F4 и выбрать "LTSP server" в меню, дальше происходит обычная установка убунты, после которой автоматом ставится и настраивается LTSP.



Пара замечаний: ip на серваке только статический и желательно его прописать в момент установки, если же ip после установки менялся, нужно выполнить ltsp-update-sshkeys, т.к. ltsp использует ssh. Вот магическая формула:
LTSP = DHCP + TFTP + X11 (в виде ldm display manager) + ssh.
Сразу же по окончании установки LTSP сервера я запустил наш тонкий клиент, для чистоты эксперимента отключив от него CF-флешку, с которой грузится наш софт... и спустя 2 минуты уже работал через него на серваке. По сравнению с RDP порадовало следующее: изображение лучше, скорость тоже, с раскладкой клавиатуры проблем не возникло, USB-флешка подцепилась сразу же. Клава PS/2, мышь - USB.
В общем, кому нужно быстро организовать терминальный сервер на линуксе, рекомендую LTSP.


пятница, 20 марта 2009 г.

Как сделать свою базу знаний в Firefox

Unix админам, программистам и просто увлекающимся ежедневно приходится читать массу документации online. Что-то прочесть не успеваешь, но хочешь прочесть потом; что-то настолько нравится, что хочется сохранить на будущее. Как быть? Ответом является плагин ScrapBook для Firefox.

Воспользуйтесь поиском по плагинам мозиллы и поставьте себе Scrapbook. В Меню-баре появится соответвующий пункт. Далее все просто.
Я люблю вызывать плагин комбинацией клавиш Alt+K. Слева при этом открывается список ваших папок и сохраненных страниц. Чтобы занести нужную web-страницу в базу нужно просто перетащить ссылку из строки адреса, нажимая при этом Ctrl. Появится меню с параметрами сохранения, где можно выбрать глубину ссылок (можно качать целые сайты), название заметки, скачивать ли файлы, которые есть на сайте.
Также к сохраненным страницам можно применять инструменты, имеющиеся в ScrapBook справа внизу: маркеры для выделения текста, примечания, теги, инструменты DOM. На последних остановимся подробнее.
Сайты часто обвешаны боковыми панелями с рекламой, календарями и прочими вещами, которые нам в базе знаний не нужны и которые осложняют печать текста. Так вот с помощью кнопки DOM можно удалять эти элементы с легкостью. Главное, не забыть сохранить изменения. Ниже приведены варианты страницы до и после DOM-обработки.

ДО:



ПОСЛЕ:



Естественно, есть возможность поиска по базе знаний, импорта/экспорта альбомов, упорядочивания структуры и многое другое.
За несколько лет использования на моих десктопах ScrapBook себя отлично зарекомендовал.