BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanneKontakt

Fehlende gzip-Dateiendung hinzufügen

Fehlt einer mit gzip komprimierten Datei die .gz-Dateiendung, so kann die Datei unter Umständen nochmals mit gzip komprimiert werden:

# file *
test:                          gzip compressed data, from Unix, last modified: Sat May  2 17:41:57 2009
virtualbox-2.2.2r19307.tar.gz: gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009
# gzip virtualbox-2.2.2r19307.tar.gz
gzip: virtualbox-2.2.2r19307.tar.gz already has .gz suffix -- unchanged
# gzip test
# file *
test.gz:                       gzip compressed data, was "test", from Unix, last modified: Sat Aug 28 23:27:41 2010
virtualbox-2.2.2r19307.tar.gz: gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009

Mit Hilfe von zforce kann nun allen mit gzip komprimierten Dateien ohne .gz-Dateiendung diese angefügt werden:

# file *
firefox.txt:                   news or mail text
virtualbox-2.2.1r19283.tar.gz: gzip compressed data, from Unix, last modified: Sat May  2 17:41:57 2009
virtualbox-2.2.2r19307.tar:    gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009
virtualbox-2.2.2r19378.tar.gz: gzip compressed data, from Unix, last modified: Tue May  5 18:42:19 2009
virtualbox-2.2.2r19453.tar.gz: gzip compressed data, from Unix, last modified: Wed May  6 21:33:10 2009
# zforce *
virtualbox-2.2.2r19307.tar -- renamed to virtualbox-2.2.2r19307.tar.gz
# file *
firefox.txt:                   news or mail text
virtualbox-2.2.1r19283.tar.gz: gzip compressed data, from Unix, last modified: Sat May  2 17:41:57 2009
virtualbox-2.2.2r19307.tar.gz: gzip compressed data, from Unix, last modified: Mon May  4 22:55:32 2009
virtualbox-2.2.2r19378.tar.gz: gzip compressed data, from Unix, last modified: Tue May  5 18:42:19 2009
virtualbox-2.2.2r19453.tar.gz: gzip compressed data, from Unix, last modified: Wed May  6 21:33:10 2009

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

Comments (0)  Permalink

Datei sortieren

Mit Hilfe von sort lässt sich der Inhalt einer Datei oder die Ausgabe der Standardausgabe sortieren:

# cat testdatei 
1
k
5
l
0
e
c
d
# sort testdatei 
0
1
5
c
d
e
k
l

Sollen Zahlen sortiert werden, kann die -n Option verwendet werden so dass die Zahlen nach ihrem Wert sortiert werden:

# cat testdatei 
1
12
103
2
22
222
4
5
99
# sort testdatei
1
103
12
2
22
222
4
5
99
# sort -n testdatei
1
2
4
5
12
22
99
103
222

Soll das Ergebnis in umgekehrter Reihenfolge ausgegeben werden, kann die -r Option verwendet werden:

# sort -r testdatei
l
k
e
d
c
5
1
0

Durch die -u Option werden keine identischen Zeilen angezeigt:

# cat testdatei
c
b
a
c
b
a
# sort -u testdatei 
a
b
c

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

Comments (0)  Permalink

Sortierte Datei durchsuchen

Mit Hilfe von look kann eine sortierte Datei nach Zeilen durchsucht werden, welche mit einer bestimmten Zeichenfolge beginnen:

# look 146.78.xxx.xxx testdatei
146.78.xxx.xxx: 1045 | 0

Da look nur mit sortierten Listen funktioniert ist es auf eine solche Suche optimiert und vor allem bei grösseren Dateien schneller als grep(1):

# du -h testdatei 
 29M    testdatei
# /usr/bin/time look 146.78.xxx.xxx testdatei
146.78.xxx.xxx: 1045 | 0
        0.00 real         0.00 user         0.00 sys
# /usr/bin/time grep ^146.78.xxx.xxx testdatei
146.78.xxx.xxx: 1045 | 0
        0.16 real         0.16 user         0.00 sys

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

Comments (0)  Permalink

Laufende Prozesse als Baum darstellen

Mit Hilfe von dtpstree lassen sich die laufenden Prozesse eines Systems als Baum darstellen. So kann angezeigt werden, welcher Prozess von welchem gestartet wurde. Bei dtpstree handelt es sich um eine Reimplementation von pstree. Im FreeBSD -Portbaum findet man dtpstree unter sysutils/dtpstree:

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

Ruft man dtpstree ohne Optionen auf, so werden alle für den Benutzer sichtbaren Prozesse als Baum angezeigt

# dtpstree 
init-+-adjkerntz
     +-console-kit-daemon
     +-cron
     +-2*[dbus-daemon]
     +-dbus-launch
     +-devd
     +-2*[dhclient]
     +-gconfd-2
     +-8*[getty]
     +-gpg-agent
     +-hald---hald-runner-+-hald-addon-mouse-sy
     |                    +-hald-addon-storage
     +-moused
     +-pflogd---pflogd
     +-powerd
     +-sshd
     +-syslogd
     +-wpa_supplicant
     +-xdm-+-Xorg
           +-xdm---fluxbox-+-csh---Eterm---csh---ssh
                           +-csh---sh---sh---thunderbird-bin
                           +-csh---sh---sh---firefox-bin---npviewer.bin
                           +-2*[csh---xterm---csh]
                           +-5*[csh---xterm---csh---ssh]
                           +-csh---xterm---csh---dtpstree
                           +-gkrellm
                           +-xearth
                           +-xscreensaver

Verwendet man die -p Option so wird jeweils die Prozess-ID jedes Prozesses angezeigt:

# dtpstree -p
init(1)-+-adjkerntz(131)
        +-console-kit-daemon(1775)
        +-cron(1692)
        +-dbus-daemon(1627)
        +-dbus-daemon(1881)
        +-dbus-launch(1880)
        +-devd(960)
        +-dhclient(1281)
        +-dhclient(1298)
        +-gconfd-2(1883)
        +-getty(1757)
        +-getty(1758)
        +-getty(1759)
        +-getty(1760)
        +-getty(1761)
        +-getty(1762)
        +-getty(1763)
        +-getty(1764)
        +-gpg-agent(1888)
        +-hald(1772)---hald-runner(1776)-+-hald-addon-mouse-sy(1781)
        |                                +-hald-addon-storage(1802)
        +-moused(1603)
        +-pflogd(637)---pflogd(646)
        +-powerd(1543)
        +-sshd(1681)
        +-syslogd(1321)
        +-wpa_supplicant(444)
        +-xdm(1765)-+-Xorg(1771)
                    +-xdm(1818)---fluxbox(1830)-+-csh(1836)---Eterm(1843)---csh(1844)---ssh(1860)
                                                +-csh(1861)---sh(1868)---sh(1872)---thunderbird-bin(1876)
                                                +-csh(1889)---sh(1896)---sh(1900)---firefox-bin(1904)---npviewer.bin(2259)
                                                +-csh(1911)---xterm(1918)---csh(1920)
                                                +-csh(1946)---xterm(1953)---csh(1955)---ssh(1964)
                                                +-csh(1965)---xterm(1972)---csh(1974)---ssh(1983)
                                                +-csh(1984)---xterm(1991)---csh(1993)---ssh(2002)
                                                +-csh(9454)---xterm(9461)---csh(9463)---ssh(9472)
                                                +-csh(9592)---xterm(9599)---csh(9601)---ssh(9614)
                                                +-csh(9737)---xterm(9744)---csh(9746)
                                                +-csh(9903)---xterm(9910)---csh(9912)---dtpstree(9931)
                                                +-gkrellm(1832)
                                                +-xearth(1834)
                                                +-xscreensaver(1833)

Mit der -u Option werden die Änderungen der Benutzers unter welchem der Prozess läuft sichtbar:

#  dtpstree -u
init-+-adjkerntz
     +-console-kit-daemon
     +-cron
     +-dbus-daemon(messagebus)
     +-dbus-daemon(beat)
     +-dbus-launch(beat)
     +-devd
     +-dhclient
     +-dhclient(_dhcp)
     +-gconfd-2(beat)
     +-8*[getty]
     +-gpg-agent(beat)
     +-hald(haldaemon)---hald-runner(root)-+-hald-addon-mouse-sy
     |                                     +-hald-addon-storage
     +-moused
     +-pflogd---pflogd(_pflogd)
     +-powerd
     +-sshd
     +-syslogd
     +-wpa_supplicant
     +-xdm-+-Xorg
           +-xdm---fluxbox(beat)-+-csh---Eterm---csh---ssh
                                 +-csh---sh---sh---thunderbird-bin
                                 +-csh---sh---sh---firefox-bin---npviewer.bin
                                 +-2*[csh---xterm---csh]
                                 +-5*[csh---xterm---csh---ssh]
                                 +-csh---xterm---csh---su---csh(root)---dtpstree
                                 +-gkrellm
                                 +-xearth
                                 +-xscreensaver

Benutze man die -a Option werden die Argumente, mit der -t Option die Pfade jedes Prozesses ausgegeben:

# dtpstree -a -t
/sbin/init --
  +-adjkerntz -i
  +-/usr/local/sbin/console-kit-daemon
  +-/usr/sbin/cron -s
  +-/usr/local/bin/dbus-daemon --system
  +-/usr/local/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
  +-dbus-launch --autolaunch 0e299d9692a650fd98b8ab2a00001627 --binary-syntax --close-stderr
  +-/sbin/devd
  +-dhclient: em0 [priv]
  +-dhclient: em0
  +-/usr/local/libexec/gconfd-2
  +-/usr/libexec/getty Pc ttyv0
  +-/usr/libexec/getty Pc ttyv1
  +-/usr/libexec/getty Pc ttyv2
  +-/usr/libexec/getty Pc ttyv3
  +-/usr/libexec/getty Pc ttyv4
  +-/usr/libexec/getty Pc ttyv5
  +-/usr/libexec/getty Pc ttyv6
  +-/usr/libexec/getty Pc ttyv7
  +-/usr/local/bin/gpg-agent --sh --no-use-standard-socket --daemon --default-cache-ttl 60 --max-cache-ttl 999999
  +-/usr/local/sbin/hald
  |   +-hald-runner
  |       +-hald-addon-mouse-sysmouse: /dev/psm0
  |       +-hald-addon-storage: /dev/acd0
  +-/usr/sbin/moused -p /dev/psm0 -t auto
  +-pflogd: [priv]
  |   +-pflogd: [running] -s 116 -i pflog0 -f /var/log/pflog
  +-/usr/sbin/powerd -a max -b min
  +-/usr/sbin/sshd
  +-/usr/sbin/syslogd -ss
[...]

Auch in einer Jails kann dtpstree verwendet werden obwohl der init-Prozess in der Jail nicht sichtbar ist:

# dtpstree
cron
httpd---10*[httpd]
2*[sendmail]
sshd
syslogd
tcsh---dtpstree

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

Comments (0)  Permalink

Musik über die Kommandozeile abspielen

Mit Hilfe von audiopreview können Musikdatein über die Kommandozeile abgespielt werden. Im FreeBSD-Portbaum findet man audiopreview unter multimedia/audiopreview:

# cd /usr/ports/multimedia/audiopreview && make install clean

Standardmässig wird von jeder Datei nur 10 Sekunden von einer zufälligen Position abgespielt. Mit Hilfe der n und p Taste kann zum nächsten oder vorherigen Lied gewechselt werden. Mit der q Taste wird audiopreview beendet:

# audiopreview Music/*mp3
[playing] AC_DC - The Jack.mp3 (0:00:34/0:05:56)
[playing] Billy Idol - Rebel Yell.mp3 (0:01:43/0:04:48)
[playing] Black Sabbath - Paranoid.mp3 (0:02:41/0:02:45)

Mit Hilfe der -e Option werden die Lieder in voller Länge abgespielt und mit der -l Option wird wieder beim ersten Lied gestartet wenn alle Dateien abgespielt sind.

# audiopreview -e -l Music/*mp3
[playing] AC_DC - The Jack.mp3 (0:00:01/0:05:56)

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

Comments (0)  Permalink

known_hosts-Datei nicht im Klartext speichern

In der known_hosts-Datei werden die Host-Informationen standardmässig im Klartext gespeichert:

# cat ~/.ssh/known_hosts
tinderbox.chruetertee.ch ssh-dss AAAAB3Nz...
gecko.chruetertee.ch ssh-rsa AAAAB3Nza...

Möchte man diese Host-Informationen als Hash speichern, kann die -H Option von ssh-keygen verwendet werden. Mit der -f Option wird die known_host-Datei angegeben:

# ssh-keygen -H -f ~/.ssh/known_host
/home/test/.ssh/known_hosts updated.
Original contents retained as /home/test/.ssh/known_hosts.old
WARNING: /home/test/.ssh/known_hosts.old contains unhashed entries
Delete this file to ensure privacy of hostnames
# rm -P ~/.ssh/known_hosts.old
# cat ~/.ssh/known_hosts
|1|3mPb1LTGd6JcOEruhCeEwoKNcRw=|FK2w/R45eucQMPSamG0zL1J3X9c= ssh-dss AAAAB3Nz...
|1|H3x4+97tRe1P86/VN2mKcS3VPig=|2qO9hySuF/yMByLWLdMEXgn9XYc= ssh-rsa AAAAB3Nz...

Neue Einträge werden weiterhin im Klartext gespeichert. Führt man danach ssh-keygen -H nochmals aus, werden nur die neuen Einträge geändert. Auf FreeBSD ist ssh-keygen standardmässig im Basissystem vorhanden. Mehr Informationen zu ssh-keygen findet man in der Manpage ssh-keygen(1).

Comments (0)  Permalink

Ausgabe von ls sortieren

Mit Hilfe der -t Option kann die Ausgabe von ls nach der Modifikationszeit der Dateien sortiert werden:

# ls -lt
total 387156
-rw-r--r--   1 beat  users  160005266 Mar 11 14:54 src.tar.bz2
-rw-r--r--   1 beat  users  212539313 Mar 11 11:08 obj.tar.bz2
-rw-r--r--   1 beat  users   18239398 Jan 13  2010 WLAN_NE785.zip
-rw-r--r--   1 beat  wheel    5172378 Jan 12  2010 Wlan-ANE762-1_4_5_1.zip

Soll die Ausgabe in umgekehrter Reihenfolge erfolgen, kann zusätzlich die -r Option verwendet werden:

# ls -lrt
total 387156
-rw-r--r--  1 beat  wheel    5172378 Jan 12  2010 Wlan-ANE762-1_4_5_1.zip
-rw-r--r--  1 beat  users   18239398 Jan 13  2010 WLAN_NE785.zip
-rw-r--r--  1 beat  users  212539313 Mar 11 11:08 obj.tar.bz2
-rw-r--r--  1 beat  users  160005266 Mar 11 14:54 src.tar.bz2

Sollen die Dateien nach ihrer Grösse sortiert werden, so kann die -S Option verwendet werden:

# ls -lrS
total 387156
-rw-r--r--  1 beat  wheel    5172378 Jan 12  2010 Wlan-ANE762-1_4_5_1.zip
-rw-r--r--  1 beat  users   18239398 Jan 13  2010 WLAN_NE785.zip
-rw-r--r--  1 beat  users  160005266 Mar 11 14:54 src.tar.bz2
-rw-r--r--  1 beat  users  212539313 Mar 11 11:08 obj.tar.bz2

Mehr Informationen und alle Optionen von ls findet man in der Manpage ls(1).

Comments (0)  Permalink

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>
Comments (0)  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).

Comments (0)  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).

Comments (0)  Permalink
Next1-10/257