Outils pour utilisateurs

Outils du site


installfreebsd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
installfreebsd [2019/02/24 13:36] cyrilleinstallfreebsd [2019/05/16 21:58] – [Mises à système de base] cyrille
Ligne 1: Ligne 1:
-Recuperer les infos pkg+======Installation de freeBSD 12======
  
-<code bash> pkg info -D zsh</code>+Sur laptop, DELL Latitude E5430 et DELL Latitude E6410
  
 +Testé avec un schéma de partition UFS et ZFS, en mode UEFI et LEGACY.
  
  
  
-<code bash>$ su - +===== Installation =====
-root@dellfp15:~ #  pkg install gimp | tee install_gimp.log</code>+
  
- +Récupérer l'iso de freeBSD. La graver sur une clef USB et booter dessus. 
 +Suivre l'installation pas à par pas.
  
 +| {{ :img_3209.jpg?direct&200 |}} | {{ :img_3210.jpg?direct&200 |}} |
 +Faire attention au stade de configuration réseau de choisir pour ETSI / FR
 +"country FR regdomain ETSI"
  
 +<WRAP center round important 60%>
 +"country FR regdomain ETSI"
 +</WRAP>
  
  
-Post-configuration +Voici les options que j'ai choisies lors de **System Configuration** 
-Connaitre le matériel à configurer +{{ :img_3211.jpg?direct&200 |}}
-dmesg grep "no driver attached"+
  
  
-Reconfigurer le réseau +Rebooter sur freeBSD
-bsdinstall netconfig+
  
  
-$ pkg  +=====Francisation===== 
-Installation initialisation de l'outil de paquet pkg+Editer le fichier **/etc/login.conf**
  
-$ pkg install nano 
-Editeur plus simple que VI 
  
-pkg bash bash-completion + <code bash>default:
-Installation de bash et l'auto-completion+         :passwd_format=sha512:
 +         :copyright=/etc/COPYRIGHT:
 +         :welcome=/etc/motd:
 +         :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:
 +         :path=/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin ~/bin:\ 
 +         :nologin=/var/run/nologin:
 +         :cputime=unlimited:
 +         :datasize=unlimited:
 +         :stacksize=unlimited:
 +         :memorylocked=64K:
 +         :memoryuse=unlimited:
 +         :filesize=unlimited:
 +         :coredumpsize=unlimited:
 +         :openfiles=unlimited:
 +         :maxproc=unlimited:
 +         :sbsize=unlimited:
 +         :vmemoryuse=unlimited:
 +         :swapuse=unlimited:
 +         :pseudoterminals=unlimited:
 +         :kqueues=unlimited:
 +         :umtxp=unlimited:
 +         :priority=0:
 +         :ignoretime@:
 + :charset=UTF-8:\ 
 + :lang=fr_FR.UTF-8:
 +         :umask=022:</code> 
 +          
 +Ajouter pour que les locales soient prises en compte 
 +<code bash> :charset=UTF-8:
 + :lang=fr_FR.UTF-8:\</code>
  
-pkg install sudo+Le recharger  
 +<code bash>cap_mkdb /etc/login.conf</code>
  
-Editer /usr/local/etc/sudoers +=====Initialisation de pkg===== 
 +| {{ :img_3213.jpg?direct&400 |}} | {{ :img_3214.jpg?direct&400 |}} |
  
- visudo  
  
-your_user ALL=(ALL) ALL+=====AJOUTER un user===== 
 +<code bash># adduser</code> 
 +L’inclure dans les groupes : **wheel operator video**
  
 +Editer .login_conf
  
-nano /etc/rc.config +<code bash> 
-Ajouter +[ragnarok@asgard-freebsd:~] $ cat .login_conf  
-dbus_enable=" YES"  +# $FreeBSD: releng/12.0/share/skel/dot.login_conf 77995 2001-06-10 17:08:53Z ache $ 
-hald_enable=" YES" +# 
 +# see login.conf(5) 
 +
 +me:\ 
 + :charset=UTF-8:\ 
 + :lang=fr_FR.UTF-8:</code>
  
-Rebooter pour prise en charge de dbus 
  
-pkg install xorg 
-Installation du serveur X 
  
-Système en français +=====Gestion du son=====
-nano /etc/login.conf +
  
-    french|French Users Accounts:\ +<code bash># kldload snd_driver</code> 
-        :charset=UTF-8:\ +<code bash>cat /dev/sndstat 
-        :lang=fr_FR.UTF-8:\ +Installed devices
-        :tc=default+pcm0<IDT 92HD93BXX (Analog 2.0+HP/2.0)> (play/rec) default 
-Commenter la section "russe"+pcm1<IDT 92HD93BXX (Analog)> (play/rec) 
 +pcm2<Intel Panther Point (HDMI/DP 8ch)> (play) 
 +pcm3<Intel Panther Point (HDMI/DP 8ch)> (play) 
 +pcm4: <Intel Panther Point (HDMI/DP 8ch)> (play) 
 +No devices installed from userspace.</code>
  
-prise en compte+<code bash># sysrc kld_list+=snd_hda</code>
  
-# cap_mkdb /etc/login.conf 
  
 +=====Affichage  : drm-kmod=====
 +Installer le paquet
 +<code bash>pkg install drm-kmod</code>
  
-Puis éditer le fichier de mot de passe par la commande vipw, Et rechercher votre login :+Initialisation au boot 
 +<code bash>sysrc kld_list+="/boot/modules/i915kms.ko"</code>
  
-# vipw+Le charger 
 +<code bash>kldload /boot/modules/i915kms.ko</code>
  
-    olivier:$1$00edYNK2$heBNRz65txD0j7bGtB40r.:1001:1001::0:0:Olivier Cochard-Labbe:/home/olivier:/bin/tcsh+Vérifier 
 +<code bash>kldstat -v | grep i915</code>
  
-  Il faut ajouter «french» entre les ::, ce qui va donner : 
  
-    olivier:$1$00edYNK2$heBNRz65txD0j7bGtB40r.:1001:1001:**french**:0:0:Olivier Cochard-Labbe:/home/olivier:/bin/tcsh+ 
 +===== Network Manager ===== 
 + 
 + 
 +==== Network Manager ==== 
 + 
 + 
 +<code bash>pkg show  networkmgr 
 +WWW            : https://github.com/GhostBSD/networkmgr 
 +Comment        : FreeBSD/GhostBSD network conection manager 
 +Annotations    : 
 + repo_type      : binary 
 + repository     : FreeBSD 
 +Flat size      : 1.71MiB 
 +Description    : 
 +NetworkMgr is an open source, Network Manager based on the look of the Linux 
 +Network Manager user interface. It use ifconfig and netif if make all work. 
 +</code> 
 + 
 +Il faudra ensuite configurer DOA pour que ça fonctionne 
 + 
 +<code bash>cat /usr/local/etc/doas.conf 
 + 
 +    permit nopass keepenv root 
 +    permit :wheel  
 +    permit nopass keepenv :wheel cmd netcardmgr 
 +    permit nopass keepenv :wheel cmd ifconfig 
 +    permit nopass keepenv :wheel cmd service</code> 
 + 
 +Se delogguer, l'utilisateur doit faire partie du groupe **wheel**
 + 
 + 
 +Gestion de la connexion par ce fichier 
 + 
 +<code bash> cat /etc/wpa_supplicant.conf</code> 
 + 
 +{{ ::wifi-network.png?direct&400 |}} 
 + 
 +==== CLI graphique de gestion ==== 
 + 
 +<code bash> pkg install  wifimgr</code> 
 + 
 +{{ ::wifi-mng.png?direct&400 |}} 
 +===== Devices permissions ===== 
 +Permettra en autres l'accès aux périphériques amovibles (CDR,DVD). Nécessaire pour xfburner par exemple. 
 + 
 +<code bash>cat /etc/devfs.conf 
 + 
 +    # Allow all users to access optical media 
 +    perm    /dev/acd0       0666 
 +    perm    /dev/acd1       0666 
 +    perm    /dev/cd0        0666 
 +    perm    /dev/cd1        0666 
 +      
 +    # Allow all USB Devices to be mounted 
 +    perm    /dev/da0        0666 
 +    perm    /dev/da1        0666 
 +    perm    /dev/da2        0666 
 +    perm    /dev/da3        0666 
 +    perm    /dev/da4        0666 
 +    perm    /dev/da5        0666 
 +      
 +    # Misc other devices 
 +    perm    /dev/pass0      0666 
 +    perm    /dev/xpt0       0666 
 +    perm    /dev/uscanner0  0666 
 +    perm    /dev/video0     0666 
 +    perm    /dev/tuner0     0666 
 +    perm    /dev/dvb/adapter0/demux0    0666 
 +    perm    /dev/dvb/adapter0/dvr       0666 
 +    perm    /dev/dvb/adapter0/frontend0 0666 
 +</code> 
 + 
 +<code bash>cat /etc/devfs.rules 
 + 
 +    [devfsrules_common=7] 
 +    add path 'ad[0-9]\*' mode 666 
 +    add path 'ada[0-9]\*' mode 666 
 +    add path 'da[0-9]\*' mode 666 
 +    add path 'acd[0-9]\*' mode 666 
 +    add path 'cd[0-9]\*' mode 666 
 +    add path 'mmcsd[0-9]\*' mode 666 
 +    add path 'pass[0-9]\*' mode 666 
 +    add path 'xpt[0-9]\*' mode 666 
 +    add path 'ugen[0-9]\*' mode 666 
 +    add path 'usbctl' mode 666 
 +    add path 'usb/\*' mode 666 
 +    add path 'lpt[0-9]\*' mode 666 
 +    add path 'ulpt[0-9]\*' mode 666 
 +    add path 'unlpt[0-9]\*' mode 666 
 +    add path 'fd[0-9]\*' mode 666 
 +    add path 'uscan[0-9]\*' mode 666 
 +    add path 'video[0-9]\*' mode 666 
 +    add path 'tuner[0-9]*'  mode 666 
 +    add path 'dvb/\*' mode 666 
 +    add path 'cx88*' mode 0660 
 +    add path 'cx23885*' mode 0660 # CX23885-family stream configuration device 
 +    add path 'iicdev*' mode 0660 
 +    add path 'uvisor[0-9]*' mode 0660</code>
          
 +Mettre à jour le **/etc/rc.conf** avec cette entrée
  
-Drivers vidéo KRM-DMS (Intel i915, AMD GPU, Radeon)+<code bash>devfs_system_ruleset="devfsrules_common"</code>
  
-À partir de FreeBSD 11.2 uniquementvous pouvez installer le meta-package drm-kmod qui va selectionner la meilleure version des drivers (legacystablenextdevel):+Prendre en compte les modifications sans rebooter 
 +<code bash>/etc/rc.d/devfs restart</code> 
 + 
 +===== Powerd++ ===== 
 +Gestion des processeurs multicores. 
 + 
 +Desinstaller **powerd** 
 + 
 +<code bash># service powerd stop 
 +Stopping powerd. 
 +Waiting for PIDS: 50127. 
 +# service powerd disable 
 +powerd disabled in /etc/rc.conf</code> 
 + 
 +Ensuite on peut installer et lancer **powerd++** : 
 +<code bash># service powerdxx enable 
 +powerdxx enabled in /etc/rc.conf 
 +# service powerdxx start 
 +Starting powerdxx.</code> 
 +=====X11 / XFCE===== 
 + 
 +<code bash>pkg install xorg xfce xfce4-goodies xfce4-mixer xfce4-volumed xf86-video-intel file-roller</code> 
 + 
 + 
 + 
 +====Pour activer le suspend et resume ==== 
 +Créer ces 2 fichiers 
 + 
 +**/usr/local/etc/polkit-1/rules.d/51.shutdown.rules** 
 + 
 + 
 +<code bash>polkit.addRule(function (action, subject) { 
 +  if ((action.id == "org.freedesktop.consolekit.system.restart" || 
 +      action.id == "org.freedesktop.consolekit.system.stop"
 +      && subject.isInGroup("PUTYOURGROUPHERE")) { 
 +    return polkit.Result.YES; 
 +  } 
 +}); 
 +</code> 
 + 
 +**/usr/local/etc/polkit-1/rules.d/52.resume.rules**  
 + 
 +<code bash>polkit.addRule(function (action, subject) { 
 +  if (action.id == "org.freedesktop.consolekit.system.suspend" 
 +      && subject.isInGroup("PUTYOURGROUPHERE")) { 
 +    return polkit.Result.YES; 
 +  } 
 +});</code> 
 + 
 +puis  
 + 
 +<code bash>chown -R polkitd /usr/local/etc/polkit-1/</code> 
 + 
 + 
 +====Démarrer xfce==== 
 + 
 + 
 + 
 +On aura besoin de dbus 
 +<code bash>Pkg install dbus 
 +service dbus onestart</code> 
 + 
 +Démarrage auttomatique, ajouter 
 +<code bash>cat /etc/rc.conf 
 +dbus_enable="YES"</code> 
 + 
 +On utilisera xinit pour le lacement de XFCE 
 +Créer dans le Home un **.xinitrc** 
 + 
 +<code bash># SET PROPER locale 
 +export LANG="fr_FR.UTF-8" 
 +export LC_ALL="fr_FR.UTF-8" 
 +export LC_MESSAGES="fr_FR.UTF-8" 
 + 
 +# Clavier français 
 +setxkbmap fr & 
 +# Lancer xfce 
 +/usr/local/bin/startxfce4</code> 
 + 
 +Lier xinitrc et xsession 
 +<code bash> ln -s ~/.xinitrc ~/.xsession</code> 
 + 
 +Enfin lancer la session X 
 +<code bash>xinit .xinitrc</code> 
 + 
 +Pour démarrer la session de XFCE, j'ai choisi la façon manuelle sinon on peut passer, entre autre par SLIM. 
 +J'ai donc créer cet alias  
 +<code bash>alias x='xinit ~/.xinitrc'</code> 
 +et la commande **x** suffit au démarrage de XFCE 
 + 
 +Sinon : jeter un oeil à SLIM : [[https://www.freebsd.org/cgi/man.cgi?query=slim&sektion=1&manpath=freebsd-release-ports|Slim]] 
 + 
 + 
 + 
 + 
 +====anti-aliasing avec la police Helvetica===== 
 +Editer ce fichier ainsi : **/usr/local/etc/fonts/local.conf**  
 +<code bash><?xml version='1.0'?> 
 +<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> 
 +<fontconfig> 
 + 
 +    <dir>~/.fonts</dir> 
 + 
 +    <!--    do not use the embedded bitmap instead of the outline 
 +        <https://www.freebsd.org/cgi/man.cgi?query=fonts-conf&sektion=5&manpath=FreeBSD+and+Ports> 
 +        <https://bbs.archlinux.org/viewtopic.php?id=161609> post (2013) 
 +        <https://redd.it/7kqr5l> (2017) --> 
 +    <match target="font"> 
 +        <edit name="embeddedbitmap" mode="assign"> 
 +            <bool>false</bool> 
 +        </edit> 
 +    </match> 
 + 
 +    <!--    prefer outline e.g. TrueType instead of bitmap fonts 
 +        <https://bbs.archlinux.org/viewtopic.php?id=161609> post 2 (2013) 
 +        <https://redd.it/4tb2dt> (2016) --> 
 +    <match target="font"> 
 +        <edit name="prefer_outline"> 
 +            <bool>true</bool> 
 +        </edit> 
 +    </match> 
 + 
 +    <!--    reject bitmap fontsexcept Ohsnapu - prefer PostScript, TrueType et cetera 
 +        <https://forums.freebsd.org/threads/howto-nice-fonts.2021/> (2009) 
 +        <https://redd.it/4tb2dt> (2016) --> 
 +    <selectfont> 
 +        <acceptfont> 
 +            <pattern> 
 +                <patelt name="family"> 
 +                    <string>Ohsnapu</string> 
 +                </patelt> 
 +            </pattern> 
 +        </acceptfont> 
 +        <rejectfont> 
 +            <pattern> 
 +                <patelt name="scalable"> 
 +                    <bool>false</bool> 
 +                </patelt> 
 +            </pattern> 
 +        </rejectfont> 
 +    </selectfont> 
 + 
 +</fontconfig></code> 
 + 
 +====Gestionnaire WIFI==== 
 +Bien que par défaut, on n'en a pas besoin. On peut vouloir utiliser un outil style Gestionnaire Wifi 
 +<code bash>pkg install wifimgr</code> 
 + 
 +Sinon la(es) connexion(s) se gère(nt) via : 
 +<code bash> cat /etc/wpa_supplicant.conf</code> 
 + 
 +====Barre de Menu pour XFCE==== 
 + 
 +J'utilise Plank, simple et convivial. 
 + 
 +<code bash># pkg install plank</code> 
 + 
 +Ajouter cette commande au démarrage de XFCE 
 +=====Paramétrage de Xorg===== 
 +====Carte video==== 
 +Créer ces 2 fichiers 
 +<code bash># cat /usr/local/etc/X11/xorg.conf.d/card.conf 
 +Section "Device" 
 +  Identifier "Card0" 
 +  Driver "intel" 
 +  Option "DPMS" 
 +  Option      "Backlight"  "intel_backlight" 
 +EndSection</code> 
 + 
 +====Le clavier==== 
 +<code bash># cat /usr/local/etc/X11/xorg.conf.d/keyboard.conf 
 +Section "InputDevice" 
 +  Identifier "Keyboard0" 
 +  Driver "kbd" 
 +  Option "XkbLayout" "fr" 
 +  Option "XkbOptions" "terminate:ctrl_alt_bksp,ctrl:nocaps" 
 +EndSection</code> 
 + 
 + 
 + 
 +=====Configuration spécifique===== 
 +====timeout boot==== 
 +Diminuer le timeout du menu du boot loader à 2 secondes 
 +<code bash>sysrc -f /boot/loader.conf autoboot_delay=2</code> 
 + 
 +====Acc. chiffr.==== 
 +Accélération de chiffrement des processeurs modernes 
 +<code bash>#echo 'aesni_load="YES"' >> /boot/loader.conf</code> 
 +Module à charger dans /boot et non /etc/rc.conf pour un chargement plus rapide  
 + 
 +====Scheduler==== 
 +Configuration pour une utilisation pour desktop/laptop 
 +<code bash>sysrc -f /etc/sysctl.conf kern.sched.preempt_thresh=224</code> 
 + 
 +Pour activer la réponse «yes» aux questions de fsck au démarrage: 
 +<code bash>sysrc fsck_y_enable=YES</code> 
 +====Micro codes CPU==== 
 +Utiliser micro codes CPU 
 +<code bash>pkg install devcpu-data 
 +service microcode_update enable 
 +service microcode_update start</code> 
 + 
 +==== ACPI ==== 
 +=== CPU et TEMP === 
 + 
 + device driver for Intel Core on-die digital thermal sensor 
 + cpuctl pseudo device 
 + 
 + <code bash>sysrc kld_list+=coretemp 
 + sysrc kld_list+=cpuctl</code> 
 + 
 +==== Fn Keys : DELL latitude E5430 ==== 
 + 
 +Ai rencontré un soucis avec les touches **Fn + brightness** seulement sur le Latitude E5430. Avec le Latitude E6410 pas de soucis. 
 + 
 +Les touches** FN et luminosité -up/down** ne fonctionnent pas. De plus **xbindkeys** ne retourne aucun code avec l'association **Fn + Brightness UP / Down** (Pas de Mod 2 + quelque chose) 
 + 
 +Solution adoptée.  
 + 
 +Installer :  
 +<code bash>pkg install xbindkeys intel-backlight</code> 
 + 
 + 
 +Fichier de configuration : 
 +<code bash>cat .xbindkeysrc  
 +# PERSONNAL XBINDKEYS 
 + "intel_backlight decr 10" 
 + Alt + Down 
 + 
 + "intel_backlight incr 10" 
 + Alt + Up 
 +</code> 
 + 
 +Lancer xbindkeys au démarrage de la session **~/.xinitrc**  
 + 
 +Ajouter cette section avant le démarrage de XFCE dans  
 +<code bash># Démarrer xbindkeys 
 +/usr/local/bin/xbindkeys  &</code> 
 + 
 +==== XFCE / FLUXBOX / OPENBOX ==== 
 +Pour avoir le choix entre plus Windows Manager : ici fluxbox, openbox 
 + 
 +<code bash>pkg install openbox openbox-themes obconf fluxbox fluxbox-tenr-styles-pack icewm wmakerconf windowmaker blackbox  </code> 
 + 
 +Modifier le fichier **~/.xinitrc** de cette façon 
 + 
 +<code bash># GESTIONNAIRE X 
 +  DEFAULT_SESSION=startxfce4 
 + 
 +case $1 in 
 +o) 
 +    exec openbox 
 +    ;; 
 +f) 
 +    exec fluxbox 
 +    ;; 
 +i) 
 +    icewmbg & 
 +    icewmtray & 
 +    exec icewm 
 +    ;; 
 +w) 
 +    exec wmaker 
 +    ;; 
 +b) 
 +    exec blackbox 
 +    ;; 
 +*) 
 +    exec $DEFAULT_SESSION 
 +    ;; 
 +esac 
 +</code> 
 + 
 +Dans votre shell, créer l'alias suivant 
 +<code bash>alias x='xinit ~/.xinitrc'</code> 
 +A la connexion, un **x** lancer xfce, **x o** openbox **x b** blackbox.... 
 + 
 +=====Monter les périphériques amovibles===== 
 +Attention la version d’automount des repos ne permet pas de monter du FAT32. Utiliser cette procédure. 
 + 
 +====Installer git==== 
 +<code bash># pkg install git 
 +# git clone https://github.com/vermaden/automount.git 
 +</code> 
 + 
 + 
 + 
 +====Initialisation des ports==== 
 +(nécessaires pour compiler exfat-utils/exFAT et  sysutils/fusefs-exfat) 
 + 
 +<code bash># portsnap fetch 
 +# portsnap extract 
 +</code> 
 + 
 +Compilation de fusefs-exfat 
 +<code bash># cd /usr/ports/sysutils/fusefs-exfat/ 
 +# make install clean</code> 
 +Accepter la licence et toutes les options par défaut 
 + 
 +Compilation de exfat-utils 
 +<code bash># cd /usr/ports/sysutils/exfat-utils/ 
 +# make install clean</code> 
 +Même procédure 
 + 
 +Installer le reste des dépendances via pkg 
 +<code bash># pkg install fusefs-ntfs fusefs-ext4fuse fusefs-hfsfuse fusefs-lkl fusefs-simple-mtpfs zenity    </code>  
 + 
 + 
 +Détarer automount-1.6.1.tar.gz récupéré du git , entrez dans le dossier 
 + 
 +Editer ce fichier de cette façon 
 +<code bash>$ cat /usr/local/etc/automount.conf 
 +USERUMOUNT=YES 
 +ATIME=NO 
 +REMOVEDIRS=YES 
 +FM="thunar" 
 +USER=ragnarok 
 +ENCODING=fr_FR.UTF-8 
 +CODEPAGE=cp850</code> 
 + 
 +Installation manuelle d'automount 
 +<code bash># cp automount.conf      /usr/local/etc/automount.conf 
 +# cp automount_devd.conf /usr/local/etc/devd/automount_devd.conf 
 +# cp automount           /usr/local/sbin/automount 
 +# chmod +x               /usr/local/sbin/automount 
 +# /etc/rc.d/devd restart</code> 
 +Et hop, ça fonctionne…... 
 + 
 +=====Dropbox===== 
 +Pas de portage Dropbox sous freeBSD 
 +Le kernel de freeBSD ne prend pas en charge **inotify** donc pas de dropbox... En tout cas dropbox ne fournit pas de client freeBSD. Reste à trouver une alternative ou utiliser wine et le client windows (parait il)... Il y aussi [[https://www.freshports.org/devel/libinotify|libnotify]] mais pas trop cherché dans ce sens .... 
 + 
 +En alternative, il y a [[https://www.freshports.org/net/rclone|rclone]] qui fait très bien le travail mais en ligne de commande. Mais reste très gérable. 
 + 
 + <code bash>pkg info rclone 
 +rclone-1.43 
 +Name           : rclone 
 +Version        : 1.43 
 +Installed on   : Sat Feb 23 19:02:31 2019 CET 
 +Origin         : net/rclone 
 +Architecture   : FreeBSD:12:amd64 
 +Prefix         : /usr/local 
 +Categories     : net 
 +Licenses       : MIT 
 +Maintainer     : wg@FreeBSD.org 
 +WWW            : https://rclone.org/ 
 +Comment        : Sync files to and from various cloud services 
 +Annotations    : 
 + FreeBSD_version: 1200086 
 + repo_type      : binary 
 + repository     : FreeBSD 
 +Flat size      : 26.1MiB 
 +Description     
 +Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and 
 +Google Cloud Storage 
 + 
 +WWW: https://rclone.org/</code> 
 + 
 +On l'installe  
 +<code bash># pkg install rclone</code> 
 + 
 +Puis on le configure 
 +<code bash>$ rclone config</code> 
 + 
 +Toute la doc est là [[https://rclone.org/dropbox/|Configurer rclone pour Dropbox]] 
 + 
 +L'option dropbox est la **7**, on valide le tout et on finit par être redirigé vers une page **d'association dropbox/rclone** qu'on renseigne et valide. 
 + 
 +Sur mon système mon répertoire **dropbox** et dans mon** /home/$USER/Dropbox** et contient 2 dossiers essentiels qui seront mis à jour soit de mon **PC vers la Dropbox** ou de la **Dropbox vers mon PC**. 
 + 
 +J'ai écrit ce script qui fonctionne sur 3 arguments 
 +* le premier : **IN** ou **OUT** : la synchronisation se fait vers la Dropbox ou depuis la Dropbox 
 +* le second : **répertoire à mettre à jour** : COURS ou DIR 
 +* le dernier : **dry** ou **write** : **dry** : on simule, **write** on met à jour 
 + 
 +Puis 1 alias : 
 +<code bash>alias dropbox='/home/ragnarok/SCRIPTS/dropbox.sh'</code> 
 + 
 +Pour mettre à jour le répertoire DIR depuis la Dropbox vers mon PC 
 +<code bash>dropbox IN DIR write</code> 
 + 
 +Pour simuler une synchroniation du répertoire COURS de mon PC vers la Dropbox 
 +<code bash>dropbox OUT COURS dry</code> 
 + 
 +Et c'est tout ! Le script ci-dessous :  
 + 
 + 
 +<code bash>#!/bin/sh 
 +  echo == DEBUG == 
 +  echo "Nom du script : $0"; 
 +  echo argument 1 : $1 
 +  echo argument 2 : $2 
 +  echo "Tous les arguments : $* ($# arguments)" 
 +  echo == FIN DEBUG == 
 + 
 + 
 +# ========================================= 
 +case $# in 
 +  0) echo "Aucun parametre" 
 +     echo "Syntaxe :  $0 IN/OUT DIR/COURS";; 
 +  1) echo "Il manque un paramètre !" 
 +     echo "Syntaxe :  $0 IN/OUT DIR/COURS";; 
 +  2) echo "2 parametres passes au programme : $1 et $2";; 
 +  3) echo "Le 3eme argument ne peut être que --dry-run ou write";; 
 +  *) echo "TROP DE PARAMETRES !" 
 +     echo "Syntaxe :  $0 IN/OUT DIR/COURS";; 
 +esac 
 + 
 +# ========================================= 
 +    if [ $1 == "IN"
 +        then 
 +            echo "Depuis la dropbox"; 
 +     source="dropbox:/"    ; 
 +            dest="/home/ragnarok/Dropbox/"; 
 + 
 +    elif [ $1 == "OUT"
 +        then    
 +            echo "Vers la dropbox"
 +     source="/home/ragnarok/Dropbox/"    ;  
 +            dest="dropbox:/"; 
 + 
 +    else 
 +        echo "$1  : Soit IN soit OUT"; 
 + exit; 
 +    fi 
 +# ========================================= 
 +    if [ $2 == "DIR"
 +        then 
 +            echo "Repertoire de DIR"; 
 +            dir="DIR-2018-2019"; 
 +    elif [ $2 == "COURS"
 +        then    
 +            echo "Repertoire de COURS"  
 +     dir="COURS-2018-2019"; 
 +    elif [ $2 == "ecole"
 +        then    
 +     echo "Repertoire Ecole"  
 +     dir="ecole"; 
 +    else 
 +        echo "$2  : Soit DIR soit COURS soit ecole"; 
 + exit; 
 +    fi 
 +# ========================================= 
 + 
 +  if [ $3 == "dry"
 +        then 
 +            echo "Option --dry-run activée"; 
 +     option="--dry-run"; 
 +  elif [ $3 == "write"
 +        then 
 +            echo "Option: aucune. En action"; 
 +     option=""; 
 +  else 
 +            echo "$3  : Ne peut être que dry ou write"; 
 + exit; 
 +    fi 
 +# ========================================= 
 + 
 +echo "rclone sync $source$dir $dest$dir $option --progress" 
 +rclone sync $source$dir $dest$dir $option --progress 
 + 
 +echo " --------------- Done."; 
 +</code> 
 +===== WINE ===== 
 +Attention il faut installer le paquet i386 même si on est en 64bit, sinon erreur de segmentation. 
 + 
 +Donc  
 +<code bash>pkg install i386-wine</code> 
 + 
 +Puis peaufinage via  
 +<code bash>$ winecfg</code> 
 + 
 +Accepter tout ce qu'il propose de télécharger et installer. 
 + 
 + 
 +Fonctionne nickel, mais les polices sont vraiment bizarres. 
 + 
 +Éditer **~/.config/fontconfig/fonts.conf** de cette manière :  
 +<code bash><?xml version="1.0"?> 
 +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> 
 +  
 +<fontconfig> 
 +  
 +  <!-- antialias all fonts --> 
 +  <match target="font"> 
 +    <edit name="antialias" mode="assign"><bool>true</bool></edit> 
 +    <edit name="hinting"   mode="assign"><bool>true</bool></edit> 
 +    <edit name="hintstyle" mode="assign"><const>hintslight</const></edit> 
 +    <edit name="rgba"      mode="assign"><const>rgb</const> </edit> 
 +    </match> 
 +  
 +</fontconfig></code> 
 + 
 +===== XFCE / Archives ===== 
 +Si vous avez le message d'erreur "Aucun gestionnaire d'archive trouvé" en essayant d'extraire ou de compresser un dossier via Thunar 
 + 
 +<code bash>pkg install xarchiver</code> 
 + 
 +=====Arduino===== 
 +Surtout ne pas installer la version depuis les ports, elle ne passe pas (l'iDE d'aruino ne sait pas compiler) et c'est hyper casse-pieds pour la desinstaller. Préférer la version précompilée (**pkg**). 
 +<code bash>pkg install arduino</code> 
 + 
 +Si nécessaire, inclure votre $USER aux groupes **operator** et **dialer** 
 +<code bash> 
 +# sudo pw groupmod operator -m $USER 
 +# sudo pw groupmod dialer -m $USER</code> 
 + 
 +Donner l'accès aux périphériques USB via **/etc/devfs.rules**<code bash> 
 +# cat /etc/devfs.rules 
 +
 +# Allow operators access to usb devices. 
 +
 +[operator_usb=5] 
 +add path usbctl mode 0660 group operator 
 +add path 'usb/*' mode 0660 group operator 
 +add path 'ugen*' mode 0660 group operator</code> 
 + 
 +Prise en compte des changements 
 +<code bash># sudo sysrc devfs_system_ruleset=operator_usb</code> 
 +Relance du service devfs 
 +<code bash># sudo service devfs restart</code> 
 + 
 +On branche sa carte et on vérifie sa détection 
 +<code bash>$ usbconfig  
 +... 
 +ugen0.2: <Arduino (www.arduino.cc) product 0x0043> at usbus0cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA) 
 +</code> 
 + 
 +{{ ::capture_d_ecran_2019-03-10_14-53-21.png?direct&400 |}} 
 + 
 + 
 +===== Bash ===== 
 + 
 +==== bash comme shell par défaut ==== 
 + 
 + 
 +<WRAP center round important 60%> 
 +Attention ne pas changer le shell du root 
 +</WRAP> 
 +  
 + 
 + 
 +<code bash># chsh -s /usr/local/bin/bash {username}</code> 
 + 
 + 
 +<code bash>grep ragnarok /etc/passwd</code> 
 + 
 + 
 + 
 +__Cas d'un système UFS__ 
 +<code bash>cat /etc/fstab 
 +## append the following to /etc/fstab file ## 
 +fdesc  /dev/fd  fdescfs  rw 0 0</code> 
 + 
 +__Cas d'un système ZFS__ (**fdescfs** doit être monté après la racine zfs) 
 +<code bash>cat /etc/fstab 
 +## append the following to /etc/fstab file ## 
 +fdesc /dev/fd fdescfs rw,auto,late 0 0</code> 
 + 
 +==== Autocomplétion ==== 
 +<code bash>add the following to your ~/.bashrc or ~/.bash_profile file: 
 +[[ $PS1 && -f /usr/local/share/bash-completion/bash_completion.sh ]] && \ 
 + . /usr/local/share/bash-completion/bash_completion.sh</code> 
 + 
 + 
 +<code bash># pkg install bash-completion</code> 
 + 
 +==== Alias ==== 
 +Créer un fichier **.bash_aliases** 
 + touch .bash_aliases 
 +Et y mettre ses alias. Si non fait,  insérer cette section dans le .bashrc  
 +<code bash># Alias definitions. 
 +# You may want to put all your additions into a separate file like 
 +# ~/.bash_aliases, instead of adding them here directly. 
 +# See /usr/share/doc/bash-doc/examples in the bash-doc package. 
 +if [ -f ~/.bash_aliases ]; then 
 +    . ~/.bash_aliases 
 +fi 
 +</code> 
 + 
 +===== VirtualBox ===== 
 +Jeter un oeil : [[freebsdvirtualbox|VirtualBox sous freeBSD]] 
 + 
 + 
 +=====DUAL BOOT freeBSD / Linux===== 
 +J'avais une Linux Debian SID d'installée sur mon PC.  
 + 
 +<code bash>$ sudo fdisk -l 
 +Disque /dev/sda : 111,8 GiB, 120034123776 octets, 234441648 secteurs 
 +Unités : secteur de 1 × 512 = 512 octets 
 +Taille de secteur (logique / physique) : 512 octets / 512 octets 
 +taille d'E/S (minimale / optimale) : 512 octets / 512 octets 
 +Type d'étiquette de disque : dos 
 +Identifiant de disque : 0x0c3bb11c 
 + 
 +Périphérique Amorçage    Début       Fin  Secteurs Taille Id Type 
 +/dev/sda1           2048 143362047 143360000  68,4G 83 Linux 
 +/dev/sda2             226338814 234440703   8101890   3,9G  5 Étendue 
 +/dev/sda3             143362048 226338813  82976766  39,6G a5 FreeBSD 
 +/dev/sda5             226338816 234440703   8101888   3,9G 82 partition d'échange</code> 
 + 
 +Donc on voit 
 +    * sda1 : Partition primaire : Racine linux / 
 +    * sda2 : Partition étendue 
 +    * sda 3 : FreeBSD 
 +    * sda5 : swap Linux 
 + 
 +**Configuration du grub sous LINUX** 
 +Sous LINUX, éditer le fichier suivant : **/etc/grub.d/40_custom** et créer l'entrée ci-dessous 
 + 
 +Attention hd0,3 car freeBSD est sur /dev/sda3, s'il était sur le 1, mettre hd0,1, sur le 2 hd0,2, sur la seconde partition d'un deuxième disque hd1,2... Donc à adapter à votre configuration 
 + 
 +<code bash>#!/bin/sh 
 +exec tail -n +3 $0 
 +# This file provides an easy way to add custom menu entries.  Simply type the 
 +# menu entries you want to add after this comment.  Be careful not to change 
 +# the 'exec tail' line above. 
 +menuentry "FreeBSD 12" { 
 +    set root='(hd0,3)' 
 +    kfreebsd /boot/loader 
 +
 +</code> 
 + 
 +Prendre en compte les modifications de la configuration du grub 
 + 
 +<code bash># update-grub 
 +Création du fichier de configuration GRUB… 
 +Image Linux trouvée : /boot/vmlinuz-4.10.0-38-generic 
 +Image mémoire initiale trouvée : /boot/initrd.img-4.10.0-38-generic 
 +Found memtest86+ image: /boot/memtest86+.elf 
 +Found memtest86+ image: /boot/memtest86+.bin 
 +unknown Linux distribution trouvé sur /dev/sda3 
 +</code> 
 + 
 +Rebooter et la nouvelle entrée est fonctionnelle dans le grub. 
 + 
 +===== SSD Config [UFS] ===== 
 +Rien d'extraorinaire à faire, juste **activer le trim** sur les partitions montées 
 +Chez moi ada0p2 (**/**) et ada0p4 (**/home**) 
 + 
 +Rebooter et démarrer en mode :** Boot Single User** (le n°2). (Il ne faut pas que les partitions soient montées) 
 +<code bash> 
 +tunefs -t enable ada0p2 
 +tunefs -t enable ada0p4</code> 
 + 
 +Rebooter 
 + 
 +Vérfier que ce soit pris en compte 
 + <code bash>tunefs -p /dev/ada0p4 | grep trim 
 +tunefs: POSIX.1e ACLs: (-a)                                disabled 
 +tunefs: NFSv4 ACLs: (-N)                                   disabled 
 +tunefs: MAC multilabel: (-l)                               disabled 
 +tunefs: soft updates: (-n)                                 enabled 
 +tunefs: soft update journaling: (-j)                       enabled 
 +tunefs: gjournal: (-J)                                     disabled 
 +tunefs: trim: (-t)                                         enabled 
 +tunefs: maximum blocks per file in a cylinder group: (-e)  4096 
 +tunefs: average file size: (-f)                            16384 
 +tunefs: average number of files in a directory: (-s)       64 
 +tunefs: minimum percentage of free space: (-m)             8% 
 +tunefs: space to hold for metadata blocks: (-k)            6408 
 +tunefs: optimization preference: (-o)                      time 
 +tunefs: volume label: (-L)                                  
 +</code> 
 + 
 + 
 + 
 +===== Problème de boot UFS ===== 
 +Pour schéma de disque **UFS** 
 +Au boot du système, j'avais le message 
 +"**Invalid partition table !**" 
 +Une pression sur ENTER lançait cependant le système. 
 +Voici la marche suivit par régler le problème (déclarer //proprement// la partition active) 
 + 
 + 
 +<code bash>gpart show 
 + 
 +=>       40  468862048  ada0  GPT  (224G) 
 +         40       1024      freebsd-boot  (512K) 
 +       1064   25164800      freebsd-ufs  (12G) 
 +   25165864   16777216      freebsd-swap  (8.0G) 
 +   41943080  398458880      freebsd-ufs  (190G) 
 +  440401960   28460128      freebsd-ufs  (14G)</code> 
 +   
 +Dans un premier temps, régénérer le secteur de boot 
 +<code bash>cd /boot 
 +gpart bootcode -b pmbr -p gptboot -i1 ada0</code> 
 + 
 +Si ne fonctionne touojours pas après un redémarrage, re-préciser la partition **active**. 
 +<code bash>[ragnarok@asgard-freebsd:~] $ sudo fdisk -a 
 +******* Working on device /dev/ada0 ******* 
 +parameters extracted from in-core disklabel are: 
 +cylinders=465141 heads=16 sectors/track=63 (1008 blks/cyl) 
 +Figures below won't work with BIOS for partitions not in cyl 1 
 +parameters to be used for BIOS calculations are: 
 +cylinders=465141 heads=16 sectors/track=63 (1008 blks/cyl) 
 +Media sector size is 512 
 +Warning: BIOS sector numbering starts with sector 1 
 +Information from DOS bootblock is: 
 +The data for partition 1 is: 
 +sysid 238 (0xee),(EFI GPT) 
 +    start 1, size 468862127 (228936 Meg), flag 0 
 +    beg: cyl 0/ head 0/ sector 2; 
 +    end: cyl 1023/ head 255/ sector 63 
 + 
 +The data for partition 2 is: 
 +<UNUSED> 
 +The data for partition 3 is: 
 +<UNUSED> 
 +The data for partition 4 is: 
 +<UNUSED> 
 +Do you want to change the active partition? [n] y 
 +Supply a decimal value for "active partition"</code> 
 + 
 +On précise le numéro de la partition où booter et valide le reste. 
 + 
 +On reboote et ça devrait passer 
 + 
 +===== ZFS Configuration ===== 
 +Si vous avez choisi cette option, vous devriez avoir cette sortie. 
 + 
 + 
 +<code bash> 
 +[ragnarok@asgard-freeBSD:~] $ zfs list 
 +NAME                 USED  AVAIL  REFER  MOUNTPOINT 
 +zroot               9,06G   202G    88K  /zroot 
 +zroot/ROOT          3,81G   202G    88K  none 
 +zroot/ROOT/default  3,81G   202G  3,81G  / 
 +zroot/tmp            208K   202G   208K  /tmp 
 +zroot/usr           5,24G   202G    88K  /usr 
 +zroot/usr/home      4,49G   202G  4,49G  /usr/home 
 +zroot/usr/ports      763M   202G   763M  /usr/ports 
 +zroot/usr/src         88K   202G    88K  /usr/src 
 +zroot/var            680K   202G    88K  /var 
 +zroot/var/audit       88K   202G    88K  /var/audit 
 +zroot/var/crash       88K   202G    88K  /var/crash 
 +zroot/var/log        216K   202G   216K  /var/log 
 +zroot/var/mail       112K   202G   112K  /var/mail 
 +zroot/var/tmp         88K   202G    88K  /var/tmp 
 +</code> 
 + 
 +<code bash>[ragnarok@asgard-freeBSD:~] $ zfs get -r canmount zroot 
 +NAME                PROPERTY  VALUE     SOURCE 
 +zroot               canmount  on        default 
 +zroot/ROOT          canmount  on        default 
 +zroot/ROOT/default  canmount  noauto    local 
 +zroot/tmp           canmount  on        default 
 +zroot/usr           canmount  off       local 
 +zroot/usr/home      canmount  on        default 
 +zroot/usr/ports     canmount  on        default 
 +zroot/usr/src       canmount  on        default 
 +zroot/var           canmount  off       local 
 +zroot/var/audit     canmount  on        default 
 +zroot/var/crash     canmount  on        default 
 +zroot/var/log       canmount  on        default 
 +zroot/var/mail      canmount  on        default 
 +zroot/var/tmp       canmount  on        default 
 +</code> 
 + 
 +Si problème de montage au boot, vérifier que **/etc/rc.conf** contienne bien cette ligne 
 +<code bash>zfs_enable="YES"</code> 
 + 
 + 
 +Normalement le TRIM est pris en compte par défaut 
 +<code bash>root@asgard-freeBSD:~ # sysctl vfs.zfs.trim 
 +vfs.zfs.trim.max_interval:
 +vfs.zfs.trim.timeout: 30 
 +vfs.zfs.trim.txg_delay: 32 
 +vfs.zfs.trim.enabled: 1</code> 
 +<code bash>root@asgard-freeBSD:~ # sysctl -d kstat.zfs.misc.zio_trim 
 +kstat.zfs.misc.zio_trim:  
 +kstat.zfs.misc.zio_trim.failed: Number of TRIM requests that failed for reasons other than not supported 
 +kstat.zfs.misc.zio_trim.unsupported: Number of TRIM requests that failed because TRIM is not supported 
 +kstat.zfs.misc.zio_trim.success: Number of successful TRIM requests 
 +kstat.zfs.misc.zio_trim.bytes: Number of bytes successfully TRIMmed</code> 
 +<code bash>root@asgard-freeBSD:~ # sysctl -a |grep _trim 
 +kern.cam.nda.max_trim: 256 
 +kstat.zfs.misc.zio_trim.failed:
 +kstat.zfs.misc.zio_trim.unsupported:
 +kstat.zfs.misc.zio_trim.success: 34651 
 +kstat.zfs.misc.zio_trim.bytes: 2751168512 
 +</code> 
 + 
 + 
 +OPtimisation en lecture / écriture 
 +(mais tout dépend de l'utilisation que vous en faites) 
 +<code bash>zpool add 'nom_du_zpool' cache 'nom_du_device_ssd' 
 +zpool add 'nom_du_zpool' log 'nom_du_device_ssd'</code> 
 + 
 + 
 +===== Gestion des fichiers core ===== 
 +==== core générés par le kernel ==== 
 +Dans **__/etc/sysctl.conf__** 
 +Ajouter cette option 
 +<code bash> kern.coredump=0</code> 
 +Ou celle-ci : Reroutage des fichiers core 
 +<code bash>kern.corefile=/dev/null</code> 
 + 
 +OU 
 + dumpdev="NO" to your **__/etc/rc.conf__** 
 + 
 + 
 +==== core générés par les applications ==== 
 + 
 + 
 + 
 +CSH 
 +limit coredumpsize 0 dans **/etc/csh.login** 
 +  
 +BASH
  
-pkg install drm-kmod 
  
-Et demander leur chargement automatique, ici un exemple pour un module i915:+ulimit -c 0 dans  **.bash_profile**
  
-sysrc kld_list+="/boot/modules/i915kms.ko"+===== Mises à jour =====
  
-kldload /boot/modules/i915kms.ko+====== Patchs de sécurité ======
  
-Après un rebootvérifier que le module du package (/boot/modules) et non de la base (/boot/kernel) est bien pris en compte:+<code bash>root@asgard-freeBSD:~ # freebsd-update fetch 
 +src component not installedskipped 
 +Looking up update.FreeBSD.org mirrors... 3 mirrors found. 
 +Fetching public key from update4.freebsd.org... done. 
 +Fetching metadata signature for 12.0-RELEASE from update4.freebsd.org... done. 
 +Fetching metadata index... done. 
 +Fetching 2 metadata files... done. 
 +Inspecting system... done. 
 +Preparing to download files... done. 
 +</code>
  
-olivier@x220:~ % kldstat -v | grep i915 
-    1 0xffffffff8293d000 120ca8   i915kms.ko (/boot/modules/i915kms.ko) 
  
 +<code bash>root@asgard-freeBSD:~ # freebsd-update install
 +src component not installed, skipped
 +Installing updates... done.</code>
 +<code bash>
 +root@asgard-freeBSD:~ # uname -a
 +FreeBSD asgard-freeBSD 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC  amd64</code>
 +<code bash>root@asgard-freeBSD:~ # freebsd-version -u
 +12.0-RELEASE-p5</code>
 +<code bash>root@asgard-freeBSD:~ # freebsd-version -k
 +12.0-RELEASE-p4</code>
  
  
-networkmanager +====== Mises à système logiciels ======
-pkg install networkmgr+
  
-$ cat /usr/local/etc/doas.conf  
-permit nopass keepenv :wheel cmd netcardmgr 
-permit nopass keepenv :wheel cmd detect-nics 
-permit nopass keepenv :wheel cmd detect-wifi 
-permit nopass keepenv :wheel cmd ifconfig 
-permit nopass keepenv :wheel cmd service 
-permit nopass keepenv :wheel cmd wpa_supplicant 
  
 +===== Sources =====
 +Je n'ai pas pondu tout cela tout seul, j'ai lu pas mal de docs et les forums BSD.
 +Voici les sources indispensables à mon avis :
 +  *[[http://olivier.cochard.me/bidouillage/installation-et-configuration-de-freebsd-comme-poste-de-travail|O. Cochard FreeBSD]]
 +  *[[https://vermaden.wordpress.com/|Mine d'or d'informations]]
 +  *[[https://github.com/vermaden|GIT de Vermaden]]
 +  *[[https://www.c0ffee.net/blog/freebsd-on-a-laptop/|FreeBSD on a laptop]]
 +  *[[https://www.tecmint.com/things-to-do-after-installing-freebsd/|Post installation freeBSD laptop]]
 +  *[[https://www.cyberciti.biz/faq/freebsd-bash-installation/|FreeBSD Install BASH Shell Using pkg command]]
 +  *[[https://cooltrainer.org/a-freebsd-desktop-howto/|A FreeBSD 11 Desktop How-to]]
 +Et surtout
 +  *[[https://www.freebsd.org/| Site FreeBSD]]
 +  *[[https://forums.freebsd.org/|Forums FreeBSD]]
 +  *[[https://www.freebsd.org/doc/fr/books/handbook/|HandBook Français de FreeBSD]]
 +  *[[https://forums.fug-fr.org/cgi-bin/yabb2/YaBB.pl| Forum FUG-FR]]
 +  *[[http://open-zfs.org/wiki/Performance_tuning|ZFS]]
installfreebsd.txt · Dernière modification : 2020/06/06 17:12 de cyrille