DOS Zeilenumbrüche unter Mac OS X in Unix Zeilenumbrüche umwandeln

Wenn man unter Linux die Zeilenumbrüche einer Datei von DOS zu UNIX ändern möchte, kann man das Kommando dos2unix benutzen. Um das gleiche (ohne Zuhilfenahme von MacPorts) unter Mac OS X zu bewerkstelligen, muss man sich bei dem eingebauten Perl bedienen. Mittels der Kommandozeile:

perl -pe 's/\r\n|\n|\r/\n/g'   input > output

kann man eine Datei in das Unix-Format (LF bzw. \n) umwandeln.

MacPorts bereinigen

Bei der Nutzung von MacPorts werden nicht nur die Ports auf dem System installiert, sondern auch eine Reihe von temporären Dateien. Möchte man seine MacPorts-Installation aufräumen, so kann man dies mittels zwei Befehlen bewerkstelligen:

sudo port clean --all all
sudo port -f uninstall inactive

Der erste Befehl löscht besagte temporären Dateien, der zweite deinstalliert nicht mehr benötigte Ports. Je nach MacPorts-Nutzung kann der Vorgang längere Zeit in Anspruch nehmen.

MacPorts unter Mac OS X 10.10 betreiben

Möchte man MacPorts auf einer höheren Betriebssystemversion installieren, so wird im Normalfall der Installer für die passende Version heruntergeladen und ausgeführt. Leider gibt es noch keinen fertigen Installer für Mac OS X 10.10 alias Yosemite. In diesem Fall wird MacPorts manuell kompiliert werden. Dazu muss das Terminal geöffnet werden und folgendes eingegeben werden:

curl -O https://distfiles.macports.org/MacPorts/MacPorts-2.3.1.tar.bz2
tar xf MacPorts-2.3.1.tar.bz2
cd MacPorts-2.3.1/
./configure
make
sudo make install

Anschließend können die Ports mittels:

sudo port -v selfupdate
sudo port upgrade outdated
sudo port uninstall inactive

auf den aktuellen Stand gebracht werden. Zu beachten ist, das es durch den Beta-Status der Mac OS X Version natürlich zu Problemen kommen kann.

Ungenutze Ports unter MacPorts entfernen

Wenn man Ports unter MacPorts entfernt kann es passieren das Bibliotheken, welche von dem Port genutzt werden, im System verbleiben. Mit dem Umstieg von MacPorts auf eine SQL-Datenbank zur Haltung der Paketinformationen ist es möglich geworden diese ungenutzten Bibliotheken zu entfernen. Dazu muss im Terminal:

sudo port uninstall leaves

eingegeben werden. Anschließend werden die ungenutzten Bibliotheken entfernt und damit Plattenplatz freigegeben. Die Funktionalität der installierten Ports wird dadurch nicht beeinträchtigt.

EncFS und seine Bindungsprobleme

Nach einem Update aller Ports unter MacPorts funktioniert EncFS nicht mehr. Auf der Konsole wird dies auch ausführlich dokumentiert:

dyld: lazy symbol binding failed: Symbol not found: __ZN5boost7archive6detail17shared_ptr_helperC2Ev
  Referenced from: /opt/local/lib/libencfs.6.dylib
  Expected in: /opt/local/lib/libboost_serialization-mt.dylib

dyld: Symbol not found: __ZN5boost7archive6detail17shared_ptr_helperC2Ev
  Referenced from: /opt/local/lib/libencfs.6.dylib
  Expected in: /opt/local/lib/libboost_serialization-mt.dylib

Die Lösung für das Problem ist dabei simpel. Der Port EncFS muss noch einmal neu gebaut werden. Dafür gibt man auf der Konsole:

sudo port -ns upgrade --force encfs

ein. Anschließend kann EncFS wieder wie gewohnt genutzt werden.