linux:inne

Jak odchudzić pliki binarne MacOS X

Większość programów w MacOS rozprowadzana jest w wersji na kilka architektur (w jednym pliku):

$ file /Applications/Firefox.app/Contents/MacOS/firefox-bin 
/Applications/Firefox.app/Contents/MacOS/firefox-bin: Mach-O universal binary with 2 architectures
/Applications/Firefox.app/Contents/MacOS/firefox-bin (for architecture ppc):	Mach-O executable ppc
/Applications/Firefox.app/Contents/MacOS/firefox-bin (for architecture i386):	Mach-O executable i386

Można dość prosto pozbyć się zbędnych wersji, przy pomocy polecenia:

$ ditto --rsrc --arch i386 /Applications/Firefox.app /Applications/Firefox-i386.app
$ file /Applications/Firefox-i386.app/Contents/MacOS/firefox-bin
/Applications/Firefox-i386.app/Contents/MacOS/firefox-bin: Mach-O executable i386

Jeżeli aplikacja działa bez problemów, można zastąpić starą wersję.

Przed (Firefox v.3.5.3):

$ du -hs /Applications/Firefox.app
54M	/Applications/Orig/Firefox.app

Po:

$ du -hs /Applications/Firefox.app
34M	/Applications/Firefox-i386.app

Blokady w skryptach powłoki

Na przykład po to, żeby zagwarantować, że działa tylko jedna instancja danego skryptu (uruchamiany przez cron-a, udev-a itp.).

Najprościej użyć do tego UNIX-owego systemu plików, na przykład tak:

if mkdir /var/run/skrypt.lock; then
  echo "Udało się, mamy blokadę"
  #Polecenia do wykonania.
  rmdir /var/run/skrypt.lock
else
  echo "Juź raz uruchomione."
  exit 1
fi

Jak zmniejszyć rozmiar plików z obrazami dysków VirtualBox-a

Należy wykonać następujące kroki:

  • Defragmentacja (jeżeli system-gość obsługuje);
  • Wypełnienie wolnego miejsca zerami:
dd if=/dev/zero of=z
rm z
  • Wyłączenie systemu-gościa;
  • Optymalizacja obrazu:
VBoxManage modifyhd XP.vdi --compact
  • albo sklonowanie go (w tym wypadku można przygotować obraz dysku w innym formacie):
VBoxManage clonehd XP.vdi NewXP.vmdk --format VMDK 

Nazwa obrazu (ścieżka), na którym wykonujemy operacje, musi być taka, sama, jak zarejestrowana w pliku konfiguracyjnym VirtualBox.xml (~/.VirtualBox/VirtualBox.xml).