четвъртък, 24 ноември 2011 г.

Подкарване на mikrotik 5.7 на виртуална машина различна от VMware

Наскоро на пиратската сцена излезе новият mikrotik 5.7 под формата на VMware-ски имидж. Под vSphere server тествано работи добре, но за потребителите на други платформи за виртуализация ето кратък туториъл.


За подкарване на мт 5.7 на virtualbox (3.1.6 OSE):

1. Създава се виртуална машина с хард диск vmdk файла
2. Тип на IDE контролера е PIIX4
3. От терминала се изпълняват командите
VBoxManage setextradata mt "VBoxInternal/Devices/piix3ide/0/Config/PrimaryMaster/FirmwareRevision" "string:00000001"
VBoxManage setextradata mt "VBoxInternal/Devices/piix3ide/0/Config/PrimaryMaster/ModelNumber" "string:VMware Virtual IDE Hard Drive"
VBoxManage setextradata mt "VBoxInternal/Devices/piix3ide/0/Config/PrimaryMaster/SerialNumber" "string:00000000000000000001"
4. Пускате машината и всичко работи :)
(Забележка: диск файла не трябва да е стартиран преди изпълнение на командите от точка 3)

За подкарване на мт 5.7 с qemu (qemu-kvm-0.12.3) 

Примерите са под Ubuntu 10.04:
1. аpt-get source qemu
2. cd qemu-kvm-0.12.3+noroms
3. във hw/ide/core.c файла:
на ред 114 променяме
padstr((char *)(p + 10), s->drive_serial_str, 20); /* serial number */
на
padstr((char *)(p + 10), "00000000000000000001", 20); /* serial number */

на ред 118 променяме
padstr((char *)(p + 23), s->version, 8); /* firmware version */
на
padstr((char *)(p + 23), "00000001", 8); /* firmware version */

на ред 119 променяме
padstr((char *)(p + 27), "QEMU HARDDISK", 40); /* model */
на
padstr((char *)(p + 27), "VMware Virtual IDE Hard Drive", 40); /* model */

4. ./configure
5. make
6. по избор "make install" или може да си го ползвате от директорията
7. в директория pc-bios се слагат файловете:
    bios.bin
    vgabios-cirrus.bin
    pxe-rtl8139.bin
   
    могат да се намерят на
    http://svn.savannah.gnu.org/viewvc/*checkout*/trunk/pc-bios/bios.bin?root=qemu
    http://svn.savannah.gnu.org/viewvc/*checkout*/trunk/pc-bios/vgabios-cirrus.bin?root=qemu
    http://svn.savannah.gnu.org/viewvc/*checkout*/trunk/pc-bios/pxe-rtl8139.bin?root=qemu

8. конвертирате vmdk имиджа
qemu-img convert "MikroTik v5.xx.vmdk" -O qcow2 mt5.qcow2

9. стартирате с имидж mt5.qcow2
пример:
./x86_64-softmmu/qemu-system-x86_64 -drive file=mt5.qcow2



Наличието на подробно описание за това как да се възползваме от  пиратски софтуер не е оправдание за употребата му!



Статията е публикувана единствено с научна цел и автора отрича да се е докосвал до въпросният пиратски софтуер.


понеделник, 21 ноември 2011 г.

Как да възстановим изтрит файл в linux

Например изтритият файл е access_log на Apache. Какво да направим:

lsof | grep access_log

Ще ни даде output от вида:
httpd 26120 apache 42w REG 253,0 5852 12222531 /apachelogs
/access_log (deleted)

важно е в случая е да запомним pid-a: 26120 и fd-то: 42. Знаейки това можем да си върнем файла като изпълним следната команда:


cat /proc/26120/fd/42 > /apachelogs/access_log


В случая с Apache, добра идея е да рестартираме сервиса след това.


Happy end!

Ето и един линк с визуални примери за други lsof приложения:
http://danielmiessler.com/study/lsof/