BlogBlog ÜbersichtjailscriptportsoptFreeBSDLinksThermoskanneKontakt

32bit-Bibliotheken auf amd64 nachinstallieren

Möchte man auf einem amd64 Rechner die 32bit-Bibliotheken nachinstallieren, da diese zum Beispiel von einem Port gebraucht werden, muss der FreeBSD-Quellcode unter /usr/src vorhanden sein. Danach können die 32bit-Bibliotheken wie folgt gebaut und installiert werden:

# cd /usr/src
# make build32 install32
# ldconfig -v -m -R /usr/lib32
Comments (1)  Permalink

Nur INDEX-Datei mit portsnap aktualisieren

Möchte man nur die den Port-INDEX mit portsnap aktualisieren, kann die -I Option von portsnap verwendet werden:

# portsnap -I fetch update

Sollen nachträglich auch die Ports aktualisiert werden, kann nur noch das update Kommando nochmals aufgerufen werden:

# portsnap update
Comments (0)  Permalink

portsnap via cron ausführen

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.

Comments (0)  Permalink

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).

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

Comments (0)  Permalink

Prüfen ob Port-Patches angewendet werden können

Ändert man einen FreeBSD Port, zum Beispiel durch das Aktualisieren auf eine neuere Version, so kann es vorkommen, dass die Port-Patches welche sich im files-Verzeichnis befindenk, nicht mehr angewendet werden können. Dies kann mit make checkpatch geprüft werden:

# make checkpatch
===>  Found saved configuration for firefox-3.1.b3,1
===>  Extracting for firefox-3.6.b5,1
=> MD5 Checksum OK for firefox-3.6b5.source.tar.bz2.
=> SHA256 Checksum OK for firefox-3.6b5.source.tar.bz2.
===>   firefox-3.6.b5,1 depends on file: /usr/local/bin/perl5.8.9 - found
===>  Patching for firefox-3.6.b5,1
===>   firefox-3.6.b5,1 depends on file: /usr/local/bin/perl5.8.9 - found
===>  Applying extra patch /usr/home/beat/dev/freebsd-gecko/branches/experimental/www/firefox3-devel/files/libsydney_oss
===>  Applying FreeBSD patches for firefox-3.6.b5,1
Ignoring previously applied (or reversed) patch.
1 out of 1 hunks ignored--saving rejects to toolkit/xre/Makefile.in.rej
=> Patch patch-toolkit_xre_Makefile.in failed to apply cleanly.
=> Patch(es) patch-build_unix_run-mozilla.sh patch-config_autoconf.mk.in patch-config_mkdepend_Makefile.in patch-configure.in patch-content-xslt-public-txDouble.h patch-db_sqlite3_src_Makefile.in patch-js-src-Makefile.in patch-js-src-config-mkdepend_Makefile.in patch-js-src-config_config.mk patch-js-src-configure.in patch-js-src-jslock.cpp patch-js_src_jsnum.cpp patch-layout_generic_Makefile.in patch-media-libsydneyaudio-include-sydney_audio.h patch-media_liboggz_include_oggz_oggz_off_t_generated.h patch-security-coreconf-FreeBSD.mk patch-security_manager_ssl_src_nsNSSComponent.cpp patch-storage_build_Makefile.in patch-toolkit_mozapps_update_src_updater_updater.cpp applied cleanly.
*** Error code 1

Stop in /usr/home/beat/dev/freebsd-gecko/branches/experimental/www/firefox3-devel.
*** Error code 1

Stop in /usr/home/beat/dev/freebsd-gecko/branches/experimental/www/firefox3-devel.

Dabei werden die Patch-Dateien nur überprüft ob diese mit den aktuellen Code noch angewendet werden können, ohne den Quellcode jedoch zu verändern. Schlägt ein Patch fehl, kann dieser korrigiert und danach das Ergebnis wieder mit make checkpatch überprüft werden.

Related Entries:
Überprüfen ob ein Port mit einem anderen in Konflikt steht
Portmaster mit Unterstützung für Pakete
CPU-Temperaturen und Batterieinformationen auslesen
ZFS-Installation mit Hilfe von mfsBSD
Programm mit which finden
Comments (0)  Permalink

Überprüfen ob ein Port mit einem anderen in Konflikt steht

Möchte man überprüfen ob ein Port mit einem bereits installierten Port in Konflikt steht, so kann dies vor dem Installieren mit make check-conflicts getestet werden:

# cd /usr/ports/www/seamonkey2 && make check-conflicts

===>  seamonkey-2.0.1 conflicts with installed package(s):
      spidermonkey-1.7.0

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

*** Error code 1

Stop in /usr/ports/www/seamonkey2
Related Entries:
Prüfen ob Port-Patches angewendet werden können
Portmaster mit Unterstützung für Pakete
CPU-Temperaturen und Batterieinformationen auslesen
ZFS-Installation mit Hilfe von mfsBSD
Programm mit which finden
Comments (0)  Permalink

Herausfinden in welchen Verzeichnissen eine Manpage gesucht wird

Mit Hilfe von mapath kann angezeigt werden in welchen Verzeichnissen man(1) nach einer Manpage sucht:

# manpath 
/usr/share/man:/usr/local/man:/usr/share/openssl/man:/usr/local/lib/perl5/5.8.9/man:/usr/local/lib/perl5/5.8.9/perl/man

Konfiguriert werden diese Verzeichnisse in der Datei /etc/manpath.config. Möchte man ein weiteres Verzeichnis mit Manpages hinzufügen, so kann dazu zum Beispiel mit OPTIONAL_MANPATH festgelegt werden:

# ls -d /home/beat/man/*
/home/beat/man/man1
# echo "OPTIONAL_MANPATH        /usr/home/beat/man" >> /etc/manpath.config
# manpath
/usr/share/man:/usr/local/man:/usr/share/openssl/man:/usr/local/lib/perl5/5.8.9/man:/usr/local/lib/perl5/5.8.9/perl/man:/usr/home/beat/man

Auch kann mit Hilfe der Umgebungsvariable MANPATH die globale Konfiguration überschrieben werden:

# setenv MANPATH /home/beat/man
# manpath
(Warning: MANPATH environment variable set)
/home/beat/man

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

Comments (0)  Permalink

Portmaster mit Unterstützung für Pakete

Mit Hilfe von portmaster könnten installierte Ports aktualisiert werden. Seit der Version 2.12 wird nun auch das Aktualisieren mit Hilfe von Paketen unterstützt. Im FreeBSD Portbaum findet man portmaster unter ports-mgmt/portmaster:

# cd /usr/ports/ports-mgmt/portmaster && make install clean

Mit Hilfe der -PP Option werden die installierten Ports aussschliesslich mit Paketen aktualisiert. Die heruntergeladenen Pakete werden dabei im /usr/ports/packages/portmaster-download/ Verzeichnis gespeichert:

# portmaster -PP pkg_cutleave

===>>> Currently installed version: pkg_cutleaves-20080320
===>>> Port directory: /usr/ports/ports-mgmt/pkg_cutleaves
===>>> Gathering dependency list for ports-mgmt/pkg_cutleaves from ports
===>>> Starting dependency check
===>>> Dependency check complete for ports-mgmt/pkg_cutleaves
===>>> Starting install for ports-mgmt/pkg_cutleaves <<<===

===>>> All dependencies are up to date

===>>> Checking package repository for latest available version
===>>> Creating a backup package for old version pkg_cutleaves-20080320
===>>> Installing package

===>>> Updating dependencies for pkg_cutleaves-20090810 to match installed versions

===>>> Upgrade of pkg_cutleaves-20080320 to pkg_cutleaves-20090810 complete

Möchte man den Server festlegen, von welchem die Pakete heruntergeladen werden, so kann dazu die PACKAGESITE-Umgebungsvariable gesetzt werden. Zum Beispiel in der (t)csh:

# setenv PACKAGESITE http://tinderbox.chruetertee.ch/tb/packages/8-FreeBSD

Verwendet man die -P Option so wird falls vorhanden ein Paket zur Aktualisierung verwendet, wird aber keines gefunden, so wird der Port mit Hilfe des Portbaumes aktualisiert. Im folgenden Beispiel werden alle installierten Ports aktualisiert für welche es eine neuere Version gibt. Falls möglich wird zur Aktualisierung ein Paket verwendet, ist keines vorhanden wir der Port mit Hilfe des Portbaumes kompiliert:

# portmaster -P -a

Findet portmaster ein Paket, welches neuer ist als das Installierte ist, im Portbaum befindet sich allerdings noch eine neuere Version des Portes, kann mit der --packages-if-newer festgelegt werden, dass trotzdem das Paket installiert wird:

# portmaster -P --packages-if-newer nmap

Sollten beim Aktualisieren eines Ports neue Abhängigkeiten für das Kompilieren dieses Portes benötigt werden, können diese mit Hilfe der --packages-build Option als Pakete heruntergeladen und installiert werden.

# portmaster --packages-build screen

Mehr Informationen zu portmaster findet man in der Manpage portmaster(8). Informationen über die zukünftigen Möglichkeiten von portmaster und wie man die Entwicklung  von portmaster unterstützen kann, findet man auf der "portmaster funding proposal"-Webseite.

Related Entries:
Prüfen ob Port-Patches angewendet werden können
Überprüfen ob ein Port mit einem anderen in Konflikt steht
CPU-Temperaturen und Batterieinformationen auslesen
ZFS-Installation mit Hilfe von mfsBSD
Programm mit which finden
Comments (0)  Permalink
Next1-10/251