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/03/25 08:51] – [Sources] 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
  
  
 +Attention si en parallèle d'un linux, laisser le Linux gérer le grub via le MBR et rajouter une entrée dans le grub. 
  
 +Exemple : 
 +<code bash>cat /etc/grub.d/40_custom
 +#!/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>
  
-<code bash>$ su - +Si que freesbd sur le disque, utiliser <code bash>GPT</code> et non MBR 
-root@dellfp15:~ #  pkg install gimp | tee install_gimp.log</code>+===== Installation =====
  
- +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**
  
  
-nano /etc/rc.config 
-Ajouter 
-dbus_enable=" YES"  
-hald_enable=" YES"  
  
-Rebooter pour prise en charge de dbus+=====Gestion du son=====
  
-pkg install xorg +<code bash># kldload snd_driver</code> 
-Installation du serveur X+<code bash>cat /dev/sndstat 
 +Installed devices: 
 +pcm0: <IDT 92HD93BXX (Analog 2.0+HP/2.0)> (play/rec) default 
 +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>
  
-Système en français +<code bash># sysrc kld_list+=snd_hda</code>
-nano /etc/login.conf +
  
-    french|French Users Accounts:\ 
-        :charset=UTF-8:\ 
-        :lang=fr_FR.UTF-8:\ 
-        :tc=default: 
-Commenter la section "russe" 
  
-prise en compte+=====Affichage  : drm-kmod===== 
 +Installer le paquet 
 +<code bash>pkg install drm-kmod</code>
  
-# cap_mkdb /etc/login.conf+Initialisation au boot 
 +<code bash>sysrc kld_list+="/boot/modules/i915kms.ko"</code>
  
 +Le charger
 +<code bash>kldload /boot/modules/i915kms.ko</code>
  
-Puis éditer le fichier de mot de passe par la commande vipw. , Et rechercher votre login :+Vérifier 
 +<code bash>kldstat -v | grep i915</code>
  
-# vipw 
  
-    olivier:$1$00edYNK2$heBNRz65txD0j7bGtB40r.:1001:1001::0:0:Olivier Cochard-Labbe:/home/olivier:/bin/tcsh 
  
-  Il faut ajouter «french» entre les ::, ce qui va donner :+===== Network Manager =====
  
-    olivier:$1$00edYNK2$heBNRz65txD0j7bGtB40r.:1001:1001:**french**:0:0:Olivier Cochard-Labbe:/home/olivier:/bin/tcsh+ 
 +==== 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
 +
 +<code bash>devfs_system_ruleset="devfsrules_common"</code>
 +
 +Prendre en compte les modifications sans rebooter
 +<code bash>/etc/rc.d/devfs restart</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 2 (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 fonts, except 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>
 +
 +=====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 usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (100mA)
 +</code>
 +
 +{{ ::capture_d_ecran_2019-03-10_14-53-21.png?direct&400 |}}
 +
 +
 +=====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.
 +
 +===== 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>
 +
 +
 +
 +
 +<code bash>cat /etc/fstab
 +## append the following to /etc/fstab file ##
 +fdesc  /dev/fd  fdescfs  rw 0 0</code>
  
-Drivers vidéo KRM-DMS (Intel i915, AMD GPU, Radeon) 
  
-À partir de FreeBSD 11.2 uniquement, vous pouvez installer le meta-package drm-kmod qui va selectionner la meilleure version des drivers (legacy, stable, next, devel):+==== 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>
  
-pkg install drm-kmod 
  
-Et demander leur chargement automatique, ici un exemple pour un module i915:+<code bash># pkg install bash-completion</code>
  
-sysrc kld_list+="/boot/modules/i915kms.ko"+==== 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>
  
-kldload /boot/modules/i915kms.ko+===== SSD Config ===== 
 +Rien d'extraorinaire à faire, juste **activer le trim** sur les partitions montées 
 +Chez moi ada0p2 (**/**) et ada0p4 (**/home**)
  
-Après un reboot, vérifier que le module du package (/boot/moduleset non de la base (/boot/kernel) est bien pris en compte:+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>
  
-olivier@x220:~ % kldstat -v | grep i915 +Rebooter
-    1 0xffffffff8293d000 120ca8   i915kms.ko (/boot/modules/i915kms.ko)+
  
 +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>
  
  
-networkmanager 
-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]]
installfreebsd.txt · Dernière modification : 2020/06/06 17:12 de cyrille