Jak odpakować dmg pod Linuksem

Niedawno kupiłem za symbolicznego dolara zestaw czcionek dostarczany w formie obrazu dmg. Producent (czyli Macware) zaznacza, że jest to produkt dedykowany dla komputerów Apple lecz nie jest to do końca zgodne z prawdą – dostarczone zostały pliki OpenType. Jak jednak użytkownik Linuksa może uzyskać dostęp do plików?

  1. Zainstaluj pakiet dmg2img. W przypadku Debiana lub Ubuntu wystarczy:

    root@sverige:/# apt-get install dmg2img

  2. Dokonaj konwersji z dmg do img.

    root@sverige:/# dmg2img -V obraz.dmg obraz.img

  3. Upewnij się, że niezbędny moduł jądra jest załadowany, a punkt montowania istnieje i zamontuj obraz img.

    root@sverige:/# modprobe hfsplus
    root@sverige:/# mkdir /tmp/blablabla
    root@sverige:/# mount -t hfsplus -o loop fonts.img /tmp/blablabla

Teraz możesz skopiować pliki do pożądanej lokalizacji (np. nagrać je na CD). Pamiętaj o odmontowaniu obrazu img kiedy nie będziesz go już potrzebować (wydaj polecenie umount /tmp/blablabla z konta root).

Jak skompilować kernel dla Debiana 6

Jeśli pragniesz zoptymalizować swój serwer, wycisnąć ile się da z laptopa czy też dodać obsługę nowego sprzętu na dowolnej z tych maszyn być może będzie trzeba skompilować kernel. Wbrew pozorom nie jest to bardzo trudne – wystarczy troche wiedzy i dużo cierpliwości.

  1. Upewnij się czy podstawowe zależności zostały rozwiązane.

    root@dev:/# apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential make

  2. Pobierz źródła oraz ewentualne łatki (sugeruję dodać tuxonice i bfs).
  3. Rozpakuj źródła.
  4. Skopiuj łatki do katalogu ze źródłami. Wykorzystasz je w następujący sposób:

    root@dev:/linux-2.6.36.1# patch -p1 < nazwapliku.patch

    po wykonaniu tej czynności można przejść dalej.

  5. Przygotuj kernel do kompilacji i skopiuj konfigurację aktualnego kernela.

    root@dev:/linux-2.6.36.1# make clean && make mrproper && cp /boot/config* .config && make menuconfig

    w tym momencie powinien się uruchomić niebieski interfejs menuconfig – należy wybrać “Load an Alternate Configuration File”.

  6. Zmodyfikuj konfigurację. Jeśli nie wiesz jak to zrobić – poczytaj o opcjach, które widzisz (bardzo często Wikipedia zawiera odpowiednie informacje) lub nie rób nic. Jeśli chcesz wyjść z menuconfig klikaj do skutku exit. Oczywiście na pytanie czy chcesz zapisać konfigurację odpowiedz twierdząco.
  7. Rozpocznij kompilację i budowę paczki *.deb:

    root@dev:/linux-2.6.36.1# make-kpkg –append-to-version=-xyz –revision=1 –initrd kernel_image kernel_headers

    xyz może być dowolną nazwą, revision podnoś o 1 przy każdej przebudowie paczki. Proces kompilacji potrwa od 30 minut do kilku(nastu?) godzin, wszystko zależy od wydajności wykorzystywanej maszyny.

  8. Zainstaluj świeżą paczke:

    root@dev:/# dpkg -i *.deb

    przy odrobinie szczęścia po restarcie będziesz cieszyć się nowym, własnym kernelem. :)

W tytule zamieściłem informację, iż jest to poradnik dla Debiana 6, lecz nie ma żadnych przeszkód aby zrobić wszystko dokładnie tak samo pod Ubuntu. Prawdopodobnie za pierwszym podejściem nie uda Ci się stworzyć działającego jądra – nie przejmuj się, to nornalne. Drogą prób i błędów dojdziesz do idealnej dla siebie konfiguracji. ;)

edycja z dnia 10/10/11:

Jeśli posiadasz procesor Intel z funkcją HT lub dowolną konfigurację wielordzeniową/wieloprocesorową opartą na procesorach innej marki możesz nieco przyspieszyć proces kompilacji. Użyj polecenia

export CONCURRENCY_LEVEL=n

gdzie n to wynik następującej komendy

grep -c ^processor /proc/cpuinfo

a następnie uruchom make-kpkg.

Proste przekierowania portów w RouterOS

Początkujący użytkownicy routerów opartych na oprogramowaniu firmy MikroTik dość często potrzebują przekierowań portów. Wykonanie powyższych jest niezwykle proste.

  1. Połącz się z routerem swoją ulubioną drogą (telnet, ssh lub Winbox).
  2. Jeśli łączysz się przez Winbox – uruchom terminal.
  3. Aby przekierować ruch z zewnętrznego IP (np. port 5678) na komputer w sieci lokalnej (np. 192.168.1.123:5678) wpisz co następuje:

    ip firewall nat add chain=dstnat dst-port=5678 action=dst-nat protocol=tcp to-address=192.168.1.123 to-port=5678

    oczywiście możesz także przekierować porty o różnych od siebie numerach (np. zewnętrzne_IP:10022 przekierować na 192.168.1.123:22).

Polecenie należy wpisać bądź wkleić w formie jednej linii, terminal oznaczy ewentualne błędy.