29 KiB
Archlinux Vaio
Documentation personnelle sur l'installation de Archlinux sur mon laptop Vaio, basée sur le tuto de Frederic Bezies, que je remercie au passage
Etape 1 - CD/Clé d'install
Cette étape s'effectue depuis le shell de la clé USB d'installation
Clavier
Configurer le clavier en Azerty BE
loadkeys be-latin1
Partitions / systèmes de fichier
Partionner le disque, avec un /boot séparé. A adapter selon vos besoins ;)
cfdisk /dev/sda
Schéma de partition
part | size | mountpoint | filesys | boot flag |
---|---|---|---|---|
/dev/sda1 | 521M | /boot | ext4 | oui |
/dev/sda2 | 1G | swap | non | |
/dev/sda3 | reste | / | ext4 | non |
Créer les systèmes de fichier
mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda3
Et le swap
mkswap /dev/sda2
swapon /dev/sda2
On monte le tout
mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
Configuration de base de Pacman
On configure le gestionnaire de paquet pacman pour utiliser un mirroir belge pour les dépots
nano /etc/pacman.d/mirrorlist
Et on garde
Server = http://archlinux.cu.be/$repo/os/$arch
Installation des paquets de base
pacstrap /mnt base base-devel pacman-contrib zip unzip p7zip vim mc alsa-utils syslog-ng mtools dosfstools lsb-release ntfs-3g exfat-utils
Création du fichier /etc/fstab
genfstab -U -p /mnt >> /mnt/etc/fstab
Installer Grub + OS prober
pacstrap /mnt grub os-prober
chroot dans son nouvel OS
arch-chroot /mnt
Config clavier et langues
Dans /etc/vconsole.conf
, on ajoute :
KEYMAP=be-latin1
FONT=lat9w-16
Dans /etc/locale.conf
, on ajoute :
LANG=fr_BE.UTF-8
Dans /etc/locale.gen
, on décommente
en_US.UTF-8 UTF-8
fr_BE.UTF-8 UTF-8
On génère le tout
locale-gen
Et on exporte le tout pour la session courante
export LANG=fr_BE.UTF-8
Config date, heure, fuseau horaire
On configure le fuseau horaire pour Bruxelles
ln -sf /usr/share/zoneinfo/Europe/Brussels /etc/localtime
Configurer grub
On génère la config de grub et on l'install
mkinitcpio -p linux
grub-install --no-floppy --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
Password root
On modifie le mot de passe root
passwd
Réseau
On install networkmanager
pacman -Syy networkmanager gnome-keyring
systemctl enable NetworkManager
Ajout de dépôts additionnels dans Pacman
Remarque : c'est le même principe que pour n'importe quel dépot de n'importe quelle distro, il faut impérativement n'ajouter que des dépots dans lesquels on a confiance. Et c'est idem pour les paquets AUR.
Dans /etc/pacman.conf
On ajoute le support du 32bits en décommentant :
[multilib]
Include = /etc/pacman.d/mirrorlist
Et on ajoute les dépôts suivants :
[arcanisrepo]
Server = https://repo.arcanis.me/repo/$arch
[archstrike]
Server = https://mirror.archstrike.org/$arch/$repo
[herecura]
Server = https://repo.herecura.be/$repo/$arch
[sergej-repo]
Server = http://repo.p5n.pp.ru/$repo/os/$arch
[sublime-text]
Server = https://download.sublimetext.com/arch/stable/x86_64
[archlinuxfr]
SigLevel = Never
Server = https://repo.archlinux.fr/$arch
On met les DBs des paquets à jour
pacman -Syy
On importe la clé de Archstrike
pacman-key --init
dirmngr < /dev/null
wget https://archstrike.org/keyfile.asc
pacman-key --add keyfile.asc
pacman-key --lsign-key 9D5F1C051D146843CDA4858BDE64825E7CBC0D51
On install les paquets suivants (procédure spcifique à Archstrike)
pacman -S archstrike-keyring
pacman -S archstrike-mirrorlist
Et toujours dans /etc/pacman.conf
, on remplace :
[archstrike]
Server = https://mirror.archstrike.org/$arch/$repo
Par :
[archstrike]
Include = /etc/pacman.d/archstrike-mirrorlist
Et on met les DBs des paquets à jours à nouveau
pacman -Syy
Redémarrer
La première étape est terminée, on quite le chroot, on démonte les partitions et on reboot
exit
umount -R /mnt
reboot
Etape 2 - Suite installation de base
Après redémarrage, nous voilà sur notre 1ère ébauche d'OS fraichement installé
Réseau - suite
Si le réseau n'est pas up (ethernet ici dans mon cas)
systemctl start NetworkManager.service
Et si tout est ok
systemctl enable NetworkManager.service
Ajout d'un utilisateur
On ajoute un compte utilisateur + mot de passe
useradd -m -g wheel -c 'Francois B (Makoto)' -s /bin/bash shakasan
passwd shakasan
Configurer sudo
Pour pouvoir exécuter des commandes avec les droits admin depuis son user fraichement créé, on doit configurer sudo pour qu'il accepte les membres du groupe wheel
.
Dans /etc/sudoers
, on décommente cette ligne
%wheel ALL=(ALL) ALL
On se logue avec le nouvel utilisateur
On quite le user actuelle
exit
Et on se logue avec le nouveau.
A partir de maintenant, on utilisera sudo à la place du compte root (prenons les bonnes habitudes)
Yaourt ou Trizen
On install yaourt ou trizen pour épauler pacman avec les 'paquets' AUR.
Ce sont en fait des wrapper pour pacman qui ajoutent des fonctions en plus, comme la possibilité d'installer des 'paquets' depuis AUR.
Remarque 1 : utilisez de préférence trizen qui est plus sécurisé Remarque 2 : et n'oubliez pas de lire les scripts d'installation à chaque fois, même lors de mises à jours !
Pour yaourt
sudo pacman -S yaourt
Pour trizen
sudo pacman -S git
git clone https://aur.archlinux.org/trizen.git
cd trizen
makepkg -si
A partir de maintenant, je vais utiliser trizen pour tout (wrapper pacman)
Sources du Kernel
On install le package contenant les sources du kernel indispensable pour pouvoir compiler des modules addtionnels avec DKMS (Virtualbox, ....)
trizen -S linux-headers
NTP, cron, syslog
On install
trizen -S ntp cronie
Et dans /etc/systemd/journald.conf
, on remplace :
#ForwardToSyslog=no
Par :
ForwardToSyslog=yes
Son avec ALSA
Configurer les entrées/sorties, volumes, ...
alsamixer
On quite quand c'est ok, et on sauvegarde la config
sudo alsactl store
Gstreamer
On install gstreamer + plugins
trizen -S gst-plugins-{base,good,bad,ugly} gst-libav
Xorg
On install le serveur graphique
trizen -S xorg-{server,xinit,apps} xf86-input-{mouse,keyboard,libinput} xdg-user-dirs
Et les pilotes graphiques (intel dans mon cas)
trizen -S xf86-video-intel
Polices de caractères
trizen -S ttf-{bitstream-vera,liberation,dejavu} freetype2 ttf-ms-fonts gnu-free-fonts
Et pour le japonais ;)
trizen -S noto-fonts-cjk noto-fonts-emoji noto-fonts
Impression
trizen -S cups hplip python-pyqt5 foomatic-{db,db-ppds,db-gutenprint-ppds,db-nonfree,db-nonfree-ppds} gutenprint
Configurer le clavier
On configure le clavier pour Xorg
sudo localectl set-x11-keymap be
Bluetooth
On ajoute le support du bluetooth
trizen -S bluez bluez-tools bluez-plugins bluez-utils blueman
SSD
On va activer le TRIM pour les disques SSD
sudo systemctl enable fstrim.timer
Swappiness
Si l'on dispose de suffisament de RAM, on peut limiter l'usage du swap et donc ménager un peu le SSD
Dans /etc/sysctl.d/99-sysctl.conf
, on ajoute :
vm.swappiness=10
Services à démarrer au boot
On active dans systemd les services suivants pour qu'ils démarrent automatiquement au boot
sudo systemctl enable syslog-ng@default
sudo systemctl enable cronie
sudo systemctl enable avahi-daemon
sudo systemctl enable avahi-dnsconfd
sudo systemctl enable org.cups.cupsd
sudo systemctl enable bluetooth
sudo systemctl enable ntpd
Gestionnaire de connexion lightdm
On install le gestionnaire de connexion
trizen -S lightdm lightdm-{gtk-greeter,gtk-greeter-settings} accountsservice
MATE
On install l'envirronement de bureau MATE
trizen -S gvfs-{afc,goa,google,gphoto2,mtp,nfs,smb} mtpfs
Puis
trizen -S mate mate-{extra,applet-dock,applet-streamer,applets,backgrounds,calc,common,control-center,desktop,icon-theme,icon-theme-faenza,media,menu,menus,netbook,notification-daemon,panel,polkit,power-manager,screensaver,sensors-applet,session-manager,settings-daemon,system-monitor,terminal,themes,user-guide,user-share,utils} mozo pluma engrampa atril gnome-icon-theme python2-pyinotify ffmpegthumbnailer pulseaudio pulseaudio-{alsa,bluetooth} libcanberra-{pulse,gstreamer} system-config-printer
MATE Tweak, pour avoir accès à certains réglages depuis le Panneau de configuration
trizen -S mate-tweak
Et un petit hack pour avoir accès aux screensavers de gnome sous MATE (glmatrix par exemple)
trizen -S mate-screensaver-hacks
Gestionnaire de connexion
On lance le gestionnaire de connexion lightdm
sudo systemctl start accounts-daemon
sudo systemctl start lightdm
Et si tout va bien, une fois dans l'environnement de bureau MATE, on l'active via le Terminal MATE
sudo systemctl enable accounts-daemon
sudo systemctl enable lightdm
Etape 3 - Répertoire home chiffré
Cette étape est optionnelle mais fortement recommandée, surtout sur un laptop.
Cela permet de chiffrer votre répertoire home
et donc de rendre vos données inaccessibles en cas de vol ou de perte.
Ce répertoire contient vos données, mais également des mots de passes, des clés ssh, gpg, ... etc etc
Bref, fortement conseillé ^^
Remarque : ne PAS re-démarrer avant la fin de la procédure !!
Astuce : vous pouvez alterner entre des consoles différentes via CTRL+ALT+(F2-F6)
et revenir à la partie graphique via CTRL+ALT+F7
La procédure
On va redémarrer l'ordi et ne surtout PAS se logguer avec le user
dont on va chiffrer le home
.
Donc à l'écran de connexion, faite un CTRL+ALT+F2
et logguez-vous en root
.
On install le paquet nécessaire pour migrer le répertoire home
trizen -S ecryptfs-utils
On charge le module noyau nécessaire
modprobe ecryptfs
On lance le script de migration (ça peut prendre beaucoup de temps en fonction du contenu présent dans home
)
ecryptfs-migrate-home -u shakasan
Si tout s'est bien déroulé, on monte puis démonte son home chiffrée pour vérifier que tout est ok.
ecryptfs-mount-private
ecryptfs-umount-private
On va maintenant demander à PAM de monter le répertoire home
chiffré lors du login
Pour cela, on va éditer le fichier /etc/pam.d/system-auth
Et rajouter ces 3 lignes (attention, l'ordre à de l'importance):
auth required pam_ecryptfs.so unwrap
password optional pam_ecryptfs.so
session optional pam_ecryptfs.so unwrap
Ce qui devrais donner quelquechose comme ceci :
#%PAM-1.0
auth required pam_unix.so try_first_pass nullok
auth required pam_ecryptfs.so unwrap
auth optional pam_permit.so
auth required pam_env.so
account required pam_unix.so
account optional pam_permit.so
account required pam_time.so
password optional pam_ecryptfs.so
password required pam_unix.so try_first_pass nullok sha512 shadow
password optional pam_permit.so
session required pam_limits.so
session required pam_unix.so
session optional pam_ecryptfs.so unwrap
session optional pam_permit.so
Vous vous loguez avec le user
au home
fraichement chiffré avec un CTRL+ALT+F7
puis via l'écran de connexion.
Une fois loggué et sur le bureau, ouvrez un terminal et paramétrez la passphrase
ecryptfs-unwrap-passphrase
ecryptfs-add-passphrase
ecryptfs-rewrap-passphrase /home/shakasan/.ecryptfs/wrapped-passphrase
Tout devrait fonctionner maintenant, vous pouvez re-démarrer ^^
Mais en cas de problème : votre ancien home
est toujours présent.
Comme ceci :
# nouveau home chiffré
/home/shakasan
# ancien home
/home/shakasan.e8Sc2LAe
Si vous voulez rétablir la situation intiale sans chiffrage, vous devez simplement vous logguez en root
via CTRL+ALT+F2
, puis remplacer les répertoires :
cd /home
rm -rf shakasan
mv shakasan.e8Sc2LAe shakasan
reboot
Etape 4 - Installation des Apps
L'installation de base étant terminée, passons à l'ajout des applications.
Pour les package managers pip3, npm, gem, veuillez vous référer à la partie sur les outils de développement pour leur éventuelle installation.
Astuce : si vous voulez des infos sur un paquet en particulier, en résumé trizen -Ss <nom_du_paquet>
et en détaillé trizen -Si <nom_du_paquet>
.
Utilitaires
Depuis les dépôts
trizen -S detox network-manager-applet qt5ct qt5-styleplugins clamav clamtk grub-customizer deja-dup acetoneiso2 alltray wget curl aria2 htop bmon mc screen bleachbit bash-completion copyq etcher dialog dosbox fcrackzip fdupes figlet flatpak gawk gnome-disk-utility gnome-font-viewer gparted gsmartcontrol gtk-engine-murrine guake idle3-tools less lsb-release mupdf mupdf-tools numlockx pdfcrack pdfgrep procps-ng psensor pv rarcrack screenfetch synapse terminator tilda unrar zip pandoc stress mesa-demos odt2txt
Depuis AUR
trizen -S tmsu xcalib qtqr woeusb libgksu gksu multibootusb-git spectre-meltdown-checker inxi snapd princexml cryptkeeper s-tui linpack nano-syntax-highlighting-git kdocker
Depuis NPM
sudo npm i -g coinmon
Depuis PIP
sudo -H pip3 install tldr cheat md2pdf
Multimédia
trizen -S quodlibet vlc mpv xsane shotwell simplescreenrecorder asunder audacious audacious-plugins audacity avidemux-cli avidemux-qt blender cheese cuetools darktable banshee-git gmusicbrowser radiotray-ng sayonara-player-git vidcutter entangle peek indicator-sound-switcher gyazo shotcut flacon gpick gpicview-gtk3 python2-pydbus-git green-recorder guvcview handbrake handbrake-cli hugin inkscape kodi krita krita-plugin-gmic milkytracker mkvtoolnix-cli mkvtoolnix-gui moc openshot picard pitivi rawtherapee sayonara-player-git screenkey shntool smplayer smplayer-{skins,themes} soundconverter spotify xnviewmp
Rhythmbox + plugins
trizen -S rhythmbox rhythmbox-{llyrics,plugin-alternative-toolbar-git,plugin-hide-git,plugin-radio-browser-git,plugin-tray-icon-git}
Gimp + plugins
trizen -S gimp gimp-{help-fr,refocus,nufraw,plugin-fblur,plugin-gmic,plugin-lqr,plugin-wavelet-denoise,plugin-resynthesizer,plugin-refocusit,plugin-pandora,plugin-layers-to-divs,plugin-export-layers,lensfun,brushbox}
eBook
trizen -S calibre sigil fbreader
Graveur CD/DVD/BR
trizen -S brasero k3b xfburn
Breautique
trizen -S libreoffice-still libreoffice-still-fr dia scribus marp
Web, internet
trizen -S firefox firefox-i18n-fr chromium franz-bin slack-desktop thunderbird thunderbird-i18n-fr nextcloud-client insync corebird delux digikam discord-canary filezilla geary google-chrome
hexchat icedtea-web links mumble teamspeak3 mypaint opera opera-ffmpeg-codecs pidgin pidgin-{libnotify,otr} purple-{facebook,plugin-pack,skypeweb} quiterss skypeforlinux-bin syncthing
syncthing-gtk telegram-{desktop,qt,purple} transmission-gtk vivaldi vivaldi-ffmpeg-codecs whalebird-bin tootle birdtray megasync
Réseau
trizen -S aircrack-ng ngrep networkmanager-openvpn dsniff wireshark-gtk wireshark-cli iftop iptraf-ng nethogs whois keychain x11-ssh-askpass nmap bind-tools bluez create_ap
#TODO : whatismyip ?
sudo -H pip3 install speedtest-cli
Plugins Caja
trizen -S caja-{open-terminal,image-converter,sendto,share,wallpaper,xattr-tags,extensions-common}
Nautilus + plugins
trizen -S nautilus nautilus-{image-converter,sendto,share}
Thunar + plugins
trizen -S thunar thunar-{archive-plugin,media-tags-plugin,volman}
#TODO: fix
Wine
trizen -S wine winetricks playonlinux
CAD
trizen -S kicad kicad-library kicad-library-3d librecad
jeux
trizen -S joyutils
Unbound (cache DNS)
On install
trizen -S unbound
Et on active le service au boot
sudo systemctl start unbound.service
sudo systemctl enable unbound.service
Gadgets
trizen -S no-more-secrets-git
Perso
trizen -S wpfind
Apps lié au matos
Logitech Unifying
Solaar permet de configurer les périphériques Logitech compatible Unifying.
trizen -S solaar
Lecteur de carte
Le nécessaire pour utiliser les cartes à puces (carde d'identité, ...)
trizen -S pcsc-tools
Ledger Nano S
On install la nouvelle application de gestion/config du wallet hardware Ledger Nano S.
trizen -S ledger-live-bin
Etape 5 - Configuration
Mise à jours du Microcode du CPU
Cette étape est optionnelle, mais fortement recommandée (failles spectre, meltdown, ...)
On install le nécessaire (CPU Intel)
trizen -S iucode-tool intel-ucode
Et on met à jour la configuration de Grub pour qu'il en tienne compte
grub-mkconfig -o /boot/grub/grub.cfg
Firewall
On install les outis graphique/cli
trizen -S ufw gufw
Et on active le firewall au boot
sudo ufw enable
Et si vous utilisez syncthing, on ouvre les ports pour celui-ci
sudo ufw allow syncthing
.bashrc
Dans ~/.bashrc
, on ajoute :
Un theme plus sympa pour mocp
alias mocp='mocp -T "darkdot_theme"'
Des couleurs et un affichage plus complet de la commande ll
alias ll='ls -lah --color'
On affiche screenfetch
à l'ouverture d'un terminal
screenfetch -t
On configure nano
comme éditeur cli par défaut
export EDITOR=nano
Terminal par défaut
Nécessaire pour certaines applications comme rclonebrowser par exemple
Dans /etc/environment
, on ajoute
TERMINAL=/usr/bin/mate-terminal
Numlock ON avec lightdm au boot
Rien de plus agaçant que de ne pas avoir la touche numlock activée lorsqu'on arrive sur l'écran de connexion.
Dans /etc/lightdm/lightdm.conf
, on ajoute la ligne suivante
[Seat:*]
greeter-setup-script=/usr/bin/numlockx on
Partages SMB/CIFS dans /etc/fstab
Exemple de configuration dans fstab pour monter automatique au boot un dossier partagé sur son NAS avec smb/cifs
//<VOTRE_ADRESSE_IP>/<NOM_DU_DOSSIER_PARTAGE> /mnt/<NOM_DU_POINT_DE_MONTAGE_LOCAL> cifs vers=3.0,x-systemd.automount,x-systemd.idle-timeout=1min,_netdev,credentials=/etc/smbcreds,rw,iocharset=utf8,uid=1000,gid=1000 0 0
Remarque : le uid et le gid sont a adapter si besoin à ceux de votre utilisateur
Et on regénère les règles systemd pour le nouveau point de montage smb/cifs
sudo systemctl daemon-reload
sudo systemctl restart remote-fs.target
sudo systemctl restart local-fs.target
Environnement QT5
Pour donner la même apparences aux applications écrites avec QT5 et GTK, on va utiliser qt5ct comme intermédiaire. Celui-ci s'ajoute dans le Panneau de configuration
Dans /etc/environment
, on ajoute
QT_QPA_PLATFORMTHEME=qt5ct
Udev
Périphs Android
Afin de pouvoir utiliser les outils du SDK Android, comme adb
ou fastboot
, on doit donner un accès au smartphone via USB.
Manuellement, on créer le fichier /etc/udev/rules.d/99-android.rules
et on ajoute
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", OWNER="shakasan" # Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", OWNER="shakasan" # Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", OWNER="shakasan" # Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", OWNER="shakasan" # Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", OWNER="shakasan" # Fujitsu
SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", OWNER="shakasan" # Fujitsu-Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", OWNER="shakasan" # Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", OWNER="shakasan" # Google-Nexus
SUBSYSTEM=="usb", ATTR{idVendor}=="201E", MODE="0666", OWNER="shakasan" # Haier
SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666", OWNER="shakasan" # Hisense
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", OWNER="shakasan" # HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", OWNER="shakasan" # Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="8087", MODE="0666", OWNER="shakasan" # Intel
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", OWNER="shakasan" # K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", OWNER="shakasan" # KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", OWNER="shakasan" # Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", OWNER="shakasan" # Lenovo
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", OWNER="shakasan" # LG
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", OWNER="shakasan" # Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666", OWNER="shakasan" # MTK
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", OWNER="shakasan" # NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", OWNER="shakasan" # Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", OWNER="shakasan" # Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", OWNER="shakasan" # OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", OWNER="shakasan" # Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", OWNER="shakasan" # Pegatron
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", OWNER="shakasan" # Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", OWNER="shakasan" # PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", OWNER="shakasan" # Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", OWNER="shakasan" # SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", OWNER="shakasan" # Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", OWNER="shakasan" # Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", OWNER="shakasan" # Sony
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="shakasan" # Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="shakasan" # Sony Mobile Communications
SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", OWNER="shakasan" # Teleepoch
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", OWNER="shakasan" # Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", OWNER="shakasan" # ZTE
Ou de manière automatique, via un paquet sur AUR :
trizen -S android-udev
Clé FIDO-U2F Key-ID
Idem, pour avec accès à la clé FIDO U2F via USB.
On créer le fichier /etc/udev/rules.d/70-u2f.rules
et on ajoute
# this udev file should be used with udev 188 and newer\nACTION!="add|change", GOTO="u2f_end"
# Key-ID FIDO U2F
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="096e", ATTRS{idProduct}=="0850|0880", TAG+="uaccess"
LABEL="u2f_end"
Ledger Nano S
Et toujours idem... ^^
On créer le fichier /etc/udev/rules.d/20-hw1.rules
et on ajoute
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="2b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="3b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="4b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1807", MODE="0660", TAG+="uaccess", TAG+="udev-acl"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1808", MODE="0660", TAG+="uaccess", TAG+="udev-acl"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0000", MODE="0660", TAG+="uaccess", TAG+="udev-acl"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001", MODE="0660", TAG+="uaccess", TAG+="udev-acl”
#KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="plugdev", ATTRS{idVendor}=="2c97"
#KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="plugdev", ATTRS{idVendor}=="2581"
Recharger les règles udev
Afin que ces règles udev soit prises en compte directement :
sudo udevadm control --reload
Etape 6 - Customization
Grub (thèmes)
Pour donner un loog un peu plus sympa à grub, on install le thème
trizen -S grub-themes-vimix
Et on le configure via l'application grub-customizer
Thèmes et icones
On ajoute quelques thèmes GTK et icones
trizen -S numix-gtk-theme arc-{gtk-theme,icon-theme,solid-gtk-theme}
Widgets
Pour ceux qui aiment les beaux widgets sur leur bureau
trizen -S conky-manager conky
Wallpapers
Nitrogen
Ce utilitaire permet de configurer des wallpapers différents en configuration multi-écran OU de configurer un wallpaper couvrant l'ensemble de ceux-ci.
Malheureusement, le prix à payer est la désactivation des icones sur le bureau.
On install nitrogen
trizen -S nitrogen
On l'ajoute dans les applications à démarrer lors de la session (Panneau de configuration), avec cette commande :
sh -c "sleep 5; nitrogen --restore"
Et on désactive la gestion des icones du bureau par Caja (MATE)
gsettings set org.mate.background draw-background false
gsettings set org.mate.background show-desktop-icons false
Docks
Plank
Dock léger et bien fini en provenance de ElementaryOS.
trizen -S plank
Docky
Autre Dock léger et bien fini.
trizen -S docky
Etape 7 - Outils de Dev
Pour cette partie, je passe certaines explications étant donné le publique cible ^^
Outis de base
trizen -S gdb ghex jq meld
Langages
Javascript
NodeJS et NPM
trizen -S nodejs npm
NVM
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
Yarn
sudo npm i -g yarn
Gulp
trizen -S gulp
Angular CLI
sudo npm i -g @angular/cli
Et utiliser yarn à la place de npm (AngularCLI >= 6)
ng config -g cli.packageManager yarn
GO
trizen -S go
Ionic
sudo npm i -g ionic cordova
Lua
trizen -S lua luajit
PHP
trizen -S composer php
Python
trizen -S python-{pip,pyqt5,pipenv} tk
sudo -H pip3 install pylint autopep8
QT5
trizen -S qtcreator qt5-tools
Ruby
trizen -S ruby
Dans ~/.bashrc
, ajouter
PATH=$PATH:~/.gem/ruby/2.5.0/bin
Base de données
MongoDB + Compass
trizen -S mongodb mongodb-compass
Pour démarrer le serveur
sudo systemctl start mongodb.service
Et si besoin, le démarrer au boot
sudo systemctl enable mongodb.service
MySQL
trizen -S mysql-workbench
SQLite + SQLiteBrower
trizen -S sqlite sqlitebrowser
IDE
Android Studio
trizen -S android-tools android-studio
Anjuta
trizen -S anjuta anjuta-extras
Arduino IDE
trizen -S arduino arduino-docs
sudo usermod -a -G uucp shakasan
sudo usermod -a -G lock shakasan
Atom
trizen -S atom apm
Brackets
trizen -S brackets-bin
Bluefish
trizen -S bluefish
Codeblocks
trizen -S codeblocks
Eclipse (JAVA)
trizen -S eclipse-java
Eric
trizen -S eric
Geany
trizen -S geany geany-plugins
Glade
trizen -S glade
Intellij-idea (CE)
trizen -S intellij-idea-community-edition
Lazarus
trizen -S lazarus-qt5 gdb
Notepadqq
trizen -S notepadqq
PyCharm (CE)
trizen -S pycharm-community-edition
Sublime-text
trizen -S subline-text
Visual Studio Code
trizen -S visual-studio-code-bin
BlueJ
trizen -S bluej
Outils
Ansible
trizen -S ansible ansible-lint
Si vous avez une erreur concernat un module python déjà présent, désinstallez-le via pip3
Dans mon cas, j'ai eu du faire
sudo -H pip3 uninstall cffi pycparser
Boostnote
trizen -S boostnote
Docker
trizen -S docker docker-compose
Si vous avez une erreur concernat un module python déjà présent, désinstallez-le via pip3
Dans mon cas, j'ai eu du faire
sudo -H pip3 uninstall docopt
git
trizen -S git
packagecloud cli tool
gem install package_cloud
Postman
trizen -S postman-bin
Umbrello
trizen -S umbrello
Vagrant
trizen -S vagrant
VirtualBox
trizen -S virtualbox
Wordpress
trizen -S wp-cli wpscan
Zeal
trizen -S zeal
Credits & Licence
Doc réalisée par Francois B (Makoto), basée sur le tuto de Frederic Bezies.