Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

freebsd_tipps_for_linux_migrators [2013/02/16 22:39]
terminar
freebsd_tipps_for_linux_migrators [2013/11/05 23:22] (aktuell)
terminar
Zeile 1: Zeile 1:
 +
 +====== FreeBSD Tipps für Linux-Umsteiger ======
 +
 +
 +===== ZFS stuff =====
 +
 +Das meiste im Netz ist sehr gut dokumentiert und lässt sich als Vorlage nutzen. 
 +Ein paar zusammengefasste Beispiele habe ich aber auf [[freebsd9_full_disc_encryption_root_zfs]] gesammelt.
 +Unter [[freebsd9_full_disc_encryption_root_zfs#zfs_boot_errormounting_from_zfszroot_failed_with_error_2|ZFS boot error: Mounting from zfs:zroot failed with error 2]] gibt es einen speziellen Eintrag, falls euer zfs:zroot mit "error 2" beim Booten nicht gemountet wird.
 +
 +===== Gnome mit gdm aktivieren =====
 +Es reicht, in die rc.conf
 +  gnome_enable="YES"
 +
 +einzutragen. Das ganze "gdm_enable", "dbus_enable" etc ist nicht notwendig.
 +
 +===== Networkmanager unter Gnome2 funktioniert nicht =====
 +
 +Der NetworkManager wird scheinbar auch längerfristig nicht funktionieren.
 +Ein paar Optionen für die rc.conf die das Leben vereinfachen, hier am Beispiel Ethernet und WLAN:
 +
 +  netif_enable="YES"
 +  network_interfaces=wlan0\ em0
 +  wlans_iwn0="wlan0"
 +  ifconfig_em0=dhcp
 +  ifconfig_wlan0="WPA DHCP"
 +
 +Im ports gibt es das Programm "wifimgr" das den Job für WLAN Netzwerke ganz gut übernimmt.
 +Falls es da noch Probleme gibt, die /etc/wpa_supplicant.conf anpassen.
 +
 +===== NFS mount von Linux auf FreeBSD nicht möglich (nicht mit zfs sharenfs) =====
 +
 +Sicherheitsprobleme... Probiert erst gar nicht die Einträge mit nfs_reserved_port_only die man bei Google findet, die betreffen wahrscheinlich nur FreeBSD als NFS-Client.
 +Das Problem betrifft den NFSv4 Server und die Konfiguration per zfs sharenfs bzw in /etc/exports
 +
 +Für die Nutzung von "zfs sharenfs" muss zuerst in der rc.conf der Eintrag
 +
 +  zfs_enable="YES"
 +  
 +gesetzt sein, andernfalls nutzt der mountd nicht die generierte /etc/zfs/exports die bei "zfs sharenfs" geschrieben wird.
 +
 +==== NFSv4 ====
 +Bei NFSv4 kann nicht "zfs sharenfs" genutzt werden da hier der neue Syntax für das Root-Share gesetzt werden muss. Ein Beispiel 
 +
 +  V4:/zmirror/transfer
 +  /zmirror/transfer -alldirs -maproot=root -network 192.168.1.0/24
 +
 +Wichtig beim Mounten auf dem Client: Der Pfad ist nicht (!) host:/zmirror/transfer sondern nur host:/
 +
 +  mount -t nfs 192.168.1.1:/ /mnt/transfer
 +  
 +Bei V4 wird der "Root-Ordner" gesetzt.
 +
 +Optionen in der rc.conf:
 +  rpcbind_enable="YES"
 +  rpc_lockd_enable="YES"
 +  rpc_statd_enable="YES"
 +
 +  nfs_server_enable="YES"
 +  nfsv4_server_enable="YES"
 +  nfsuserd_enable="YES"
 +  mountd_enable="YES"
 +
 +  #für ZFS wenn auch in V4 relativ nutzlos
 +  zfs_enable="YES"
 +
 +
 +==== NFSv3 ====
 +
 +Folgende Konfiguration ermöglicht das alte bekannte Verhalten von NFS und ist auch mit "zfs sharenfs" nutzbar.
 +Die Datei /etc/exports sollte möglichst dabei leer sein. /etc/zfs/exports wird vom "zfs sharenfs" geschrieben.
 +
 +Einstellungen in der rc.conf für NFSv3:
 +  rpcbind_enable="YES"
 +  rpc_lockd_enable="YES"
 +  rpc_statd_enable="YES"
 +  weak_mountd_authentication="YES"
 +  oldnfs_server_enable="YES"
 +
 +  nfs_server_enable="YES"
 +  nfsv4_server_enable="NO"
 +  nfsuserd_enable="YES"
 +  mountd_enable="YES"
 +  zfs_enable="YES"
 +
 +
 +Der Syntax vom NFS ist nicht Linux-kompatibel!
 +Ein Share-Beispiel für ZFS:
 +  zfs set sharenfs="-maproot=root -alldir -ip 127.0.0.1" zroot/night-linux
 +  zfs set sharenfs="-maproot=root -alldir -network 192.168.1.0/24" zroot/night-data
 +
 +Als Alternative zu "-ip XXX.XXX.XXX.XXX" gäbe es noch "-network 192.168.1.0/24" oder "-network 192.168.1.0 -mask 255.255.255.0".
 +
 +
 +===== Das alte Linux-System trotz crypt parallel zum FreeBSD System ausführen und Dateien übertragen =====
 +
 +FreeBSD versteht kein dm-crypt/crypsetup-luks, wir können uns aber eines kleinen Tricks bedienen.
 +Die Grundidee ist, das alte System von der Festplate "raw" direkt in einer VM zu starten.
 +VirtualBox funktioniert ganz passabel unter FreeBSD, daher der Tipp (wir gehen davon aus das die Linux-Platte als /dev/ada1 erkannt wird), mit:
 +
 +  VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/ada1
 +
 +eine VMDK Datei zu erstellen, dann mit
 +  chmod 777 /dev/ada1
 +
 +erstmal die Permission Probleme für den normalen User bis zum Reboot brutal zu erschlagen.
 +Dann erstellt eine VM mit der VMDK (notfalls einfach VMDK erstellen und den Inhalt der file.vmdk in die neu erstellte VMDK zu kopieren, aber die GUID zu belassen sonst klar Virtualbox). Als Netzwerk sollte HostOnly gewählt werden.
 +
 +Als nächstes würde ich vorschlagen, das System per SystemRescueCD ISO (oder einer anderen Distribution eurer Wahl) zu booten, das Linux-System manuell mit cryptsetup luksOpen zu laden, in einen anderen Ordner mountet ihr von 10.0.2.2 (FreeBSD Host) den NFS-freigegebenen Ordner im FreeBSD System und könnt anschließend die Dateien der alten Festplatte übertragen und trotzdem weiter am Rechner sitzen.
 +
 +Alternative: Linux booten, auf eine andere Festplatte uncrypted kopieren, dann unter FreeBSD wieder reinkopieren. Linux unterstützt kein GELI Crypt, daher ist ein direkter Transfer nicht möglich. ZFS wäre wahrscheinlich per ZFSOnLinux möglich, aber ganz so zuversichtlich bin ich da nicht.
 +
 +Wichtig: Mehrere virtuelle CPU's in der Virtualbox nutzen. Falls nicht kann es sein das die Datenübertragung bei maximal ~2MB hängen bleibt.
 +
 +===== MC falsche Rahmendarstellung =====
 +
 +Temp-Fix: 
 +  mc -a
 +
 +===== Sprach-Kram =====
 +
 +/etc/profile, entweder:
 +  LANG=de_DE.ISO8859-15; export LANG
 +  MM_CHARSET=ISO-8859-15; export MM_CHARSET
 + GDM_LANG=de_DE.ISO8859-15; export GDM_LANG
 +
 +oder
 +  LANG=de_DE.UTF-8; export LANG
 +  MM_CHARSET=UTF-8; export MM_CHARSET
 +  GDM_LANG=de_DE.UTF-8; export GDM_LANG
 +
 +/etc/csh.login, entweder:
 +  setenv LANG de_DE.ISO8859-15
 +  setenv MM_CHARSET ISO8859-15
 +  setenv GDM_LAN de_DE.ISO8859-15
 +
 +oder
 +  setenv LANG de_DE.UTF-8
 +  setenv MM_CHARSET UTF-8
 +  setenv GDM_LAN de_DE.UTF-8
 +
 +/etc/login.conf:
 +entweder beim default Eintrag anhängen (ISO8859-15 oder UTF-8):
 +        :umask=022:\
 +        :charset=ISO8859-15:\
 +        :lang=de_DE.ISO8859-15:
 +
 +oder (ISO-8859-15 oder UTF-8):
 +  german|German Users Accounts:\
 +      :charset=ISO8859-15:\
 +      :lang=de_DE.ISO8859-15:\
 +      :tc=default:
 +
 +hinterher cap_mkdb /etc/login.conf nicht vergessen; beim Eintrag "german" in der login.conf muss aber noch der User in der /etc/passwd angepasst und das german setting ausgewählt werden.
 +
 +===== Sprachkram beim mounten =====
 +
 +Parameter -L oder -C für die LANG Settings.
 +
 +  mount -t msdosfs -L de_DE.UTF-8 /dev/da0s4 /mnt/zip
 +Mit der “-C“-Option, welche den lokalen Zeichensatz enthält, koordiniert man die Dateinamen-Zeichensatz-Konvertierung. Zum Beispiel:
 +
 +  mount -t udf -C UTF-8 /dev/acd0 /mnt/cdrom
 +
 +
 +===== arm crosscompiler eabi basteln =====
 +  cd /usr/ports/devel/cross-gcc
 +  make TGTARCH=arm TGTABI=eabi install
 +
 +oder
 +
 +Summon-Arm-Toolchain/FreeBSD nutzbare Version auschecken. Könnte sein das noch als Machine-Type "FreeBSD" in das switch/case muss.
 +  git://wien.tomnetworks.com/summon-arm-toolchain.git
 +
 +===== Ports Tools =====
 +
 +Ports updaten
 +  portsnap fetch
 +  portsnap update
 +  
 +  
 +Bei erster Nutzung muss noch
 +  portsnap extract
 +
 +ausgeführt werden.
 +
 +Cleanup:
 +  portsclean -CDD
 +
 +Ports komplett updaten:
 +  portupgrade -afb
 +
  
 
 
         
         
   
(21576 views) freebsd_tipps_for_linux_migrators.txt · Zuletzt geändert: 2013/11/05 23:22 von terminar