2019-08-20: Création
2019-08-21: Packages list
2019-08-22: Fix nVidia driver
2019-09-22: Add nmap+arp-scan
2019-10-02: Add openssh-sftp-server
2019-12-31: Add qdirstat
2020-02-28: Add corsair-key-spotify.txt
2020-03-09: Add testing non free
2020-03-21: Add -fs.inotify.max_user_watches=524288
2020-03-28: Add XFCE mugshot menulibre lightdm-gtk-greeter-settings
2020-03-30: Add Tilix (multi terminal)

Installation de Debian testing non free

Après plusieurs utilisation de Debian stable et de ses moyens de montée de version via backport et apt/preferences.d/testing, je décide d'installer la version testing non-free de Debian 10.0.
Le PC concerné est le portable Asus G74S de 2011.

Netinstall + firmware

La version netinstall permet d'installer le système depuis internet. La particularité firmware (non-free) permet d'avoir les firmwares les plus courants pour les cartes mères et les périphériques.
Le nom du fichier iso est :

firmware-10.0.0-amd64-netinst.iso

et ce trouve sur le site debian :
http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/10.0.0+nonfree/amd64/iso-cd/

Netinstall + firmware + testing

La version netinstall + testing permet d'installer le système depuis internet. La particularité firmware (non-free) permet d'avoir les firmwares les plus courants pour les cartes mères et les périphériques.
Le terme testing signifie que l'on suit la future version de Debian avec des mises à jour toutes les semaines.
Le nom du fichier iso est :

firmware-testing-amd64-netinst.iso

et ce trouve sur le site debian :

https://cdimage.debian.org/images/unofficial/non-free/images-including-firmware/daily-builds/sid_d-i/current/amd64/iso-cd/

USB bootable

Doc debian-facile.org/doc:install:usb-boot
Pour booter sur l'image iso il faut la transférer sur une clé usb.
Pour connaître l'identifiant de la clé :

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 953,9G  0 disk      <-- DISQUE 1
├─sda1   8:1    0   100M  0 part 
├─sda2   8:2    0 266,2G  0 part 
├─sda3   8:3    0     1K  0 part 
├─sda5   8:5    0  48,8G  0 part /
├─sda6   8:6    0 622,8G  0 part /home
└─sda7   8:7    0    16G  0 part [SWAP]
sdb      8:16   0 931,5G  0 disk       <-- DISQUE 2
sdc      8:32   1   3,8G  0 disk       <-- CLE USB
├─sdc1   8:33   1   841M  0 part 
└─sdc2   8:34   1   1,4M  0 part 
sr0     11:0    1  1024M  0 rom  

Pour copier l'iso sur la clé :

# dd bs=4096 if=firmware-testing-amd64-netinst.iso of=/dev/sdc

Dans la clé, on doit y trouver un fichier README.txt avec cet extrait en ligne 58 :

   This disc includes non-free firmware to make installation easier on
   some systems requiring proprietary but redistributable firmware. See
   https://wiki.debian.org/Firmware for more details.

Installation minimale

La méthode consiste à installer un système minimum. Il y aura moins de paquet à mettre à jour lors du passage en debian testing :

Migration en testing

Il faut éditer /etc/apt/source.list et remplacer buster par testing et mettre les lignes security et update en commentaires.

Rappel du format non-free :
https://manpages.debian.org/buster/apt/sources.list.5.fr.html
deb http://deb.debian.org/debian buster main contrib non-free
deb http://security.debian.org buster/updates main contrib non-free
# apt install vim
# vim /etc/apt/source.list
# deb cdrom:[Debian GNU/Linux 10.0.0 _Buster_ - Official amd64 NETINST 20190706-10:23]/ buster contrib main non-free 

#deb cdrom:[Debian GNU/Linux 10.0.0 _Buster_ - Official amd64 NETINST 20190706-10:23]/ buster contrib main non-free

deb http://deb.debian.org/debian/ testing main non-free contrib
deb-src http://deb.debian.org/debian/ testing main non-free contrib

#deb http://security.debian.org/debian-security buster/updates main contrib non-free
#deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

# buster-updates, previously known as 'volatile'
#deb http://deb.debian.org/debian/ buster-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free

Mise à jour du catalogue de paquet et migration vers testing :

# apt update
# apt upgrade

Packages list

Voici la liste des paquets que j'utilise :

XFCE

# apt install xfce4*
# apt install xfwm4-theme-breeze

Lightdm autologin

Source wiki.debian.org/LightDM
Pour éviter de taper le login+password à chaque ouverture de session.
Dans le fichier de config, dé-commenter autologin-user :

/etc/lightdm/lightdm.conf

[...]
[Seat:*]
autologin-user=userName
#autologin-user-timeout=0
[...]

Personnalisation du thème

Apparence

  • Style: Breeze-Dark
  • Icônes: Breeze Orange-Dark
  • Polices: Monospace Regular taille 10 et 96 DPI

Gestionnaire de fenêtres

  • Style: AzenisEX-dark

Général

Partant de zéro:

# apt install sudo synaptic \
    firmware-linux-nonfree \
    firmware-atheros blueman pulseaudio-module-bluetooth bluez-firmware \
    numlockx \
    xbindkeys \
    linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') \
    gvfs-backends \
    network-manager network-manager-gnome \
    pm-utils \
    vim tilix
 
Paquets suggérés :
  wish xbindkeys-config
Paquets suggérés :
  915resolution xscreensaver | kscreensaver | gnome-screensaver | xlock | vlock cpufrequtils radeontool    

Partant de l'iso debian firmware testing:

# apt install sudo synaptic \
    numlockx \
    xbindkeys \
    linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') \
    gvfs-backends \
    pm-utils \
    vim tilix

Configurations: sudo et numlock

# adduser jc sudo
# printf "[Seat:*]\ngreeter-setup-script=/usr/bin/numlockx on\n" > /usr/share/lightdm/lightdm.conf.d/50-numlock.conf

nvidia driver

# apt install nvidia-detect
# nvidia-detect 
Detected NVIDIA GPUs:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF116M [GeForce GT 560M] [10de:1251] (rev a1)
 
Checking card:  NVIDIA Corporation GF116M [GeForce GT 560M] (rev a1)
Uh oh. Failed to identify your Debian suite.
 
update-initramfs: Generating /boot/initrd.img-4.19.0-5-amd64
W: Possible missing firmware /lib/firmware/nvidia/gv100/acr/ucode_load.bin for module nouveau
  • Le driver par défaut est nouveau.
  • Ce driver n'est pas 100% compatible avec la carte GeForce GT 560M.
  • La fonction resume de la veille prolongée ne fonctionne pas à cause de ce driver.
  • Il faut installer le paquet avec le firmware de la carte vidéo.
# apt install nvidia-legacy-390xx-driver

Momentanément en conflit avec le driver nouveau, il suffit de rebooter pour sa prise en compte.

Outils

# apt install rsync \
    screenfetch figlet \
    mc ranger tree \
    workrave jq \
    wmctrl net-tools curl nmap arp-scan \
    openssh-sftp-server \
    qdirstat \
    mugshot menulibre lightdm-gtk-greeter-settings
 
Paquets suggérés :
  arj catdvi | texlive-binaries dbview djvulibre-bin epub-utils genisoimage gv libaspell-dev
  odt2txt poppler-utils python-boto python-tz xpdf | pdf-viewer zip atool caca-utils sudo
  poppler-utils | mupdf-tools highlight | python-pygments unoconv mediainfo | exiftool
  cmigemo dict dict-wn dictd libsixel-bin w3m-el xsel
Paquets suggérés :
  molly-guard monkeysphere rssh ssh-askpass ufw

développement

Système

Node.js à besoin des notifications du système de fichier pour détecter leurs changements et y appliquer un traitement. Il est parfois nécessaire de paramétrer le système pour que cela fonctionne correctement :
Édition de /etc/sysctl.conf renseigner fs.inotify.max_user_watches

 # for what other values do
 #kernel.sysrq=438
 
-fs.inotify.max_user_watches=524288

Via Apt

# apt-get install geany* git tig meld \
    python3-dev \
    python3-pip \
    ruby-full
 
Paquets suggérés :
  git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn
  ed diffutils-doc

Via Ruby & Nodejs

«LA PROCÉDURE CHANGE»
Ce chapitre est obsolète, il est concervé pour la procédure historique d'installation de SASS via Ruby.
  • Pour node.js: Suivre la préconisation node source:

github.com/.../README.md#installation-instructions

  • Pour npm: Utiliser plutôt le gestionnaire Yarnpkg Yarn
  • Pour SASS: voir Webpack:

Installation de Webpack avec yarn from scratch

—————————————————————————————————–

  • Installation de Sass :
# gem update --system
# <del>gem install sass</del>
# <del>gem install compass</del>
Sass n'est plus supporté par ruby mais par nodejs depuis mars 2019

https://github.com/nodesource/distributions/blob/master/README.md#deb
https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions

Debian 10.0 Testing code name bullseye n'est pas supporté par nodesource donc installation normale via apt et le dépot nodejs/testing 10.15.2~dfsg-2 amd64
;Using Debian, as root  <===== NE FONCTIONNE PAS ENCORE EN TESTING bullseye 
# curl -sL https://deb.nodesource.com/setup_12.x | bash -
# apt install nodejs
Installation de npm qui installera nodejs depuis le dépot testing
# apt install npm
# npm install -g sass
$ sass --version
1.22.10 compiled with dart2js 2.4.1
  • Installation de Compass
# gem update --system
# gem install compass
[...]
sass's executable "sass" conflicts with /usr/local/bin/sass
Overwrite the executable? [yN]  y
[...]
# compass version
Compass 1.0.3 (Polaris)
En résumé, il semble que l'installation de Compass écrase le Sass 1.22.10 de nodejs en installant sass-3.4.25 via Ruby
# sass --version
Sass 3.4.25 (Selective Steve)

software

# apt install firefox-esr firefox-esr-l10n-fr \
    libreoffice libreoffice-help-fr \
 

Vidéo

# apt install vlc smplayer libavcodec-extra \\
    kdenlive
Paquets suggérés :
  ffmpeg-doc qt5-qmltooling-plugins python3-pyxattr-dbg python-pyxattr-doc comgt wvdial

Graphisme

# apt install gimp  gimp-data-extras \
    inkscape inkscape-tutorials \
    dia
 
Paquets suggérés :
  xfig gawk-doc imagemagick-doc autotrace cups-bsd | lpr | lprng curl enscript gnuplot grads
  graphviz hp2xx html2ps mplayer povray radiance sane-utils texlive-base-bin ufraw-batch dia
  libsvg-perl libxml-xql-perl pstoedit python-uniconvertor ruby gsl-ref-psdoc | gsl-doc-pdf
  | gsl-doc-info | gsl-ref-html python-genshi python-lxml-dbg python-lxml-doc gcc gfortran
  python-dev python-pytest python-numpy-dbg python-numpy-doc python-setuptools
  gir1.2-rsvg-2.0
Paquets suggérés :
  python-gobject-2-dbg python-gtk2-doc sgml-base-doc debhelper

Média

Spotify

Installation

# curl -sS https://download.spotify.com/debian/pubkey.gpg | apt-key add -
# echo "deb http://repository.spotify.com stable non-free" | tee /etc/apt/sources.list.d/spotify.list
# apt-get update && sudo apt-get install spotify-client

Raccourcis clavier

# xbindkeys --defaults > /home/jc/.xbindkeysrc
# cat /home/jc/Documents/system/scripts/corsair-key-spotify.txt >> /home/jc/.xbindkeysrc
# chown jc:jc /home/jc/.xbindkeysrc
 
/!\ user jc
$ xbindkeys

Contenu du fichier corsair-key-spotify.txt:

"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause"
XF86AudioPlay
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop"
XF86AudioStop
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next"
XF86AudioNext
"dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous"
XF86AudioPrev