[ FreeBSD ]
by Beat
@ 31.05.2010 21:05 UTC
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).
[ FreeBSD ]
by Beat
@ 31.05.2010 18:57 UTC
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).
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).
Möchte man ein tar-Archiv bearbeiten, ohne dass man das Archiv entpacken, verändern und wieder erstellen muss, kann dazu tardy verwendet werden. Im FreeBSD -Portbaum findet man tardy unter archivers/tardy:
# cd /usr/ports/archivers/tardy && make install clean
Mit der -downcase Option werden alle Dateinamen in Kleinbuchstaben konvertiert:
# tar tf test.tar
test/
test/Photo2.JPG
test/Photo3.JPG
test/photo.jpg
# tardy -downcase test.tar testnew.tar
# tar tf testnew.tar
test/
test/photo2.jpg
test/photo3.jpg
test/photo.jpg
Mit der -group und -user Option werden die Besitzer- und Gruppen-Rechte aller Dateien angepasst:
# tar xf test.tar
# ls -l test
total 556
-rw-r--r-- 1 beat wheel 188827 22 Mai 16:58 Photo2.JPG
-rw-r--r-- 1 beat wheel 196190 22 Mai 16:58 Photo3.JPG
-rw-r--r-- 1 beat wheel 181427 22 Mai 16:58 photo.jpg
# tardy -group nobody -user nobody test.tar testnew.tar
# tar xf testnew.tar
# ls -l test
total 556
-rw-r--r-- 1 nobody nobody 188827 22 Mai 16:58 Photo2.JPG
-rw-r--r-- 1 nobody nobody 196190 22 Mai 16:58 Photo3.JPG
-rw-r--r-- 1 nobody nobody 181427 22 Mai 16:58 photo.jpg
Mit der -prefix Option wird ein zusätzliches Wurzel-Verzeichnis ins Archiv eingefügt:
# tardy -prefix foo test.tar testnew.tar
# tar tf testnew.tar
foo/test/
foo/test/Photo2.JPG
foo/test/Photo3.JPG
foo/test/photo.jpg
Mit der -remove_prefix 1 Optionen wird das Wurzelverzeichnis im Archiv entfernt:
# tardy -remove_prefix 1 test.tar testnew.tar
# tar tf testnew.tar
Photo2.JPG
Photo3.JPG
photo.jpg
Mehr Informationen zu tardy findet man in der Manpage tardy(1).
Mit Hilfe von units lassen sich Einheiten auf der Kommandozeile umrechnen. Im folgenden Beispiel wird ausgerechnet wieviele Fuss einen Meter sind (3.28 Fuss) und wieviele Pfund ein Kilo sind (2.2 Pfund):
# units
586 units, 56 prefixes
You have: 1 m
You want: ft
* 3.2808399
/ 0.3048
You have: 1 kg
You want: lb
* 2.2046226
/ 0.45359237
Alle verfügbaren Einheiten findet man in der Datei /usr/share/misc/units.lib. Auf FreeBSD ist units standardmässig im Basissystem vorhanden. Mehr Informationen und alle Optionen von units findet man in der Manpage units(1).
Mit Hilfe von rsync lassen sich Daten an einen weiteren Speicherplatz vie zum Beispiel eine externe USB-Disk oder via SSH auf einen anderen Rechner synchronisieren. Führt man rsync mehrere Male aus, so werden nur die Änderungen zur letzten Synchronisation übertragen. Im FreeBSD -Portbaum findet man rsync uter net/rsync:
# cd /usr/ports/net/rsync && make install clean
Im folgenden Beispel werden die Benutzerverzeichnisse auf eine USB-Disk synchronisiert, welche unter /mnt/usb gemountet ist. Mit der -a Option wird sichergestellt, dass alle Datei-, Besitzer- und Gruppen-Rechte synchronisiert, die Modifikationsdaten beibehalten und alle Unterverzeichnisse rekursiv mitübertragen werden. Mit der -v Option wird angezeigt, welche Datei zurzeit übertragen wird:
# rsync -av /usr/home/ /mnt/usb/home
Soll nur dargestellt werden, welche Daten synchronisiert würden ohne die Daten jedoch zu kopieren, kann die -n Option verwendet werden:
# rsync -anv /usr/home/ /mnt/usb/home
Mit der --delete Option werden auf dem Quellverzeichnis nicht mehr existierende Daten auch im Zielverzeichnis gelöscht. Im folgenden Beispiel werden die Daten via SSH auf einen anderen Rechner synchronisiert:
# rsync -avz --delete /usr/home/ backup@192.168.1.10:/mnt/backup/home
Sollen gewisse Daten nicht übertragen werden so können diese mit der --exclude Option aufgeführt werden:
# rsync -avz --delete --exclude="/.VirtualBox/" /usr/home/ backup@192.168.1.10:/mnt/backup/home
Mehr Informationen zu rsync findet man in der Manpage rsync(1).
Mit Hilfe von aespipe können Daten via Standard-Eingabe/Ausgabe mit AES verschlüsselt werden. Im FreeBSD-Portbaum findet man aespipe unter security/aespipe:
# cd /usr/ports/security/aespipe && make install clean
Nun können Daten an die Standard-Eingabe zum Beispiel via einer Pipe von aespipe übergeben werden und die verschlüsselten Daten werden an die Standard-Ausgabe geschickt. Datei wird man nach einem Passwort gefragt das zur Verschlüsselung verwendet wird:
# file testdatei
testdatei: PDF document, version 1.4
# cat testdatei | aespipe > testdatei.enc
Password: *******************
# file testdatei.enc
testdatei.enc: data
Mit der -d Option können die Daten wieder entschlüsselt werden:
# cat testdatei.enc | aespipe -d > testdatei
Password: *******************
# file testdatei
testdatei: PDF document, version 1.4
Mehr Informationen zu aespipe findet man in der Manpage aespipe(1).