[ FreeBSD ]
by Beat
@ 28.02.2010 22:20 UTC
Möchte man den Portbaum regelmässig mit portsnap durch einen cron-Job aktualisieren, kann folgende Zeile in /etc/crontab eingetragen werden:
30 2 * * * root portsnap cron update
Bei einem cron-Job sollte man anstatt des fetch Kommandos das cron Kommando verwenden, so dass zufällig bis zu einer Stunde gewartet wird bis die Änderungen des Portbaumes heruntergeladen werden. So wird sichergestellt, dass die portsnap-Server nicht überlastet werden.
Möchte man aus einer CSV-Datei ein LaTeX-Dokument generieren so kann dazu csv2latex verwendet werden. Im FreeBSD Portbaum findet man csv2latex unter textprox/csv2latex:
# cd /usr/ports/textproc/csv2latex && make install clean
Nun kann ein LaTeX-Dokument aus der CSV-Datei generiert werden:
# csv2latex links.csv > links.tex
Soll der generierte LaTeX-Code in ein bestehendens Dokument integriert werden, so kann der LaTeX-Dokumentenkopf mit der --nohead Option nicht erstellt werden:
# csv2latex --nohead links.csv > links.tex
Werden in der CSV-Datei nicht Kommas sondern zum Beispiel Semikolons als Trennzeichen verwendet so kann das Trennzeichen mit der --separator Option festgelegt werden:
# csv2latex --separator s links.csv > links.tex
Alle Optionen von csv2latex erhält man, wenn csv2latex ohne Optionen aufgerufen wird.
Mit Hilfe von ftasv kann der Status eines Apache-Servers auf der Kommandozeile abgefragt werden. Dies ist besonders nützlich, wenn die Server-Status-Seite des Apaches durch ein Problem nicht mehr erreichbar ist. Im FreeBSD Portbaum findet man ftasv unter www/ftasv:
# cd /usr/ports/www/ftasv && make install clean
Damit ftasv verwendet werden kann, muss das Status-Modul aktiviert und der Apache entsprechend konfiguriert werden:
LoadModule status_module libexec/apache2/mod_status.so
<IfModule mod_status.c>
ScoreBoardFile /var/run/apache_status
ExtendedStatus On
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from localhost
</Location>
</IfModule>
Nachdem die neue Konfiguration aktiviert wurde, kann der Apache-Status als root mit ftasv ausgelesen werden:
# ftasv /var/run/apache_status
6473 _ 83.76.xx.xx tinderbox.chruetertee.ch GET /tb/templates/paefchen/tinderstyle.css HTTP/1.1
6805 K 83.76.xx.xx tinderbox.chruetertee.ch GET /tb/ HTTP/1.1
7026 _ 83.76.xx.xx tinderbox.chruetertee.ch GET /tb/templates/paefchen/images/hdr_fill.png HTTP/1.1
7094 _ 93.186.xx.xx tinderbox.chruetertee.ch GET /tb/index.php?action=latest_buildports_rss HTTP/1.1
7331 _ tinderbox.chruetertee.ch tinderbox.chruetertee.ch GET /server-status?auto HTTP/1.1
7589 C 83.76.xx.xx tinderbox.chruetertee.ch GET /tb/templates/paefchen/tinderstyle.js HTTP/1.1
41883 _ 83.76.xx.xx tinderbox.chruetertee.ch GET /tb/templates/paefchen/images/hdr_fill.png HTTP/1.1
42153 _ 212.47.xx.xx tinderbox.chruetertee.ch GET /tinderbox/index.php HTTP/1.1
42155 C 83.76.xx.xx tinderbox.chruetertee.ch GET /tb/templates/paefchen/images/hdr_fill.png HTTP/1.1
Mehr Informationen findet man in der Datei /usr/local/share/doc/ftasv/README.
Mit Hilfe von wc können verschiedene Informationen zu einer Textdatei ermittelt werden. Mit der -l Option können die Anzahl Zeilen einer Datei gezählt werden:
# wc -l chruetertee-latin1.tex
18199 chruetertee-latin1.tex
Möchte man die Anzahl Wörter einer Datei zählen, so kann die -w Option verwendet werden:
# wc -w chruetertee-latin1.tex
91070 chruetertee-latin1.tex
Die Anzahl Zeichen einer Datei wird mit der -m Option angezeigt:
# wc -m chruetertee-latin1.tex
774362 chruetertee-latin1.tex
Die Läge der längsten Zeile einer Datei bestimmt man mit der -L Option:
# wc -L chruetertee-latin1.tex chruetertee.tex
20928 chruetertee-latin1.tex
1548 chruetertee.tex
20928 total
Auf FreeBSD ist wc standardmässig im Basissystem vorhanden. Mehr Informationen zu wc findet man in der Manpage wc(1).
Möchte man aus einer Datei alle LaTeX-Befehle ausfiltern, so dass nur noch der Text angezeigt wird, kann man dazu detex verwenden. Im FreeBSD Portbaum findet man detex unter print/detex:
# cd /usr/ports/print/detex && make install clean
Nun ruft man detex mit der LaTeX -Datei auf und alle LaTeX-Befehle werden entfernt:
# head -20 chruetertee-latin1.tex
\documentclass[10pt]{article}
\usepackage{fullpage, graphicx, url}
\setlength{\parskip}{1ex}
\setlength{\parindent}{0ex}
\title{chruetertee.ch}
\begin{document}
\section*{chruetertee.ch}
\subsection*{Fotos auf der Kommandozeile aufbessern}
[ Befehl der Woche ] by Beat @ 26.12.2009 11:21 CET
Mit HIlfe von aaphoto lassen sich Fotos auf der Kommandozeile aufbessern, zum Beispiel automatisch die Farben korrigiert. Im FreeBSD Portbaum findet man aaphoto unter graphics/aaphoto:
\begin{verbatim}
# cd /usr/ports/graphics/aaphoto && make install clean
\end{verbatim}
Ruft man aaphoto ohne Optionen auf, werden automatisch die Farben des Bildes verbessert und dieses in einer neuen Datei gespeichert:
\begin{verbatim}
# detex chruetertee-latin1.tex | head -20
chruetertee.ch
chruetertee.ch
Fotos auf der Kommandozeile aufbessern
[ Befehl der Woche ] by Beat @ 26.12.2009 11:21 CET
Mit HIlfe von aaphoto lassen sich Fotos auf der Kommandozeile aufbessern, zum Beispiel automatisch die Farben korrigiert. Im FreeBSD Portbaum findet man aaphoto unter graphics/aaphoto:
Ruft man aaphoto ohne Optionen auf, werden automatisch die Farben des Bildes verbessert und dieses in einer neuen Datei gespeichert:
Mehr Informationen zu detex findet man in der Manpage detex(1).
[ FreeBSD ]
by Beat
@ 31.01.2010 21:52 UTC
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).
[ FreeBSD ]
by Beat
@ 31.01.2010 16:23 UTC
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
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).
Ä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.
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).