[Install Kde Neon Chiffrage Total] & Astuces

j’ai installe kde neon sur cet ordinateur :

Portable Dell avec i7 4 coeurs (8 threads) carte graphique amd integre 4 go, ssd de 256 go, disque dur 2to, 32 go de memoire…

j’en ai profite pour appliquer le chiffrage total du systeme SSD et disque dur, meme le /boot est chiffre, une vrai boite noir, impossible d’y acceder sans le mot de passe… c’est totallement securise et etonnamment rapide et reactif malgre le chiffrage…

Note : Le portable utilise est recent et truffe de fonctions de securite avec possibilite de passwords, secure boot et UEFI. pour eviter les problemes, j’ai pratiquement desactive dans le BIOS toutes ces securites. si vous ne le faites pas, il est probable que l’installation echouera. de toute facon, le chiffrage global protegera mieux vos donnees que toutes ces fonctions reunis…

Informations : Creation d’un conteneur chiffre LUKS… Utilisation de LVM pour joindre l’ensemble dans un seul volume global. le SSD a ete dedie a ROOT (systeme, boot et swap…), le disque dur a HOME… seul inconvenient a LVM, si un disque est HS, toutes les donnees seront perdues d’ou l’importance des BACKUPS… Pour eviter de taper deux fois le mot de passe, la creation d’un fichier cle permet a GRUB de l’utiliser automatiquement pour le dechiffrage (affichage du message suivant lors du lancement d’ubuntu : cryptsetup: xxxx-crypt set up successufully. si vous tombez sur initramfs, c’est que ca a foire a ce niveau)…

Le tuto ci-dessous est uniquement adapte a un ordinateur vierge de tous systemes d’exploitations avec deux disques durs, vous ne devez en aucun cas essayer de l’appliquer sur un autre systeme avec windows ou linux sous peine de perdre toutes vos donnees, certaines commandes utilisees sont extremement dangereuses comme parted par exemple… vous voila prevenu

Honnetement, j’ai cree ce tuto pour mon usage personnel comme aide memoire au cas ou j’aurais a reinstaller linux… la disponibilitee dans un forum est un plus (ca m’a ete utile puisque pour ma nouvelle installation je me suis base sur mon ancien tuto. par copier coller ca ete tres rapide). si ca peut etre utile a d’autres, c’est tres bien… les utilisateurs avances pourront surement l’adapter a leurs besoins…

Note : je me suis refere a de nombreux tutos sur le net pour rediger ce tuto…

Conseil : S’exercer sur une vm avec vmplayer ou virtualbox…

Important : des tutos existent sur le net pour craquer les conteneurs LUKS par bruteforce, autrement dit en utilisant des dictionnaires de mots et differentes combinaisons… pour compliquer la tache de ces outils et la rendre non rentable (niveau temps) il est conseille d’utiliser un mot de passe long (min 30 caracteres sinon plus) avec lettres et chiffres.

Recommandation : j’utilise les ordinateurs portables en mode fixe derriere un ecran parce que leurs consomations de courant est faible… dans le cas ou l’ordinateur est utilise en mode nomade, il est recommande d’ajouter une protection dans le bios en activant une demande de mot de passe suplementaire au demarrage pour eviter qu’une personne mal intentionne ne demarre sur un live cd et ne fasse une copie des disques durs (possible meme chiffre), ce qui lui donnera tous le temps necessaire pour essayer de cracker le conteneur LUKS. cela suppose cependant que l’ordinateur est laisse sans surveillance pendant tres longtemps…

Voici le tuto :

— DEBUT —

Tout d’abord, lancer le live kde neon :

Lancez le Terminal…

Initialisation Disque sdb (SSD de 256 go) :
sudo parted -s /dev/sdb mklabel msdos
sudo parted -s /dev/sdb mkpart primary 2048s 100%
Initialisation Disque sda (disque dur de 2 to) :
sudo parted -s /dev/sda mklabel msdos
sudo parted -s /dev/sda mkpart primary 2048s 100%

Chiffrement :
sudo cryptsetup -c aes-xts-plain64 -y --hash sha512 --use-random luksFormat /dev/sdb1
Confirmer par YES (majuscule). avant de tapez le mot de passe, je conseille de basculer le clavier en mode Qwerty (en cliquant sur l’icone langue dans la barre de tache) sinon votre mot de passe ne sera pas reconnu au reboot, c’est ce que j’ai fait systematiquement… cela dit, cryptsetup peut accepter plusieurs mot de passe en utilisant la commande cryptsetup luksAddKey (exemple : sudo cryptsetup luksAddKey /dev/sdb1)…

Ouverture du container luks :
sudo cryptsetup luksOpen /dev/sdb1 sdb1-crypt

Creation de deux volumes :

sudo pvcreate /dev/mapper/sdb1-crypt
sudo vgcreate vg /dev/mapper/sdb1-crypt
sudo lvcreate -l +100%FREE vg --name root
sudo mkfs.ext4 /dev/vg/root

Ajout disque dur sda :
sudo pvcreate /dev/sda1
Etendre vg avec sda :
sudo vgextend vg /dev/sda1

Verifier :
sudo vgdisplay /dev/vg

sudo lvcreate -l +100%FREE vg --name home
sudo mkfs.ext4 /dev/vg/home

Facultatif :
sudo resize2fs /dev/vg/home

On lance l’installateur de kde neon, on selectionne l’option ‘manuel’, on definit vg-root et vg-home avec les point de montage qu’il faut (/ et /home)… creer un utilisateur avec un autre mot de passe pour la gestion du systeme (attention, doit etre different de celui qui est definit pour le chiffrage), on termine et a la fin il y’aura un message d’erreur en rapport avec grub avec arret… ne pas s’en preoccuper. surtout, ne pas redemarrer. Reactiver le Terminal…

Montage des partitions et CHROOT :

sudo mount /dev/mapper/vg-root /mnt
sudo mount --bind /dev /mnt/dev
sudo mount -t proc /proc /mnt/proc
sudo mount --bind /run /mnt/run
sudo mount -t sysfs /sys /mnt/sys

sudo chroot /mnt /bin/bash

facultatif :
sudo apt update
sudo apt install grub2

Il faut normallement taper le mot de passe de dechiffrement deux fois, avec grub et une fois le systeme lance… on peut eviter cela en creant un fichier cle…

Creation du fichier cle :
dd bs=512 count=4 if=/dev/urandom of=/crypto_keyfile.bin

Ajout du fichier cle a cryptsetup (basculer en Qwerty pour le mot de passe) :
cryptsetup luksAddKey /dev/sdb1 /crypto_keyfile.bin

On securise la cle :
chmod 000 /crypto_keyfile.bin
On securise /boot :
chmod -R g-rwx,o-rwx /boot

On modifie :
nano /etc/initramfs-tools/hooks/crypto_keyfile
Ajouter la ligne :
cp /crypto_keyfile.bin "${DESTDIR}"
enregistrer et fermer.

On securise :
chmod +x /etc/initramfs-tools/hooks/crypto_keyfile

Determiner l’identifiant (UUID) de la partition sur laquelle est installe Ubuntu :
blkid

On fait un copier de ce qu’il y’a entre /dev/sdb1 et TYPE="crypto_LUKS"
Exemple UUID=“xxx-xxx-xxx-xxx”

On lance :
nano /etc/crypttab

taper sdb1-crypt
coller L’UUID sans les guillemets (par exemple UUID=xxx-xxx-xxx-xxx)
ensuite taper /crypto_keyfile.bin luks,keyscript=/bin/cat

cela devrait donner :
sdb1-crypt UUID=xxx-xxx-xxx-xxx /crypto_keyfile.bin luks,keyscript=/bin/cat
enregistrer et fermer.

Lancer :
update-initramfs -u

Modifier GRUB :
nano /etc/default/grub

Par defaut :
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash"
GRUB_CMDLINE_LINUX=”"

Commenter la ligne GRUB_HIDDEN_TIMEOUT=0 (mettre un # en tête de ligne)
Ajouter la commande : GRUB_ENABLE_CRYPTODISK=y
Ajouter la commande : GRUB_CMDLINE_LINUX=“cryptdevice=/dev/sdb1:sdb1-crypt”

Modifie :
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_ENABLE_CRYPTODISK=y
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash”
GRUB_CMDLINE_LINUX=“cryptdevice=/dev/sdb1:sdb1-crypt”

enregistrer et fermer.

Installer grub :
grub-mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sdb

A ce niveau j’ai eu un message d’erreur :

Installing for x86_64-efi platform
grub-install: error: cannot find EFI directory

Il semblerait que par defaut, grub-install se refere a target x86_64-efi (a noter que ca fonctionnait sur des ordinateurs moins recents…).

en cas d’erreur, il faut plutot taper cette commande :
grub-install --target=i386-pc --recheck /dev/sdb

uniquement valable pour Legacy BIOS. j’ai perso desactive tout ce qui se refere a UEFI dans le bios…

Ensuite :
update-grub

On sort du CHROOT :
exit
Ensuite :
sudo umount -R /mnt

Rebooter le systeme :
sudo reboot

— FIN —

Apres install et reboot, differentes recommandations :

  • Activer le firewall. Tapez sudo ufw enable. pour les details, Tapez sudo ufw status verbose.

  • Configurer swappiness pour eviter l’utilisation a outrance du swap disque (ce qui risquerait de flinguer le ssd a terme). Tapez sudo nano /etc/sysctl.conf et ajoutez la ligne vm.swappiness = 1 (maj : plutot 1 que 5, ca oblige le systeme a ne recourir au swap qu’en dernier…) et redemarrer. Sinon tapez sudo sysctl vm.swappiness=1 pour l’activer immediatement.

  • Accelerer notablement le systeme en utilisant tmpfs. Tapez sudo nano /etc/fstab et ajoutez la ligne tmpfs /tmp tmpfs rw,nosuid,nodev

Ayant 32 go de memoire, je n’ai pas specifie la taille. par defaut la moitie de la memoire sera utilise, soit env 16 go. tout ce qui normallement transite dans tmp sera desormais en memoire (excellent pour augmenter la duree de vie du ssd), ce qui rendra le systeme extremement rapide. en cas de memoire insuffisante, le swap disque sera utilise d’ou son utilite. a noter que ubuntu utilise desormais un swap disque dans un fichier. j’ai augmente sa taille a 8 go sur le ssd. ca devrait etre suffisant.

Pour plus d’infos sur ces ajouts, google est votre ami…

Conclusion : Le systeme est tres rapide, le lancement de libreoffice par exemple est presque instantane. le chiffrage n’impacte pas beaucoup les performances globales. kde plasma est tres agreable a utiliser. configurable a volonte. un petit bemol, le systeme utilise la carte graphique intel et pas la carte amd radeon 530 qui est beaucoup plus rapide. impossible de l’utiliser pour l’instant. pas de driver disponible. je verrais ca plus tard…

J’ajouterais au fur et mesure des astuces pour optimiser le systeme…

2 J'aimes

Installer KVM

Precedement sous windows, j’utilisais vmplayer pour virtualiser windows et y confiner quelques programmes. sous linux, il semblerait que kvm est le choix ideal. integre au noyau de linux (depuis les version 2.6.xx), cet hyperviseur necessite que le processeur supporte les technologies de virtualisation hardware, ce qui est a priori le cas pour les recents i5 et i7 (et peut etre meme i3)…

Pour l’installation :

sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager

Ajouter l’utilisateur au groupe libvirtd :

sudo adduser nom_utilisateur libvirtd

ensuite executez le gestionnaire de machine virtuelle… pour creer une nouvelle machine virtuelle, j’ai directement importe une image vmdk de windows 7 que j’utilisais sous windows avec vmplayer. je m’attendais clairement a un crash parce que je n’ai meme pas pris la peine de desinstaller les drivers de vmware (je l’ai fait apres). j’ai eu la suprise de voir le systeme demarrer sans aucun probleme…

Recommandations :

  • ne pas toucher a la carte reseau. ca a fonctionne du premier coup…
  • installer le paquet spice-vdagent sous linux
  • il est conseille de convertir au prealable le format vmdk vers qcow2 avec le programme qemu-img (permet l’acces aux snapshots…)
  • choisir peripherique graphique QXL
  • dans la vm windows, il faut installer SPICE Guest Tools

a partir de la, vous aurez le copier coller, l’agrandissement a la vole de la fenetre de la vm et d’autres optimisations. kvm etait destine a la base a la virtualisation en mode texte mais avec ces ajouts il est tout a fait envisageable d’utiliser une vm en mode graphique comme sous vmware ou virtualbox…

note : windows 7 s’execute parfaitement sous kvm. c’est rapide et stable. un petit bemol, le partage de dossier entre la vm et le systeme reel est difficile. en cause les informations sur le net qui ne sont pas a jour, la majorite des tutos que j’ai consultes ne fonctionnent plus. il y’a la possibilite d’utiliser samba mais je l’ai ecarte. hors de question d’installer un serveur et alourdir le systeme rien que pour cette fonction. je verrais plus tard…

Installer LXD

LXD est un hyperviseur permettant de gerer des containers totallement isoles du systeme reel. c’est un projet libre developpe par Canonical qui partage les ressources du systeme reel en mode virtuel en s’appuyant directement sur les fonctions avancees du noyau. concu au depart pour faire tourner des serveurs isole de l’hote, le logiciel a ete detourne de son usage habituel. il existe en effet des tutos sur le net permettant de l’utiliser pour sandboxer efficacement des programmes en mode graphique avec l’activation de la 3D. vous trouverez ici bas un exemple d’installation utilisation de firefox dans un container…

Note : j’ai mis les instructions dans une balise parce que le forum modifie les doubles tirets en un seul, ce qui provoque des erreurs de syntaxe (je m’en suis appercu en faisant des copier coller dans le terminal)…

le forum s’obstine a colorier certaines partie du texte, probablement un bug

sudo groupadd --system lxd
sudo usermod -G lxd -a nom_utilisateur

pour installer lxd, j'ai choisi le package snap :
sudo snap install lxd

pour intitaliser lxd (j'ai selectionne les options par defaut) :
sudo lxd init

ensuite pour creer une instance firefox avec l'audio :
lxc launch ubuntu:x firefox
MAJ : correction, je me suis appercu que cette commande
a installe l'image d'ubuntu 16.04 alors que je voulais la
derniere version, j'ai du refaire le container en tapant :
lxc launch ubuntu:18.04 firefox
lxc exec firefox apt update
lxc exec firefox apt install x11-apps mesa-utils pulseaudio firefox
lxc config set firefox raw.idmap "both $UID $(id -u)"
lxc restart firefox
lxc config device add firefox X0 disk path=/tmp/.X11-unix/X0 source=/tmp/.X11-unix/X0
lxc exec firefox -- sudo --user ubuntu --login

sudo sed -i "s/; enable-shm = yes/enable-shm = no/g" /etc/pulse/client.conf
echo export PULSE_SERVER=unix:/tmp/.pulse-native | tee --append /home/ubuntu/.profile
exit

lxc config device add firefox PASocket disk path=/tmp/.pulse-native source=/run/user/1000/pulse/native
lxc config device add firefox Xauthority disk path=/home/ubuntu/.Xauthority source=$XAUTHORITY
lxc config device add firefox gpu gpu
lxc config device set firefox gpu uid 1000
lxc config device set firefox gpu gid 1000

lancer firefox :
lxc exec firefox -- sudo --login --user ubuntu DISPLAY=:0 firefox

verifier que la 3d fonctionne :
lxc exec firefox -- sudo --login --user ubuntu DISPLAY=:0 glxgears

pour faire un backup du container firefox (exemple) :
lxc export firefox /home/nom_utilisateur/Backups/firefox_backup.tar.xz

meme procedure pour installer d’autres programmes isoles. il faut cependant savoir que pour chaque programme, il faudra ajouter des options. par exemple pour firefox, il fallait installer pulseaudio pour avoir le son…

Note : bien qu’en suivant ces etapes une par une il est possible de faire pareil, ces informations sont destines a des personnes averties sachant gerer les lignes de commandes et ayant quelques connaissances au prealable. je n’ai pas mis trop d’explications mais ca reste gerable pour les connaisseurs. vous trouverez plus de detail sur le net. ce tuto est base sur de nombreuses informations glanees sur le net et que j’ai adapte a mes besoins…

Conclusion : le plus etonnant avec LXD, c’est la rapidite des programmes. c’est beaucoup plus reactif qu’une machine virtuelle avec la meme isolation. cela dit le logiciel ne peut gerer que des systemes linux. pour windows, il reste possible d’installer une instance wine et d’y ajouter des programmes windows. meme les jeux sont possible puisque la 3d et le son sont disponibles. ma prochaine tentative, c’est de tester les capacitee de wine. j’ai en effet des programmes windows qui n’ont pas d’equivalents sous linux pour l’instant. l’autre avantage, c’est d’isoler wine dans un container pour ne pas polluer le systeme…

je posterais le fruit de mes futures experiences avec LXD dans ce post pour en garder une trace et en faire profiter d’autres personnes…

–MAJ–

je voulais recreer un container avec le navigateur opera mais sans tout refaire.

j'ai donc cloner le container de firefox par la commande : 

lxc copy firefox opera

ensuite, j'ai active le container opera :

lxc start opera

et lance firefox a l'interieur du container opera pour acceder
au site d'opera et telecharge le dernier package de ce logiciel... 

lxc exec opera -- sudo --login --user ubuntu DISPLAY=:0 firefox

ensuite j'ai lance la commande :

lxc exec opera -- sudo --login --user ubuntu

et a l'interieur du container la commande (pour installer opera) :

sudo dpkg -i Nom_package_Opera.deb

installer les dependances (necessaire) :

sudo apt -f install

j'ai ensuite desinstalle firefox qui n'est plus necessaire ici...

exit pour sortir du container opera...

pour lancer opera et verifie que tout fonctionne :

lxc exec opera -- sudo --login --user ubuntu DISPLAY=:0 opera

Le principe reste applicable a d’autres programmes. au lieu de tout refaire a chaque fois. cloner est une solution plus rapide. le seul soucis, c’est que chaque container occupe environ 1 go d’espace disque, c’est beaucoup, je vais essayer de trouver un container image tres leger pour regler ce probleme…

Precision : il est tout a fait possible d’installer de nombreux programmes dans un meme container mais vous n’aurez pas d’isolation entre eux puisqu’ils auront acces a toutes les donnees des uns et des autres…


MAJ : aide memoire des commandes…

pour demarrer un container :
lxc start nom_container

pour arreter un container :
lxc stop nom_container

pour effacer un container (attention definitif) :
lxc delete nom_container

pour acceder a un container :
lxc exec nom_container – sudo --login --user ubuntu

pour acceder a un container (avec display actif pour lancer un programme graphique) :
lxc exec nom_container – sudo --login --user ubuntu DISPLAY=:0

pour exporter faire un backup d’un container :
lxc export nom_container /home/nom_utilisateur/nom_container_backup.tar.xz

pour importer un container :
d’abords, l’effacer s’il existe par la commande lxc delete nom_container
lxc import /home/nom_utilisateur/nom_container_backup.tar.xz

je voulais utiliser le profile de firefox dans le nouveau container de celui ci, j’ai fait un backup en zip du dossier et je l’ai copie par la commande :
lxc file push firefox_profile.zip firefox/home/ubuntu/

ensuite, j’ai installe dans le container p7zip-full :
sudo apt-get install p7zip-full

voici la commande qui permet d’extraire l’archive firefox_profile.zip :
7z x firefox_profile.zip

le reste est facile…


MAJ : installation wine

En me basant sur le container de firefox que j’ai clone et renomme en wine, j’ai installe wine :

pour la version 64 bit :
sudo apt install wine64

pour la version 32 bit :
sudo apt install wine32

pour afficher la version :
wine --version

pour la derniere version, il faut faire d’autres manipulation, je me suis contente de la version standard…

pour configurer wine (notement les polices d’affichage qui sont trop petites et d’autres options) :
winecfg

apres ca j’ai transfere quelques programmes windows portables dans le container. la plupart fonctionne parfaitement :

2xExplorer, FreeCommander, PSPad, a43, CloneSpy, EditPadLite, Notepad++, XVI32, Irfanview, PhotoFiltre, Palemoon portable

meme des outils de developpements.

  • freebasic
  • fbedit (editeur freebasic)
  • purebasic

j’ai fait ca a la main mais winetricks est un script concu par les developpeurs de wine permettant d’installer de nombreux programmes windows ainsi que les dlls librairies necessaires…

je suis assez etonne de la qualite de wine. j’ai teste la demo de halflife premiere version datant de plusieurs annees que j’ai trouve dans un cd mag. il a fallu configurer correctement l’affichage mais ca fonctionne parfaitement dans une fenetre en qualite opengl 3d. je parie que c’est impossible de lancer ce jeu dans windows 10…

conclusion : tres satisfait de wine. je vais pouvoir continuer a utiliser quelques programmes windows jusqu’a ce que je trouve des alternatives viables sous linux… Le tout dans un container securise avec isolation.

Install dernier Kernel Stable (fourni par ubuntu)

Le kernel de kde neon est la version 4.15.xx. j’ai cherche une version plus recente. voici les etapes :

lancer cette commande pour connaitre la version du kernel :
uname -mrs

ensuite pour afficher les derniers kernels (stables) :
apt search linux-image | grep edge

j’ai trouve le kernel 4.18. installe par cette commande :
sudo apt install linux-image-generic-hwe-18.04-edge linux-headers-generic-hwe-18.04-edge

ce kernel est excellent plus rapide que l’ancien et tres stable…

MAJ

au cas ou kde neon est utilise, il vaut mieux utiliser les commandes suivantes :

sudo pkcon install linux-generic-hwe-18.04
sudo pkcon install xserver-xorg-hwe-18.04


Install Kernel 4.20.12

j’ai telecharge le dernier kernel 4.20.12 et je l’ai installe manuellement pour essayer d’activer la carte graphique radeon 530. manque de bol, le driver opensource n’est toujours pas disponible. le redemarrage s’est bien passe, le systeme s’est revele plus rapide que l’ancien sauf que lxd ne fonctionne plus a cause d’un module qui n’a pas ete active. n’ayant ni le temps ni la motivation de corriger le probleme, j’ai decide de desinstaller le nouveau kernel, voici les etapes pour en garder une trace et pour ceux qui pourraient etre interesses :

taper :
sudo nano /etc/default/grub

modifiez
GRUB_TIMEOUT_STYLE=hidden
par
GRUB_TIMEOUT_STYLE=countdown

modifiez
GRUB_TIMEOUT=0
par
GRUB_TIMEOUT=5

taper sudo update-grub pour regenerer le menu de grub…

ensuite redemarrer le systeme. lorsqu’une temporisation s’affichera, appuyer sur la touche shift pour activer le menu de grub. selectionner l’ancien kernel et le lancer…

verifier que l’ancien kernel est actif par uname -mrs

derniere etape, lancer Synaptic Package Manager, selectionner les packages du kernel 4.20.12 et desinstaller les…

remettez /etc/default/grub a son etat initial.

et taper sudo update-grub pour regenerer le menu de grub…


Liberer la memoire du systeme et reinitialiser le swap

en lancant une commande de compression sur un tres gros fichier, je me suis appercu que le swap disque a ete utilise alors que j’ai 32 go de memoire et que j’ai configure le systeme pour que le swapping ne soit utilise qu’en dernier recours. j’ai donc ecrit un scrip pour nettoyer liberer la memoire et reinitialiser le swap a volonte.

voici le script :

#!/bin/bash
swapon -s
swapoff -a && swapon -a
swapon -s
free -h && sysctl vm.drop_caches=3 && free -h

a executer en mode administrateur.

Creer Disque Virtuel :

pour creer un disque virtuel, se placer dans le repertoire de destination, lancer le terminal et taper la commande :

dd if=/dev/zero of=disk.img bs=1G count=100

attention, cette commande va creer un fichier de 100 go (verifier avant si l’espace disque est disponible ou modifier selon vos besoins).

probleme, j’ai du arreter cette commande parce qu’elle a monoplolise toutes les ressources du systeme. solution, installer cpulimit en tapant :

sudo apt install cpulimit

ensuite, relancer la commande :

cpulimit -l 40 dd if=/dev/zero of=disk.img bs=1G count=100

cpulimit permet de limiter l’occupation cpu du programme specifie…

ensuite, creer un systeme de fichier :

mkfs.ext4 -F disk.img

creer un point de montage (dans home) :

mkdir ~/montage

Activer le montage :

sudo mount -t ext4 -o loop disk.img ~/montage

a partir de la, il est possible d’utiliser le disque virtuel comme un disque normal…

Creer Disque Virtuel Chiffre :


important : les instructions donnees ici sont claires mais la manipulation peut etre dangereuse. cela s’adresse a des personnes averties qui savent ce qu’ils font. debutants s’abstenir. l’utilisation du mode administrateur (sudo) expose vos donnees en cas d’erreur… vous voila prevenus.


pour stocker des donnees ultra confidentielles, il vaut mieux utiliser un disque virtuel chiffre qui se presentera comme un fichier utilisable sur n’importe quel disque, meme sur une cle usb. les donnees ne seront accessibles qu’a ceux qui possedent le mot de passe (il est recommande d’utiliser un mot de passe long avec chiffre et lettre). dans cet exemple, la taille du fichier est fixe a 10 go facillement copiable et transportable. voici les etapes :

pour creer un disque virtuel, se placer dans le repertoire de destination, lancer le terminal et taper la commande :

dd if=/dev/zero of=disk.img bs=1G count=10

attention, cette commande va creer un fichier de 10 go (verifier avant si l’espace disque est disponible ou modifier selon vos besoins).

probleme, j’ai du arreter cette commande parce qu’elle a monoplolise toutes les ressources du systeme. solution, installer cpulimit en tapant :

sudo apt install cpulimit

ensuite, relancer la commande :

cpulimit -l 40 dd if=/dev/zero of=disk.img bs=1G count=10

cpulimit permet de limiter l’occupation cpu du programme specifie…

installer cryptsetup :
sudo apt install cryptsetup

activer le disque virtuel dans /dev/loop12 :
sudo losetup /dev/loop12 disk.img

j’ai essaye /dev/loop0 jusqu’a /dev/loop11 mais j’ai eu ce message d’erreur :
losetup: disk.img echec de configuration du peripherique boucle: ressource occupe
j’ai reessaye jusqu’a /dev/loop12 ou la commande a reussi (lxd utilise apparement les autres)…

MAJ : taper sudo losetup -f pour reserver un autre /dev/loopx et l’utiliser…

verifier :
sudo losetup -a
attention verifier bien que le disque virtuel est active sinon la prochaine commande risque d’etre fatal pour les donnees existant dans /dev/loop12

chiffrer le disque :
sudo cryptsetup -c aes-xts-plain64 -y --hash sha512 --use-random luksFormat /dev/loop12

ouvrir :
sudo cryptsetup luksOpen /dev/loop12 cryptodisk

reverifier cryptodisk :
ls /dev/mapper

creer un systeme de fichier :
sudo mkfs.ext4 -m 0 -j /dev/mapper/cryptodisk

creer un point de montage :
mkdir ~/montage

activer le point de montage :
sudo mount /dev/mapper/cryptodisk ~/montage
apres ca, il est possible d’utiliser le point de montage comme un disque normal mais chiffre…

pour demonter:
sudo umount ~/montage

fermer :
sudo cryptsetup luksClose cryptodisk

liberer disk.img de /dev/loop12 :
sudo losetup -d /dev/loop12


MAJ - recapitulatif

pour activer le disque virtuel (dans l’ordre) :

reserver un /dev/loopx , lui attribuer le fichier chiffre , l’ouvrir, taper le mot de passe et activer le point de montage.

sudo losetup -f
sudo losetup /dev/loopx disk.img
sudo cryptsetup luksOpen /dev/loopx cryptodisk
sudo mount /dev/mapper/cryptodisk ~/montage

pour desactiver le disque virtuel (dans l’ordre) :

sudo umount ~/montage
sudo cryptsetup luksClose cryptodisk
sudo losetup -d /dev/loopx

Alternative a mempad

mempad est un excellent programme de prise de note, je l’ai choisi sous windows pour sa rapidite de chargement meme si le fichier de donnee est tres grand. probleme, meme s’il est developpe avec purebasic un language multipleforme, il n’existe pas de version sous linux. j’ai du chercher une alternative et j’ai trouve cherrytree installable par la commande :

sudo apt install cherrytree

j’ai choisi ce programme parce qu’il comporte une fonction d’importation des fichiers de donnees de mempad qui fonctionne tres bien…

1 J'aime

Installer les derniers drivers graphiques 3D de Mesa :

afficher la version actuelle d’opengl (Mesa) :
glxinfo | grep "OpenGL version"

ajouter le depot ppa :
sudo add-apt-repository ppa:ubuntu-x-swat/updates

mise a jour :
sudo apt update
sudo apt dist-upgrade

verifier la version installe :
glxinfo | grep "OpenGL version"

eventuellement, pour revenir en arriere (permet d’enlever le depot ppa), taper :
sudo apt install ppa-purge
sudo ppa-purge ppa:ubuntu-x-swat/updates

pour tester le gpu. installer :
sudo apt-get install mesa-utils

taper :
glxgears

ou installer :
sudo apt install glmark2

taper :
glmark2

Mettre a jour kde neon en ligne de commande

taper :

sudo pkcon refresh
sudo pkcon update

Activer gerer les volumes chiffres Truecrypt

j’ai des volumes truecrypt a ouvrir. j’ai trouve sur mon disque dur la derniere version 7.1a linux officielle de ce logiciel (console). ca fonctionne bien sous kde neon ubuntu 18.04 bien qu’il s’agit d’une version tres ancienne. je n’ai pas tente d’installer la version graphique. voici les etapes :

decompresser :
truecrypt-7.1a-linux-console-x64.tar.gz

lancer l’installation :
./truecrypt-7.1a-setup-console-x64

creer un point de montage :
mkdir ~/montage

activer le volume truecrypt (specifier ~/montage comme point de montage ou laisser par defaut) :
truecrypt --mount nom_volume

normallement, le volume est disponible et peut etre gere comme un disque dur…

pour desactiver le volume :
truecrypt -d

Installer Firejail

Firejail permet de securiser les programmes en les executant dans une sandbox. il comporte de nombreuses options et est livre avec de nombreux profils. pour l’installer :

sudo apt install firejail

installer l’interface graphique pour firejail :
sudo apt install firetools

les premiers tests se sont reveles peu probant. firefox s’execute mais sans connexion internet. libreoffice ne se lance tout simplement pas (il faut taper une commande en terminal pour y remedier). j’ai visite le site officiel pour verifier la derniere version, il s’avere que le depot d’ubuntu propose une version un peu date. j’ai telecharge la derniere version dans un package deb. pour verifier l’integrite du package, les instructions ne sont pas claires mais voici les etapes :

copier coller la cle pgp de l’auteur dans un fichier (par exemple cle.key)
importer la cle :
gpg --import cle.key

telecharger le fichier *.asc de firejail…
verifier :
gpg --verify nom_fichier.asc

si tout va bien, recuperer le Hash (SHA256) du package deb dans le fichier asc et taper :
sha256sum nom_package.deb

si ca correspond. installer :
sudo dpkg -i nom_package.deb

la nouvelle version semble plus stable. pour lancer firefox, j’ai d’abords cree un repertoire dedie nomme Firejail et dans celui ci un repertoire nomme firefox. ensuite, j’ai lance la commnande :

firejail --private=/home/nom_utilisateur/Firejail/firefox firefox

ca fonctionne tres bien avec une tres bonne isolation, firefox n’a acces qu’au repertoire specifie. a noter que firejail comporte un profil adapte a firefox mais ca ne me convenait pas…

j’ai fait la meme chose avec cherrytree. le parametre –net=none permet d’empecher le programme d’avoir acces a internet. voici la commande :

firejail --net=none --private=/home/nom_utilisateur/Firejail/cherrytree cherrytree

il y’a un autre utilitaire livre avec firejail qui permet de securiser tous les programmes qui ont un profil automatiquement. ce n’est pas recommande. certains programmes ne fonctionnent pas correctement…

conclusion : firejail est un programme tres utile pour mieux securiser certains programmes. cela dit le probleme dans linux reste associe au serveur graphique x11 qui comporte a ce jour de nombreuses failles et la aucun programme d’isolation n’y pourra rien tant que le serveur graphique wayland ne l’aura pas totallement remplace. mais en attendant, firejail permet de reduire la surface d’attaque notement dans les navigateurs internets (firefox chromium opera). l’option d’interdiction d’acces au net peut egallement etre tres utile avec certains programmes…

Reparation kde neon

Il fallait bien que ca arrive avec toutes mes manipulations. j’ai installe Xpra un serveur plus securise que x11 pour le tester en association avec firejail. resultas, apres redemarrage, plus de clavier ou souris au login. je me voyais mal tout reinstaller. je n’ai pas fait de sauvegarde du systeme. le probleme c’est qu’il n’est plus possible d’intervenir au niveau du demarrage pendant ou apres. il fallait trouver une solution. apres quelques recherche sur le net, voici les etapes :

redemarrez le live de kde neon avec une cle usb :

lancer un terminal.

ouvrir le container luks :
sudo cryptsetup luksOpen /dev/sdb1 sdb1-crypt

montage et activation du CHROOT :

sudo mount /dev/mapper/vg-root /mnt
sudo mount --bind /dev /mnt/dev
sudo mount -t proc /proc /mnt/proc
sudo mount --bind /run /mnt/run
sudo mount -t sysfs /sys /mnt/sys

sudo chroot /mnt /bin/bash

j’ai d’abords desinstalle Xpra mais ca n’a pas regle le probleme. ensuite desinstalle (avec purge totale) et reinstalle xorg sans resultas. puisque le probleme etait lie au clavier et a la souris, j’ai fait une recherche sur google concernant xorg input et trouve deux paquets que j’ai installes :

sudo apt install xserver-xorg-input-all-hwe-18.04
sudo apt install xserver-xorg-input-synaptics-hwe-18.04

apres ca, sortir du CHROOT :
exit

et :
sudo umount -R /mnt

reboot du systeme :
sudo reboot

apres demarrage et login, le clavier et la souris sont actifs de nouveau. probleme resolu.

Note : il va falloir creer un script de backup restauration du systeme utilisable avec le live de kde neon sinon comment reparer restaurer un systeme si on ne peut meme pas y avoir acces…

Activer apercu miniature video dans Dolphin

pour activer l’apercu miniature des video, il faut installer ces deux packages :

sudo apt install ffmpegthumbs
sudo apt install ffmpegthumbnailer

ensuite, section Configurer dolphin / Apercu / cocher Fichiers videos (ffmpegthumbs)

la generation des miniatures n’est pas tres rapide, j’ai donc envisage de creer un lien symbolique vers /tmp qui est lie a tmpfs. ce qui permet des transferts tres rapide. le repertoire qui contient les miniatures se situe dans
/home/nom_utilisateur/.cache/thumbnails

voici les etapes :

creer le repertoire des miniatures :
mkdir /tmp/thumbnails

effacer le repertoire :
/home/nom_utilisateur/.cache/thumbnails

creer le lien symbolique :
ln -s /tmp/thumbnails /home/nom_utilisateur/.cache/thumbnails

le lien sera cree dans /home/nom_utilisateur/.cache et lie directement a /tmp/thumbnails.

conclusion : l’affichage des miniatures est pratiquement instantane. le reste est facile. j’ai cree un script qui recree a chaque demarrage le repertoire /tmp/thumbnails, efface le lien et le recree dans /home/nom_utilisateur/.cache

a noter que tout ce qui est dans /tmp/thumbnails reside en fait en memoire et disparait a chaque extinction du systeme. il faut prendre cela en compte. a un certain moment, j’ai meme envisage de placer tout le repertoire cache de kde dans /tmp mais j’ai choisi la prudence. kde a peut etre besoin de certains fichiers pour fonctionner correctement. en plus, la taille du repertoire peut atteindre environ 500 mo. c’est beaucoup.

Creer package deb de la derniere version de freebasic et l’installer

Je me suis base sur le container (LXD) de firefox (voir section lxd) que j’ai clone. ensuite voici les etapes :

activer le container :
lxc start nom_container

y entrer :
lxc exec nom_container – sudo --login --user ubuntu DISPLAY=:0

avec wget, j’ai telecharge freebasic version 1.05, decompresse dans un repertoire et lancer la commande :
sudo sh install.sh -i

installation des dependances :
sudo apt install -y gcc libncurses-dev libgpm-dev libx11-dev libxext-dev libxpm-dev libxrandr-dev libxrender-dev libgl1-mesa-dev libffi-dev

taper toutes ces commandes une par une :
sudo apt install -y git make checkinstall
git clone https://github.com/freebasic/fbc.git
cd fbc
make
sudo checkinstall --install=no

dans l’ordre, recuperation de checkinstall, du code source de la derniere version de freebasic, compilation et finallement generation du package deb.

sortir du container :
exit

copier le package deb :
lxc file pull nom_container/home/ubuntu/nom_package.deb /home/nom_utilisateur/installs

se placer dans le repertoire du package :
cd /home/nom_utilisateur/installs

installer :
dpkg -i nom_package.deb

eventuellement pour desinstaller :
dpkg --remove nom_package.deb

pour fonctionner correctement, freebasic necessite de tres nombreuses dependances, voici l’essentiel mais il y’en a surement d’autres :
sudo apt install gcc make libncurses5-dev libgpm-dev libx11-dev libxext-dev libxpm-dev libxrandr-dev libxrender-dev libgl1-mesa-dev libffi-dev libgtk2.0-dev libgtk-3-dev freeglut3-dev libsdl2-dev libjpeg9-dev libwebp-dev libtiff5-dev libsdl2-image-dev libmikmod-dev libfishsound1-dev libsmpeg-dev liboggz2-dev libflac-dev libfluidsynth-dev libsdl2-mixer-dev libsdl2-mixer-2.0-0 libfreetype6-dev libsdl2-ttf-dev libsdl2-ttf-2.0-0 libglfw3-dev libgtkglext1-dev

comme editeur de freebasic, j’ai choisi geany :
sudo apt geany

j’ai recupere les exemples de freebasic dans le git et j’ai tout copie dans un repertoire dedie dans home. la plupart des exemples fonctionnent. freebasic est un language tres interessant qui permet de rapidement prototyper un programme. je l’utilise pour des petits programmes. pour les grands projets, j’utilises lazarus freepascal un autre excellent language opensource.

note : la premiere raison pour laquelle j’ai utilise un container pour generer le fichier deb de freebasic, c’est pour ne pas allourdir le systeme principal en y installant n’importe quoi. la deuxieme raison c’est pour tester la viabilite efficacite des containers…

Gerer limiter la priorite des programmes

precedement j’avais recommande d’utiliser cpulimit pour limiter la priorite d’execution de certains programmes mais j’ai trouve une commande beaucoup plus efficace et simple, il s’agit de nice :

exemple :

nice -n 19 commande_a_executer

ce parametre donne une priorite minimale. sur certains traitements lourd notement avec ecriture disque j’ai pu constater une efficacite certaine. sans ce parametre, le systeme devenait parfois peu reactif…

il y’a egallement la commande renice qui permet d’intervenir sur des processus deja actifs.

Changer la taille de swapfile

desactiver le fichier :
sudo swapoff -a

l’effacer :
sudo rm /swapfile

le recreer (creation d’un fichier de 16 go) :
sudo dd if=/dev/zero of=/swapfile bs=1G count=16

faire en sorte que seul root puisse utiliser le fichier :
sudo chmod 600 /swapfile

le reactiver :
sudo mkswap /swapfile
sudo swapon /swapfile

verifier :
sudo swapon --show

eventuellement, editer le fichier :
sudo nano /etc/fstab

et ajouter la ligne (si elle n’existe pas) :
/swapfile swap swap defaults 0 0

pour que le changement devienne permanent.

Installer le package smartmontools

smartmontools contient des utilitaires utilisant la technologie SMART. cette derniere permet de verifier l’etat des disque durs et de detecter par exemple l’imminence d’une defaillance avant qu’elle ne se produise…

installer smartmontools :
sudo apt install smartmontools

donner des informations et verifier que le disque supporte la technologie SMART :
sudo smartctl -i /dev/sdX

lancer un test court en tache de fond (env 1 a 2 minutes) du disque specifie :
sudo smartctl -t short /dev/sdX

l’utilitaire rend la main tout de suite et affiche le temp de fin de test. il est possible d’arreter le test en tapant :
sudo smartctl -X
sinon pour voir le resultas, attendre et taper :
sudo smartctl -l selftest /dev/sdX

si le test court revele une defaillance, il est recommande de lancer un test long pour confirmer le probleme en tapant :
sudo smartctl -t long /dev/sdX

le package comporte egallement smartd activable en permanence pour faire des tests automatiques et eventuellement signaler tout problemes…

note : pour plus details. visiter le wiki d’ubuntu qui est une mine d’informations.

Verifier que la carte graphique secondaire amd est active

mon ordinateur portable utilise exclusivement la carte graphique intel alors qu’il y’a une carte amd integre beaucoup plus performante. apres inspection il apparait cependant que le driver opensource d’amd est installe et que la carte est active. voici les etapes pour le verifier :

afficher informations detaillees sur le systeme :
lspci
la commande affiche effectivement l’existence de deux cartes graphiques :

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620
01:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI]

cette commande confirme que le driver opensource amd est actif et que le module kernel est charge :
sudo lspci -v -s 01:00.0
Kernel driver in use: amdgpu
Kernel modules: amdgpu

verification suplementaire concernant le module amd :
lsmod | grep -i amd
resultas : amdgpu

afficher la carte graphique par defaut :
glxinfo | grep "OpenGL renderer"
resultas : OpenGL renderer string: Mesa DRI Intel® UHD Graphics 620 (Kabylake GT2)

afficher la carte graphique secondaire :
DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
resultas : OpenGL renderer string: AMD ICELAND (DRM 3.26.0, 4.18.0-16-generic, LLVM 7.0.0)

cette commande donne des informations beaucoup plus detaillees sur la carte principale :
glxinfo -B

cette commande donne des informations beaucoup plus detaillees sur la carte secondaire :
DRI_PRIME=1 glxinfo -B

pour lancer un programme avec la carte amd, il faut faire preceder la commande par le parametre DRI_PRIME=1. par exemple pour tester la carte :

DRI_PRIME=1 glxgears

DRI_PRIME=1 glmark2

conclusion : probleme resolu.

Chiffrer un disque externe

pour les backups, j’utilise un disque externe de 1 to. bien evidement chiffre. voici les etapes :

taper :
sudo fdisk -l
pour identifier le disque…

le mien se situe dans /dev/sde. initialisation et preparation. attention, ces deux commandes sont tres dangereuse, ne vous tromper pas de device. vous voila prevenu :
sudo parted -s /dev/sde mklabel msdos
sudo parted -s /dev/sde mkpart primary 2048s 100%

chiffrer :
sudo cryptsetup -c aes-xts-plain64 -y --hash sha512 --use-random luksFormat /dev/sde1

ouvrir :
sudo cryptsetup luksOpen /dev/sde1 sde1-crypt

creer volume lvm :
sudo pvcreate /dev/mapper/sde1-crypt
sudo vgcreate back /dev/mapper/sde1-crypt
sudo lvcreate -l +100%FREE back --name root

formatter en ext4 :
sudo mkfs.ext4 /dev/back/root

ne pas oublier de specifier un label (ici ‘backup’) :
sudo e2label /dev/mapper/back-root backup

Note : pour ceux qui ne sont pas a l’aise avec les lignes de commande, il est possible d’utiliser l’editeur de partitions de kde. l’outil est tres puissant et gere les containers LUKS

Sauvegarder restaurer kde neon

l’une de mes preoccupations principales apres avoir installe et configure kde neon, c’est un crash du systeme irrecuperable m’obligeant a tout reinstaller. j’ai passe beaucoup de temps a configurer le systeme et je n’avais pas vraiment envie de repeter le scenario. il fallait trouver une solution viable. apres quelques recherches et tests de diverses solution, voici les etapes :

  • tout d’abords, s’assurer d’avoir toujours disponible une cle usb bootable avec kde neon.

  • un disque dur externe reserve au backup de preference chiffre parce qu’un backup d’un systeme chiffre se doit logiquement d’etre dans le meme etat sinon il est inutile d’y recourir. pour creer un disque chiffre, voir mon precedent post.

ensuite :

  • booter sur la cle usb de kde neon, lancer un terminal :

sudo fdisk -l pour identifier les disques…

ouvrir le container chiffre du disque dur de backup (ici situe dans /dev/sde) :
sudo cryptsetup luksOpen /dev/sde1 sde1-crypt

ouvrir le container chiffre du systeme (ici situe dans /dev/sbd ) :
sudo cryptsetup luksOpen /dev/sdb1 sdb1-crypt

installer partclone qui va servir au backup de la partition systeme :
sudo apt install partclone

sauvegarder la partition systeme (ici le systeme est suppose se trouver dans /dev/mapper/vg-root et le backup est suppose se creer dans /media/neon/backup avec un nom explicite et la specification de la date. a noter que le clonage s’effectue dans un fichier image) :
sudo partclone.ext4 -c -s /dev/mapper/vg-root -o /media/neon/backup/backup-system_$(date +"%d-%m-%Y").img

restaurer la partition systeme :
partclone.ext4 -r -s /media/neon/backup/nom_backup.img -o /dev/mapper/vg-root

Note : le backup s’est effectue avec succes mais je n’ai pas teste la restauration. tout devrait fonctionner mais je ne peux le confirmer a cent pour cent pour l’instant. le backup a necessite environ 23 minutes pour un fichier image d’environ 60 go, partclone a sauvegarde uniquement l’espace occupe du disque qui a en fait une taille de 250 go. si la restauration prend la meme duree, c’est un gain de temp appreciable en comparaison d’une nouvelle installation et reconfiguration. partclone n’est pas vraiment adapte au backup de home. j’envisage d’utiliser un script avec rsync. je verrais plus tard.