Skip to content

Commit

Permalink
Merge pull request #25 from TCastus/apt
Browse files Browse the repository at this point in the history
Ajout du guide sur apt
  • Loading branch information
Lgt2x committed Jun 27, 2021
2 parents 616d109 + d4eeeb2 commit e044735
Show file tree
Hide file tree
Showing 3 changed files with 161 additions and 4 deletions.
157 changes: 157 additions & 0 deletions Gestionnaire_de_paquets/Apt/Presentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# Installation de logiciels sur Linux (Debian-based)

À la différence d'OS comme Windows ou OSX, l'installation de logiciels et de librairies sur Linux se fait principalement grâce à des gestionnaires de paquets. Quelques interfaces existent pour éviter d'utiliser la ligne de commande, mais il est déconseillé passé un certain stade d'apprentissage de les utiliser, car ils ne couvrent pas l'ensemble des cas d'utilisation auxquels vous pourrez être confrontés. Nous allons apprendre ici les différentes manières d'installer de manière générale un logiciel sur une distribution de Linux basée sur Debian, comme Ubuntu (et ses variantes), Linux Mint, PopOS, ElementaryOS...

Nous vous présentons ici 4 manières d'installer un logiciel. Vous pourrez être confrontés à toutes pendant votre scolarité, et elles ont toutes leurs avantages et leurs inconvénients.



## Sommaire

- [apt](#apt), l'installateur par défaut
- [snap](#snap), le concurrent
- [Téléchargement direct](#Téléchargement direct), quand y'a pas le choix
- [Compilation depuis la source](#Compilation depuis la source), quand c'est vraiment la galère



## apt

`apt`, pour Advanced Packaging Tool, est le gestionnaire de paquets présent par défaut sur les distributions Linux basées sur Debian. Il est indispensable de le maîtriser pour pouvoir se servir de Linux.

Pour la culture, il encapsule un système de packaging appelé `dpkg` et lui donne un front-end plus simple pour aller chercher des paquets distants.

Attention : Toutes les commandes présentées ici dont l'objectif est d'installer, mettre à jour ou supprimer un paquet doivent être précédées de `sudo`, pour obtenir les droits suffisants. Dans le cas où vous l'oublieriez, vous serez confrontés à une erreur du type :

```
tc@tc:~$ apt install gimp
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
```

### Base de données de paquets

apt fonctionne sur un système de base de données locale de paquets, qui peut être mise à jour par rapport aux versions en ligne grâce à la commande :

```
sudo apt update
```

Cette commande compare votre base locale aux versions en ligne, et met à jour votre base locale. En revanche, elle ne met pas à jour directement vos paquets.

Vous aurez parfois besoin d'ajouter des sources en plus de celles par défaut avec le [principe des PPA](https://doc.ubuntu-fr.org/ppa), mais généralement les commandes sont données.

### Installation

Après la mise à jour de votre base locale, vous pouvez installer un ou plusieurs paquet(s) :

```
sudo apt install <nom_du_paquet1> <nom_du_paquet_2>
```

Vous ne connaissez pas le nom du paquet ? Google vous donnera probablement la réponse. Vous pouvez aussi rechercher sur la base de paquets locale avec la commande :

```
apt search <terme_a_rechercher>
```

Et pour avoir des informations plus précises sur un paquet particulier :

```
apt info <nom_du_paquet>
```

### Mise à jour

Pour mettre à jour l'ensemble de vos paquets, lancez après la mise à jour de la base locale de vos paquets avec `update`:

```
sudo apt upgrade
```

### Suppression

Pour supprimer un package, utilisez la commande

```
sudo apt remove <nom_du_paquet>
```

Vous pouvez ajouter l'argument `--purge` pour supprimer également les fichiers de configuration du paquets. Conseillé si vous voulez remettre à zéro une configuration que vous avez cassé (par exemple).

Après une désinstallation, vous pouvez lancer `sudo apt autoremove` pour enlever les dépendances installées par le paquet que vous venez de supprimer et dont vous n'avez plus besoin.



## snap

snap est un gestionnaire de paquets très utilisé, qui vise à corriger et à uniformiser le monde complexe des gestionnaires de paquets Linux. Il peut fonctionner avec apt, et fournit parfois des versions plus à jour de certains logiciels.

Remarque personnelle : j'essaye d'utiliser `snap` le moins possible, parce qu'il pose aujourd'hui pas mal de problèmes. Il est tout de même incontournable pour certains logiciels comme le moteur chromium, [qui n'est plus disponible que sur snap](https://linuxize.com/post/how-to-install-chromium-web-browser-on-ubuntu-20-04/)

Pour installer snap, utilisez apt :

```
sudo apt install snapd
```

Pour installer un paquet snap :

```
sudo snap install <logiciel>
```

Pour supprimer un paquet snap :

```
sudo snap remove <logiciel>
```

Pour lister les snap installés :

```
sudo snap list
```



## Téléchargement direct

Parfois il n'y a pas le choix, certains éditeurs ne diffusent pas leur logiciel sur les gestionnaires de paquets, et vous proposent un téléchargement sur leur site. Vous vous retrouver avec un zip, plein de fichiers aux noms bizarres, que faire ??

Les utilisateurs linux ne sont pas choyés, et doivent souvent se débrouiller pour trouver comment lancer ce logiciel. Vous avez plusieurs cas de figure :

### Application en `.AppImage`

C'est le plus simple. Donnez les droits d'exécution sur le fichier puis lancez-le :

```
sudo chmod +x <fichier>.AppImage
./<fichier>.AppImage
```

### Application en .deb

Les `.deb` peuvent être gérés par le gestionnaire de paquet interne dpkg simplement :

```
sudo dpkg -i <fichier>.dev
```

Si un message d'erreur s'affiche disant qu'il manque des dépendances, vous pouvez les installer grâce à `apt`

### Plein de fichiers qui n'ont aucun sens

Pas de panique. Un fichier binaire se trouve quelque part dans le tas, il suffit de l'identifier. Chercher un fichier exécutable sans extension, souvent du même nom que l'application, à la racine ou dans un dossier `./bin`

Ensuite, donnez les droits d'exécution sur ce fichier avec `sudo chmod +x <fichier>` et exécutez-le.



## Compilation depuis la source

Tout arrive. Le binaire n'est pas fourni ou ne marche pas, vous voulez une version nightly plus récente... Peu importe. Vous avez trouvé le dépôt Github, et vous voulez lancer l'app.

Première astuce : dans l'onglet github releases, des versions compilées sont déjà très souvent fournies. Dans certains cas aussi dans l'onglet actions, qui peut faire des builds automatiques. Ouf. Du travail épargné.

Sinon ? Il est difficile de généraliser, mais les instructions de build sont souvent données dans le readme ou le wiki. Clonez le dépôt, suivez-les, et prier. Des listes de dépendances sont parfois fournies pour vous aidez. Mais maintenant que vous maîtrisez apt, plus rien ne vous fait peur :)
5 changes: 2 additions & 3 deletions Gestionnaire_de_paquets/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@

# Qu'est ce qu'un gestionnaire de paquets ?

Les systèmes d'exploitation(OS) (windows, linux, macos) fournissent des outils de base mis à disposition des utilisateurs. Ces outils sont automatiquement installés dans la structure de fichiers du système d'exploitation concerné.
Les systèmes d'exploitation, ou OS, comme Windows, Linux, ou MacOS fournissent des outils de base mis à disposition des utilisateurs. Ces outils sont automatiquement installés dans la structure de fichiers du système d'exploitation concerné.

Initialement, lorsque vous installez un logiciel externe, un outil d'installation décide de la localisation des fichiers installés. La plupart du temps l'installation se fait dans un répertoire unique que vous pouvez choisir. Dans d'autre cas, le système d'exploitation vous impose d'installer des fichiers à certains emplacements spécifiques. Les dll partagées pour windows, les ressources pour macosx...
En fonction des versions de systèmes d'exploitation ces emplacements peuvent changer, mais les installateurs ne sont pas corrigés.
Initialement, lorsque vous installez un logiciel externe, un outil d'installation décide de la localisation des fichiers installés. La plupart du temps l'installation se fait dans un répertoire unique que vous pouvez choisir. Dans d'autre cas, le système d'exploitation vous impose d'installer des fichiers à certains emplacements spécifiques. Les dll partagées pour Windows, les ressources pour MacOS... En fonction des versions de systèmes d'exploitation ces emplacements peuvent changer, mais les installateurs ne sont pas corrigés.

Quand on supprime un logiciel, ou quand on met à jour un logiciel, il peut laisser derrière lui d'anciens fichiers qui ne sont pas supprimés. Petit à petit votre système d'exploitation est inondé de ces fichiers rémanents. Certains de ces fichiers peuvent en plus générer des bugs de comportement de l'OS.

Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,10 @@ Le but de ce projet est d'avoir des fiches d'aides pour les outils utilisés pen

### Gestionnaire de paquets

> Pour installer rapidement et facilement des logiciels, utile sous Windows, indispensable sous linux
> Pour installer rapidement et facilement des logiciels, utile sous Windows, indispensable sous Linux
- [Windows Chocolatey](Gestionnaire_de_paquets/Chocolatey/Presentation.md)
- [apt sur Ubuntu](Gestionnaire_de_paquets/Apt/Presentation.md)

### Les Editeurs de code

Expand Down

0 comments on commit e044735

Please sign in to comment.