BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

VuXML-Datei abfragen

Mit Hilfe von portaudit kann überprüft werden ob auf einem System Ports mit bekannten Sicherheitsproblemen installiert sind. Diese Informationen sind in der VuXML-Datei gespeichert. Mit Hilfe von vxquery kann die VuXML-Datei nach bestimmten Ports und Versionen abgefragt werden. Im FreeBSD-Portbaum findet man vxquery unter security/vxquery:

# cd /usr/ports/security/vxquery && make install clean

Nun muss vxquery der Pfad zur VuXML-Datei und der Port mit Versionsangabe übergeben werden. Sind für diese Version Sicherheitsprobleme bekannt, werden diese angezeigt:

# vxquery /usr/ports/security/vuxml/vuln.xml firefox-3.6.3,1
Topic: mozilla -- multiple vulnerabilities
Affects:
    3.6.*,1 < firefox < 3.6.4,1
    3.5.*,1 < firefox < 3.5.10,1
    linux-firefox-devel < 3.5.10
    2.0.* < seamonkey < 2.0.5
    3.0 <= thunderbird < 3.0.5
References:
    cvename:CVE-2008-5913
    cvename:CVE-2010-0183
    cvename:CVE-2010-1121
    cvename:CVE-2010-1125
    cvename:CVE-2010-1197
    cvename:CVE-2010-1199
    cvename:CVE-2010-1196
    cvename:CVE-2010-1198
    cvename:CVE-2010-1200
    cvename:CVE-2010-1201
    cvename:CVE-2010-1202
    cvename:CVE-2010-1203
    url:http://www.mozilla.org/security/announce/2010/mfsa2010-33.html
    url:http://www.mozilla.org/security/announce/2010/mfsa2010-32.html
    url:http://www.mozilla.org/security/announce/2010/mfsa2010-31.html
    url:http://www.mozilla.org/security/announce/2010/mfsa2010-30.html
    url:http://www.mozilla.org/security/announce/2010/mfsa2010-29.html
    url:http://www.mozilla.org/security/announce/2010/mfsa2010-28.html
    url:http://www.mozilla.org/security/announce/2010/mfsa2010-27.html
    url:http://www.mozilla.org/security/announce/2010/mfsa2010-26.html
    url:http://www.mozilla.org/security/announce/2010/mfsa2010-25.html
<URL:http://vuxml.freebsd.org/99858b7c-7ece-11df-a007-000f20797ede.html>
 Permalink

Dateien nach Grösse suchen

Möchte man nach Dateien suchen welche grösser als eine gewisse Grösse sind, kann dazu die -size Option von find benutzen. Im folgenden Beispiel wird nach allen Datein gesucht, welche grösser als 6MB sind:

# du -h *
 10M    datei1
5.0M    datei2
# find . -size +6M
./datei1

Auf FreeBSD ist find standardmässig im Basissystem vorhanden. Mehr Informationen zu find findet man in der Manpage find(1).

 Permalink

Label- und Partitionseditor von sysinstall verwenden

Seit FreeBSD 6.3 kann der Label- und Partitionseditor von systinstall (sade) auch nach der Installation auf der Kommandozeile verwendet werden:

# sade

Mehr Informationen zu sade findet man in der Manpage sade(8).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Automatisches Aktualisieren von Konfigurationsdateien

Verwendet man mergemaster zum Aktualisieren von Konfigurationsdateien, so kann mit der -U Option festgelegt werden, dass Dateien die nicht von Hand verändert wurden automatisch aktualisiert werden. Mit der -i Option werden nicht vorhandene Dateien automatisch installiert:

# mergemaster -Ui

Diese Optionen können auch über die mergemaster-Konfigurationsdatei gesetzt werden. Mehr Informationen zu mergemaster findet man in der Manpage mergemaster(8).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink

Quellcode in der Tinderbox speichern

Testet man einen Port in einer Tinderbox, so wird der Quellcode bei jedem Test neu heruntergeladen. Im folgenden Beispiel wird in der Tinderbox festgelegt, dass heruntergeladener Quellcode unter /usr/ports/distfiles gespeichert werden soll. Wurde der Quellcode schon heruntergeladen und in diesem Verzeichnis gespeichert, so wird dieser zum Bauen des Portes verwendet:

# cd /usr/local/tinderbox/scripts && ./tc configDistfile -c /usr/ports/distfiles
Related Entries:
Tinderbox aufräumen
Wartezeit von tinderd ändern
Tinderbox-Jail ohne Kompilieren erstellen
RSS-Feed der zuletzt gebauten Ports einer Tinderbox
Port-Optionen in der Tinderbox verwenden
 Permalink

Sonderzeichen aus Dateinamen entfernen

Mit Hilfe von detox können Sonderzeichen automatisch aus Dateinamen entfernt und Leerzeichen durch Unterstriche ersetzt werden. Im FreeBSD -Portbaum findet man detox unter sysutils/detox:

# cd /usr/ports/sysutils/detox && make install clean

Nun kann detox auf eine Datei mit Leer- und Sonderzeichen angewendet werden, welche automatisch ersetzt oder entfernt werden:

# ls
test öäü !?_test
# detox test\ öäü\ \!\?_test 
# ls
test_oau_test

Mehr Informationen zu detox findet man in der Manpage detox(1).

 Permalink

Benutzerdefinierte Portabhängigkeiten festlegen

Mit Hilfe von wanted-ports wird ein Meta-Port installiert mit welchem man bentzerdefinierte Portabhängigkeiten festlegen kann. Im FreeBSD-Portbaum findet man wanted-ports unter ports-mgmt/wanted-ports:

# cd /usr/ports/ports-mgmt/wanted-ports && make install clean

Beim ersten Aufruf von wanted-ports wird eine neue Konfigurationsdatei angelegt:

# wanted-ports 
wanted-ports: WARNING -- no config file found,  creating initial /var/db/wanted-ports.conf

Mit der -a Option wird ein Port als Abhängikeit von wanted-ports hinzugefügt:

# wanted-ports -a www/apache20
wanted-ports: Register new dependency "apache>=2.0.63_15:${PORTSDIR}/www/apache20"?  y

Nachdem zum Beispiel der apache20-Port als Abhängigkeit definiert wurde, würde der wanted-ports bei einer Reinstallation automatisch apache20 mitinstallieren:

# cd /usr/ports/ports-mgmt/wanted-ports && make missing
www/apache20
devel/apr0
archivers/xz

Abhängigkeiten könen mit der -d Option wieder entfernt werden:

# wanted-ports -d www/apache20
wanted-ports: Delete dependency "apache>=2.0.63_15:${PORTSDIR}/www/apache20"?  y

Hat man alle gewünschten Abhängigkeiten hinzugefügt, kann zum Beispiel die /var/db/wanted-ports.conf auf einen weiteren Rechner kopiert werden und durch das Installieren von wanted-ports werden alle gewünschten Ports automatisch installiert.

Weiter kann wanted-ports als Absicherung benutzt werden, damit Ports nicht ohne weiteres mit pkg_delete(1) deinstalliert werden können:

# pkg_delete swaks-\*
# wanted-ports -a mail/swaks
wanted-ports: Register new dependency "swaks>=20100211.0:${PORTSDIR}/mail/swaks"?  y
# cd /usr/ports/ports-mgmt/wanted-ports && make deinstall install clean
# pkg_delete swaks-\*
pkg_delete: package 'swaks-20100211.0' is required by these other packages
and may not be deinstalled:
wanted-ports-0.1_1

Mehr Informationen zu wanted-ports findet man in der Manpage wanted-ports(1).

 Permalink

Alle Fragen eines Programms mit Ja beantworten

Führt man ein Programm aus, welches Eingaben des Benutzers erwartet, so kann dieses nicht ohne weiteres unbeaufsichtigt ausgeführt werden:

# programm
[...]
Do you want to continue [y/n]?
Are you sure [y/n]?
[...]

Können jedoch alle Fragen mit y beantwortet werden, so können diese automatisch mit yes beantwortet werden:

# yes | programm

Sollen alle Fragen zum Beispiel mit n beantwortet werden, so können diese auch mit Hilfe von yes beantwortet werden:

# yes n | programm

Auf FreeBSD ist yes standardmässig im Basissystem vorhanden. Mehr Informationen zu yes findet man in der Manpage yes(1).

 Permalink

Kopie eines Subversion Archives erstellen

Mit Hilfe von rsvndump kann ein Subversion-Archiv kopiert werden, ohne dass man Zugriff zum Archiv via svnadmin dump hat. Im FreeBSD Portbaum findet man rsvndump unter devel/rsvndump:

# cd /usr/ports/devel/rsvndump && make install clean

Nun kann die URL zum Subversion-Archiv an rsvndump übergeben werden. Mit der -u und der -p Option ein Benutzernamen und ein Passwort angegeben werden, dass benötigt wird um auf das Subversion Archiv zuzugreifen:

# rsvndump https://trillian.chruetertee.ch/svn/freebsd-gecko > freebsd-gecko-svn.dump
* Dumped revision 0.
* Dumped revision 1.
[...]
* Dumped revision 317.

Nun kann das Archiv mit Hilfe von svnadmin load an einem neuen Ort eingelesen werden:

# svnadmin create freebsd-gecko
# svnadmin load freebsd-gecko < freebsd-gecko-svn.dump
<<< Started new transaction, based on original revision 1
     * adding path : trunk ... done.
     * adding path : branches ... done.
     * adding path : tags ... done.

------- Committed revision 1 >>>

<<< Started new transaction, based on original revision 2
     * adding path : trunk/www ... done.
     * adding path : trunk/Mk ... done.

------- Committed revision 2 >>>

<<< Started new transaction, based on original revision 3
     * adding path : trunk/www/firefox ... done.
     * adding path : trunk/www/firefox/distinfo ... done.
     * adding path : trunk/www/firefox/pkg-descr ... done.
     * adding path : trunk/www/firefox/files ... done.
     * adding path : trunk/www/firefox/files/patch-xptcall-sparc64 ... done.
     * adding path : trunk/www/firefox/files/patch-ff-414540 ... done.
     * adding path : trunk/www/firefox/files/patch-xptcall-alpha ... done.
     * adding path : trunk/www/firefox/files/patch-ff-460425 ... done.
     * adding path : trunk/www/firefox/files/patch-ff-331088 ... done.
     * adding path : trunk/www/firefox/files/patch-ff-380418 ... done.
[...]

Mehr Informationen zu rsvndump findet man in der Manpage rsvndump(1).

 Permalink

Liste aller Ports erstellen die nicht als Abhängigkeiten installiert wurden

Mit Hilfe der --list-origins Option von portmaster lässt sich eine Liste aller installierten Ports erstellen welche nicht als Abhängigkeiten installiert wurden. Mit Hilfe dieser Liste kann ein System mit den identisch installierten Ports erstellt werden:

# portmaster --list-origins
www/piwik
ports-mgmt/portmaster
lang/python25
archivers/unzip
www/dokuwiki
www/eaccelerator
www/fluxcms
www/mod_security
security/php-suhosin
mail/squirrelmail

Mehr Informationen zu portmaster findet man in der Manpage portmaster(8).

Related Entries:
Gespeicherte Optionen nach OptionsNG konvertieren
Ports-Subversion-Repository spiegeln
sysinstall-Ersatz für neuere FreeBSD-Versionen
Alte FreeBSD-Port Patchdateien aufsplitten
FreeBSD-Portbaum auf Fehler überprüfen
 Permalink
Prev Next41-50/84