Tag Archiv für Port

Konvertieren von Dateien mit DOS-Zeilenumbrüchen (^M) unter FreeBSD

Immer wieder hat man Dateien, bei denen man das DOS-Zeilenende ^M los werden will, vor allem wenn es um Webseiten geht, egal ob html oder php. Früher unter Linux oder dem 4er FreeBSD habe ich dafür immer dos2unix genommen, aber beim 6er FreeBSD ist der Port verschwunden und der Port /usr/ports/converters/dosunix erzielt zwar das gleiche Ergebnis, aber dazu muß man erst je eine Zieldatei mit anderem Namen erstellen und dann diese Datei in den ursprünglichen Namen umbenennen. Deshalb habe ich dann meistens doch andere Varianten gewählt, sobald ich mehr als 2 Dateien so bearbieten mußte. Wie üblich gibt es dazu wieder mehrere Möglichkeiten, die im FreeBSD Diary ausführlich beschrieben sind:

  • Der Perl-Klassiker: perl -pi -e "s:^V^M::g" <filenames>
  • cat <filename1> | tr -d "^V^M" > <newfile>
  • sed -e "s/^V^M//" <filename> > <output filename>
  • Die vi-Lösung: 1. hit the ESC key und 2. :%s/^V^M//

Meistens habe ich in letzter Zeit die perl und die sed-Variante genutzt. Aber im FreeBSD Diary Artikel findet sich ganz am Ende noch der Hinweis, daß das Programm dos2unix jetzt im Port /usr/ports/converters/unix2dos steckt. Und damit habe ich dann endlich wieder mein geliebtes altes dos2unix, mit dem das Konvertieren der Dateien in einem Rutsch geht (dos2unix *.php *,html *.css *.js). Da habe ich wohl beim Umstieg auf das 6er FreeBSD am Anfang nicht gut genug gesucht.

Port trotz bekanntem Security Advisory installieren (Meldung „has known vulnerabilities“ beim portupgrade)

Wenn sich ein Port nicht updaten oder installieren läßt, weil eine Sicherheitslücke bekannt geworden ist und deshalb portaudit eine Installation oder ein Update verhindert, dann kann man sich darüber mit der Systemvariabelen DISABLE_VULNERABILITIES hinwegsetzen. Als Extremtippfauler habe ich mir dazu dann noch folgende Aliase für root eingerichtet:

port-no-vuln    setenv DISABLE_VULNERABILITIES true
mpicf   make DISABLE_VULNERABILITIES=true package install clean
pupf    setenv DISABLE_VULNERABILITIES true && portupgrade -abyvR

SCCS – Versionskontrolle für Konfigurationsdateien

Unter FreeBSD gibt es einen Port von CSSC (/usr/ports/devel/cssc) als SCCS-Klon. Eine gute und knackige Einführung dazu findet man von Oliver Fromme hier.