Chapitre 5. Logiciels disponibles sur un système Debian

# Chapitre 5. Logiciels disponibles sur un système Debian

## 5.1. Quelles sont les applications et les logiciels de développement disponibles sous Debian GNU/Linux ?

Comme pour la plupart des distributions Linux, Debian GNU/Linux fournit :

- la majorité des applications GNU pour le développement de logiciels, de manipulation de fichiers et de traitement de textes, y compris GCC, g++, make, texinfo, Emacs, le shell Bash et de nombreux utilitaires améliorés d'Unix ;

- Perl, Python, Tcl/Tk, différents programmes apparentés, des modules et des bibliothèques pour chacun d'eux ;

- TeX (LaTeX) et Lyx, dvips, Ghostscript ;

- le système de fenêtrage Xorg, qui fournit pour Linux une interface utilisateur graphique gérée en réseau et de nombreuses applications X comme les environnements de bureau GNOME, KDE et Xfce ;

- un ensemble complet d'applications réseau, incluant des serveurs pour les protocoles Internet, tels que HTTP (WWW), FTP, NNTP (groupes de discussion), SMTP et POP (courrier) et DNS (serveur de noms), des bases de données relationnelles comme PostgreSQL ou MyQSL, des navigateurs web incluant les divers produits Mozilla ;

- un ensemble complet d'applications de bureautique, incluant la suite LibreOffice, Gnumeric et d'autres tableurs, des éditeurs WYSIWYG (« What You See Is What You Get », c'est-à-dire « vous obtenez ce que vous voyez »), des calendriers.

Plus de 63879 paquets, allant des serveurs aux lecteurs de nouvelles, aux gestionnaires de son, aux programmes de fax, aux bases de données et aux tableurs, aux programmes de traitement d'image, de communication, de réseau, aux outils de courrier, aux serveurs web, et même des programmes de radio amateur sont inclus dans la distribution. 1082 autres suites logicielles sont disponibles sous forme de paquets Debian, mais ne font pas formellement partie de Debian à cause de leurs licences restrictives.

## 5.2. Qui a écrit tous ces logiciels ?

Pour chaque paquet les auteurs des programmes sont indiqués dans le fichier `/usr/share/doc/PAQUET/copyright`, où PAQUET doit être substitué par le nom du paquet.

Les responsables qui ont créé le paquet de ce logiciel pour le système Debian GNU/Linux sont listés dans le fichier de contrôle Debian (voir Section 7.4, « Qu'est ce qu'un fichier de contrôle ? ») présent dans tous les paquets. Le changelog Debian, disponible à `/usr/share/doc/PAQUET/changelog.Debian.gz`, mentionne aussi les personnes qui ont travaillé au paquetage Debian.

## 5.3. Comment puis-je obtenir la liste de tous les programmes qui ont été empaquetés pour Debian ?

Une liste complète est disponible sur n'importe quel miroir Debian, dans le fichier `indices/Maintainers`. Ce fichier contient le nom des paquets et les noms et adresses électroniques de leurs responsables respectifs.

L'interface web pour les paquets Debian regroupe de façon pratique les paquets de l'archive Debian dans une trentaine de sections.

## 5.4. Comment puis-je installer un environnement de développeur pour construire des paquets ?

Si vous voulez construire des paquets pour votre système Debian, vous aurez besoin d'un environnement de développement basique, comprenant un compilateur C/C++ et quelques autres paquets essentiels. Afin d'installer cet environnement, vous avez juste besoin d'installer le `build-essential`. Ce paquet est un méta-paquet qui dépend des outils standards de développement dont on a besoin pour construire un paquet Debian.

Quelques logiciels peuvent cependant avoir besoin de programmes supplémentaires pour être reconstruits, comprenant les en-têtes de bibliothèque ou des outils additionnels tels que autoconf ou gettext. Debian fournit beaucoup des outils nécessaires pour construire d'autres logiciels en paquets Debian.

Trouver quel logiciel est précisément requis peut, cependant, être embêtant à moins que vous n'ayez l'intention de reconstruire des paquets Debian. Cette dernière tâche est assez facile à faire, puisque les paquets officiels doivent inclure une liste des logiciels additionnels (en plus des paquets dans `build-essential`) nécessaires pour construire le paquet, connus sous le nom de `Build-Dependencies` (dépendances pour construire). Pour installer tous les paquets nécessaires à la construction d'un paquet source donné et ensuite construire le-dit paquet source vous pouvez juste lancer :

    # apt-get build-dep foo
    # apt-get source --build foo

Veuillez noter que si vous voulez construire les noyaux Linux distribués par Debian, vous voudrez également installer le paquet `kernel-package`. Pour plus d'informations, consultez Section 10.2, « Quel est l'outil fourni par Debian pour construire des noyaux personnalisés ? ».

## 5.5. Que manque-t-il dans Debian GNU/Linux ?

Il existe une liste de paquets ayant encore besoin d'être empaquetés, les paquets en souffrance et paquets souhaités.

Pour plus d'informations sur l'ajout des choses manquantes, consultez Chapitre 13, Participer au projet Debian.

## 5.6. Pourquoi est-ce que j'obtiens le message « ld: cannot find -lfoo » quand je compile un programme ? Pourquoi n'y a-t-il pas de fichier libfoo.so dans les paquets de bibliothèque Debian ?

La charte de Debian exige que de tels liens symboliques (sur libfoo.so.x.y.z ou semblable) soient placés dans des paquets séparés, les paquets de développement. Ces paquets sont habituellement appelés libfoo-dev ou libfooX-dev (si la bibliothèque est appelée libfooX où X est un nombre).

## 5.7. Comment Debian gère-t-elle Java ?

Quelques implémentations libres de la technologie Java sont disponibles comme paquets Debian, fournissant à la fois des kits de développement Java (JDK) et des environnements d'exécution (Runtime Environment). Vous pouvez écrire, déboguer et lancer des programmes Java en utilisant Debian.

L'exécution d'applets Java nécessite un navigateur web possédant les capacités de les identifier et de les exécuter. Plusieurs navigateurs web disponibles dans Debian, tels que Mozilla ou Konqueror gèrent les greffons Java qui permettent l'exécution des applets Java.

Reportez-vous à la FAQ Java et Debian GNU/Linux pour plus d'informations.

## 5.8. Comment puis-je vérifier que je suis sur un système Debian et connaître sa version ?

Pour vous assurer que votre système a bien été installé à partir de vrais disques d'installation de Debian, utilisez la commande :

    lsb_release -a

Celle-ci affichera le nom de la distribution (dans le champ « Distributor ID ») et la version du système (dans les champs « Release » et « Codename »).Ce qui suit est un exemple lancé dans un système Debian :

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Debian
    Description:    Debian GNU/Linux 7.4 (wheezy)
    Release:    7.4
    Codename:   wheezy

Vous pouvez également vérifier l'existence du fichier `/etc/debian_version`, qui contient une seule ligne donnant le numéro de version, défini par le paquet `base-files`.

Les utilisateurs devraient se rendre compte, cependant, que le système de Debian est constitué de beaucoup de composants, dont chacun peut être mis à jour (presque) indépendamment. Chaque version de Debian possède un contenu bien défini et invariable. Les mises à jour sont disponibles séparément. Pour avoir sur une ligne la description de l'état d'installation du paquet `foo`, utilisez la commande `dpkg --list foo`. Pour une description plus bavarde, utilisez :

    dpkg --status foo

Pour voir les versions de tous les paquets installés, lancez :

    dpkg -l

Veuillez noter que l'existence sur votre système du programme `dpkg` prouve que vous devriez pouvoir installer des paquets Debian. Cependant, comme le programme a été porté sur beaucoup d'autres systèmes d'exploitation et d'architectures, ce n'est donc pas une méthode fiable pour déterminer si c'est un système Debian GNU/Linux.

## 5.9. Comment Debian gère-t-elle les langues non anglophones ?

- Debian GNU/Linux est distribuée avec des cartes de clavier (keymaps) pour presque deux douzaines de clavier et avec des utilitaires (dans le paquet `kbd`) pour installer, regarder et modifier ces tables.

  The installation prompts the user to specify the keyboard to use.

- Presque tous les logiciels dans Debian gèrent l'encodage UTF-8. Vous devriez considérer comme obsolètes les encodages historiques tels que ISO-8859-1 ou ISO-8859-2.

- Actuellement, la gestion pour les pages de manuel est fournie en allemand, espagnol, français, hongrois, italien, japonais, coréen, hollandais, polonais, portugais, russe, turc et chinois grâce au paquet `manpages-LANG` (où LANG est constitué des deux lettres du code ISO du pays). Pour accéder à une page de manuel NLS, l'utilisateur doit positionner la variable d'environnement LC_MESSAGES correctement.

  Par exemple, dans le cas des pages de manuel en français, LC_MESSAGES doit être positionnée à « french ». Le programme man recherchera alors les pages de manuel en français sous /usr/share/man/fr/.

## 5.10. I have a device that requires non-free firmware. What should I do?

Firmware refers to embedded software which controls electronic devices. Many devices require firmware to operate. Historically, firmware would be built into the device's ROM or Flash memory, but more and more often, a firmware image has to be loaded into the device RAM by a device driver during device initialisation.

Some devices require non-free firmware to work properly. And there could be firmware updates in the future.

In Debian release 11 (bullseye) and older, Debian did not include non-free firmware on official images and live installations. For Debian 12 onwards, all the packaged non-free firmware binaries that Debian can distribute have been moved to a new component in the Debian archive, called `non-free-firmware`. If you're upgrading from an older release of Debian and you need these firmware binaries, make sure that your sources.list uses this new component:

    http://deb.debian.org/debian trixie main non-free-firmware contrib non-free

For more information please refer to Firmware information in the Debian Wiki.

## 5.11. J'ai une carte réseau sans-fil qui ne fonctionne pas avec Linux. Que dois-je faire ?

Achetez-en une qui fonctionne. :-)

Autrement, utilisez `ndiswrapper` pour utiliser un pilote pour Windows (si vous en avez un) avec votre système Linux. Consultez la page ndiswrapper du Wiki Debian pour plus d'informations.

Chapitre 4. Problèmes de compatibilité |  | Chapitre 6. The Debian archives