BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanne

UPDATING-Datei mit pkg_updating von einem Server herunterladen

Mit Hilfe von pkg_updating können die relevanten ports/UPDATING-Einträge eines Systems angezeigt werden. Benutzer eines aktuellen CURRENTs welche ein System ohne lokalen Portbaum betreiben, können seit kurzem nun auch die UPDATING-Datei von einem Server herunterladen und sich die relevanten UPDATING-Einträge anzeigen lassen:

# pkg_updating -f ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/UPDATING

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

 Permalink

Konfliktüberprüfung von Ports deaktivieren

Möchte man zum Beispiel von einem Port welcher mit einem installierten Port in Konflikt steht den Quellcode herunterladen so wird dies durch die Konfliktüberprüfung verhindert:

# cd /usr/ports/www/firefox35/
# make fetch

===>  firefox-3.5.7,1 conflicts with installed package(s): 
      firefox-3.6,1

      They install files into the same place.
      Please remove them first with pkg_delete(1).
*** Error code 1

Stop in /usr/ports/www/firefox35

Mit Hilfe von DISABLE_CONFLICTS kann die Konfliktüberprüfung deaktiviert und der Quellcode heruntergeladen werden:

# make -DDISABLE_CONFLICTS fetch
===>  Found saved configuration for firefox-3.5.3,1
=> firefox-3.5.7.source.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from http://mozilla.c3sl.ufpr.br/releases/firefox/releases/3.5.7/source/.
firefox-3.5.7.source.tar.bz2                  100% of   44 MB  179 kBps 00m00s
 Permalink

Verzeichnisstruktur graphisch darstellen

Mit Hilfe von tree lässt sich eine Verzeichnisstruktur graphisch als Baum darstellen. Im FreeBSD Portbaum findet man tree unter sysutils/tree:

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

Nun kann eine Baumansicht aller Dateien eines Verzeichnisses und dessen Unterverzeichnisse angezeigt werden:

# tree /usr/ports/www/fluxcms
/usr/ports/www/fluxcms
|-- Makefile
|-- distinfo
|-- files
|   |-- patch-install-dist-conf-config.xml
|   |-- pkg-deinstall.in
|   `-- pkg-message.in
|-- pkg-descr
`-- pkg-plist

1 directory, 7 files

Mit Hilfe der -p Option werden zusätzlich die Rechte und mit der -h Option die Grösse einer Datei angezeigt:

# tree -ph /usr/ports/www/fluxcms
/usr/ports/www/fluxcms
|-- [-rw-r--r-- 1.2K]  Makefile
|-- [-rw-r--r--  242]  distinfo
|-- [drwxr-xr-x  512]  files
|   |-- [-rw-r--r--  323]  patch-install-dist-conf-config.xml
|   |-- [-rw-r--r--  332]  pkg-deinstall.in
|   `-- [-rw-r--r-- 1.1K]  pkg-message.in
|-- [-rw-r--r--  280]  pkg-descr
`-- [-rw-r--r-- 158K]  pkg-plist

1 directory, 7 files

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

 Permalink

Eintrag aus known_hosts entfernen

Ändert sich ein SSH Schlüssels eines Rechner, weil dieser zum Beispiel neu aufgesetzt wurde, so muss der alte Eintrag in der known_hosts-Datei gelöscht werden. Dies kann zum Beispiel von Hand mit einem Editor oder automatisch mit unssh gemacht werden. Im FreeBSD -Portbaum findet man unssh unter security/unssh:

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

Versucht man mit dem alten Eintrag in der known_hosts auf den neuen Rechner zu verbinden, so wird eine entsprechende Meldung angezeigt:

# ssh test.chruetertee.ch
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the DSA host key has just been changed.
The fingerprint for the DSA key sent by the remote host is
05:9f:e5:9c:ff:9f:0a:85:30:21:f8:60:95:e3:e5:9b.
Please contact your system administrator.
Add correct host key in /home/beat/.ssh/known_hosts to get rid of this message.
Offending key in /home/beat/.ssh/known_hosts:25
DSA host key for test.chruetertee.ch has changed and you have requested strict checking.
Host key verification failed.

Nun wird der alte Eintrag mit unssh gelöscht:

# unssh test.chruetertee.ch
Found test.chruetertee.ch, deleting...OK
all done, deleted 1 entries

Danach kann man sich wieder mit dem Rechner verbinden. Dabei sollte der SSH Fingerprint überprüfen werden, welcher danach wieder in die known_hosts-Datei geschrieben wird.

Comments (1)  Permalink

Systemintegrität überprüfen

Verwendet man freebsd-update zum Aktualisieren eines Systems, so kann auch mit Hilfe von freebsd-update die Integrität der Systemdateien überprüft werden:

# freebsd-update IDS
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 8.0-RELEASE from update5.FreeBSD.org... done.
Fetching metadata index... done.
Inspecting system... done.
/.cshrc has SHA256 hash 6c023117f7a92667b56a2a36acc6f8cd4b2de5972dcf44cbfbbc2967d6aa83ef, but should have SHA256 hash e1450d7b3c8b61f305b55792a653a547492b949d315ff7168205bdf279bd2f3e.
/etc/csh.cshrc has SHA256 hash 07f4515289339e203480041f3ff3982f6eb292584cbb164761f52215569b6136, but should have SHA256 hash 84c3dcd7eabd6b0da5077261c98b3dd345a7bd1e34e630921e02445e8d165249.
/etc/group has SHA256 hash d47fb1922b56d37dff6c214fec708bf98fc11e04b735fd9de4693bcf43cdaf19, but should have SHA256 hash a2b26924da4c1fa1007f4c06f8607f07bc909f36112d8d671f95a6126d7b8c15.
/etc/hosts has SHA256 hash 7af8062be560432c3f7fd5f3ceaac70c5fb5a4e8b840b1ad7f8a9c4a86277e8c, but should have SHA256 hash fc7360aff275514c9d437adc3e3a1d7fa94a88e6a2c88804f2287bc302b05fb0.
/etc/manpath.config has SHA256 hash 047f43d8f50eb3d51c5f39416c77ef0dff890cc37582eded7b772c70f018a324, but should have SHA256 hash 1cefa217b837cc940405ef849d6a88a8fb493f34f1b990c87d0b639b636485d4.
/etc/master.passwd has SHA256 hash 90fde15b127e00df91d5f7bb0c76e716b529652b0b513ebc5a896075647c040c, but should have SHA256 hash 212f97df7b05493facc106ed75c17a0131df99b5e656695bce8f07e8cde7ec6a.
/etc/motd has SHA256 hash d996410887344e5d1890959f0f10cfc5362b60c16eb2328428ebc3e0de549298, but should have SHA256 hash ba25bc1d24e50377ebaaa125c2322cf590c238e001c2e11a54d956bc18c4832a.
/etc/ntp.conf has SHA256 hash 15ca2615c6ef84646c973af2e97e34c7589748742657cfe5f7c34814eec1c50c, but should have SHA256 hash 99f129acc512fcd042bcc54f0ee93fed1a06d216b42433328c0adaab83585243.
/etc/passwd has SHA256 hash c74f20892267aec63768790f0ef5e796074724742e58e3782297f568e7f82eed, but should have SHA256 hash 52dfb31101cc03b9065bd20e606cb15e13e194686798250c40c907a64383b27a.
/etc/pwd.db has SHA256 hash 4e73815afdb4b7163b1ae5c211846a9d1e6a3a0a6d4f9a51c48ddbcddc9ff086, but should have SHA256 hash 6d7f65a6482e666dfd0ce892b0dd729aa1adbe6a2da136b73ecba7aaa7a503b7.
/etc/spwd.db has SHA256 hash ad753b14c7846879b467d08dc6868bf970310ea586e83303f4d7c44e6ed5afd9, but should have SHA256 hash ccd36805ad87d19e6ffa86bf2a71714761d37e802891b46ca1d50516cff9b445.
/etc/ssh/ssh_config has SHA256 hash e173a7ffd6d846eee4a4c2f5d4b3444c35f50fc8a03f6278c40aef0a8cbd63eb, but should have SHA256 hash eb8e55d3acbffd4f83681fc5b60d1ae66b69a1d3c04c3d71307a3432cc0ac2ce.
/etc/ttys has SHA256 hash 7343c0427e81844bff6404ac123cefa0c17ea5bb0d38546830ebdfb764212bc1, but should have SHA256 hash 92d4e87e657add80879eb47cb87071a07cbfb723f8044d27219265328a98ef80.
/root has 0700 permissions, but should have 0755 permissions.
/root/.cshrc has SHA256 hash 6c023117f7a92667b56a2a36acc6f8cd4b2de5972dcf44cbfbbc2967d6aa83ef, but should have SHA256 hash e1450d7b3c8b61f305b55792a653a547492b949d315ff7168205bdf279bd2f3e.

Nun kann geprüft werden wieso diese Dateien verändert worden sind. Mehr Informationen zu freebsd-update findet man in der Manpage freebsd-update(8).

 Permalink

Netzwerkdurchsatz aufzeichnen

Mit Hilfe von vnStat kann der Netzwerkdurchsatz eines Rechners aufgezeichnet werden. Im FreeBSD Portbaum findet man vnstat unter net/vnstat:

# cd /usr/ports/net/vnstat && make install clean

Danach kann in der /etc/crontab folgende Zeilen eingetragen werden, damit die Datenbank von vnStat automatisch alle 5 Minuten aktualisiert wird:

# run vnstat update every 5 minutes if installed
*/5 *   * * *   root    if [ -x /usr/local/bin/vnstat ] && [ `ls -l /var/db/vnstat/ | wc -l` -ge 1 ]; then /usr/local/bin/vnstat -u; fi

Nun muss eine Konfigurationsdatei für vnStat angelegt werden. Dazu kann als Basis die Beispielskonfiguration verwendet werden. in der Konfiguration kann zum Beispiel mit Interface die Standardnetzwerkschnittstelle angegeben werden:

# cd /usr/local/etc/
# cp vnstat.conf.sample vnstat.conf

Nun muss das Verzeichnis angelegt werden in dem die Datenbanken abgelegt werden. Danach wird für jede Netzwerkschnittstelle eine Datenbank angelegt. Im folgenden Beispiel wird nur für tun0 eine Dankenbank erstellt:

# mkdir /var/db/vnstat
# vnstat -u -i tun0

Nachdem die Datenbank das erste Mal aktualisiert wurde, können die gespeicherten Informationen abgerufen werden. Wird keine Schnittstelle mit der -i Option angegeben, so wird die Standardschnittstelle aus der Konfiguration genommen:

# vnstat 
Database updated: Sat Jan  9 21:25:00 2010

   tun0 since 09.01.2010

          rx:  95.11 MiB      tx:  5.63 MiB      total:  100.74 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Jan '10     95.11 MiB |    5.63 MiB |  100.74 MiB |    1.07 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated       331 MiB |      17 MiB |     348 MiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today     95.11 MiB |    5.63 MiB |  100.74 MiB |   10.70 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated       106 MiB |       5 MiB |     111 MiB |

Mit der -s Option werden die Informationen in kompakter Form angezeigt:

# vnstat -s

                      rx      /      tx      /     total    /   estimated
 tun0:
       Jan '10     95.11 MiB  /    5.63 MiB  /  100.74 MiB  /  348.00 MiB
         today     95.11 MiB  /    5.63 MiB  /  100.74 MiB  /     111 MiB

Wird die -h Option verwendet, so wird der Netzwerkdurchsatz pro Stunde, mit der -w Option der Woche und mit der -m Option des Monats angezeigt:

# vnstat -h
 tun0                                                                     21:25 
  ^                                               r                             
  |                                               r                             
  |                                               r  r                          
  |                                               r  r                          
  |                                               r  r                          
  |                                               r  r                          
  |                                               r  r                          
  |                                               r  r                          
  |                                               r  r  r     r                 
  |                                               r  r  r  r  r                 
 -+---------------------------------------------------------------------------> 
  |  22 23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21    
                                                                                
 h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB) 
22          0          0    06          0          0    14     30'404      1'352
23          0          0    07          0          0    15      9'932        814
00          0          0    08          0          0    16      5'997        574
01          0          0    09          0          0    17      7'995        715
02          0          0    10          0          0    18      2'644        650
03          0          0    11          0          0    19        421        176
04          0          0    12          0          0    20          0          0
05          0          0    13     38'000      1'169    21      1'999        311

Mit der -tr Option wird der aktuelle Verkehr einer Netzwerkschnittstelle für 5 Sekunden gemessen. Soll nicht die Standard-Netzwerkschnittstelle verwedent werden, kann mit der -i Option eine alternative Schnittstelle angegeben werden:

# vnstat -tr -i wlan0
128 packets sampled in 5 seconds     
Traffic average for wlan0

      rx        70.40 kbit/s            13 packets/s
      tx        20.80 kbit/s            12 packets/s

Mit der -l Option wird der aktuelle Verkehr einer Schnittstelle angezeigt, bis Ctrl + C gedrückt wird:

# vnstat -l -i wlan0
Monitoring wlan0...    (press CTRL-C to stop)

   rx:       16 kbit/s    15 p/s          tx:       24 kbit/s    18 p/s

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

 Permalink

Ziel eines symbolischen Linkes anzeigen

Mit Hilfe von readlink kann das Ziel eines symbolischen Linkes angezeigt werden. Im FreeBSD Portbaum findet man readlink unter sysutils/readlink:

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

Wird ein symbolischer Link an readlink übergeben, so wird das Ziel des Linkes angezeigt und als Rückgabewert wird 0 zurückgegeben. Ist die übergebene Datei kein symbolischer Link, so wird 1 als Rückgeabewert zurückgegeben:

# ls -l b 
lrwxr-xr-x  1 root  wheel  1  2 Jan 18:29 b@ -> a
# readlink b
a
# echo $?
0
# ls -l c
lrwxr-xr-x  1 root  wheel  14  2 Jan 18:30 c@ -> /usr/home/test
# readlink c
/usr/home/test
# echo $?
0
# ls -l test 
-rw-r--r--  1 beat  wheel  0  2 Jan 18:46 test
# readlink test
# echo $?
1
Comments (1)  Permalink
1-7/7