BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

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

Nicht mehr benötigte Abhängigkeiten löschen

Mit Hilfe der -s Option von portmaster können installierte Ports gelöscht werden welche als eine Abhängigkeit installiert wurden jedoch aktuell nicht mehr benötigt werden:

# portmaster -s
Information for sdocbook-xml-1.1,1:

Comment:
"Simplified" DocBook XML DTD

Description:
The "Simplified" DocBook XML DTD is a small subset of the DocBook XML DTD.

WWW: http://www.oasis-open.org/docbook/xml/simple/

===>>> sdocbook-xml-1.1,1 is no longer depended on, delete? y/n [n] y
===>>> Delete old and new distfiles for textproc/sdocbook-xml
       without prompting? y/n [n] y
===>>> Deleting stale distfile: docbook-xsl-1.75.2.tar.bz2
===>>> Deleting stale distfile: docbook-xsl-doc-1.75.2.tar.bz2
===>>> Running pkg_delete -f sdocbook-xml-1.1,1
xmlcatmgr: enabling compatibility mode; removing ALL matching entries
xmlcatmgr: enabling compatibility mode; removing ALL matching entries
Information for compat5x-i386-5.4.0.8_11:

Comment:
A convenience package to install the compat5x libraries

Description:
This package allows you to install the compat5x libraries on your
system, so you can use legacy binaries that depend on them.

Ports usage example:

--
.include <bsd.port.pre.mk>

.if ${OSVERSION} >= 600000
LIB_DEPENDS+=   c.5:${PORTSDIR}/misc/compat5x
.endif
--

===>>> compat5x-i386-5.4.0.8_11 is no longer depended on, delete? y/n [n] y
===>>> Delete old and new distfiles for misc/compat5x
       without prompting? y/n [n] y
===>>> Running pkg_delete -f compat5x-i386-5.4.0.8_11
Information for localedata-5.4:

Comment:
Legacy locale data for FreeBSD 6+

Description:
This package provides compatibility locale data for FreeBSD 6.x to run
4.x/5.x binaries. When you have a trouble with locale at running a legacy
binary, you should guide them to find legacy locale data with setting
PATH_LOCALE environment variable.

env PATH_LOCALE=/usr/local/share/compat/locale command

===>>> localedata-5.4 is no longer depended on, delete? y/n [n] y
===>>> Delete old and new distfiles for misc/localedata
       without prompting? y/n [n] y
===>>> Running pkg_delete -f localedata-5.4
[...]

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

Erste Zeilen einer Datei anzeigen

Genau so wie mit tail(1) die letzten Zeilen einer Datei angezeigt werden kann, kann man mit head die ersten Zeilen einer Datei betrachten:

# head <Datei>

Standardmässig werden die ersten 10 Zeilen einer Datei ausgegeben. Möchte man eine bestimmte Anzahl Zeilen anzeigen lassen, so kann dazu die -n Option verwendet werden:

# head -n 50 <Datei>

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

 Permalink
Prev Next101-110/521