Hoofdstuk 5. In het Debian-systeem aanwezige software

# Hoofdstuk 5. In het Debian-systeem aanwezige software

## 5.1. Welke types toepassingssoftware en ontwikkelingssoftware zijn beschikbaar in Debian GNU/Linux?

Zoals de meeste Linux-distributies levert Debian GNU/Linux:

- de belangrijkste GNU-toepassingen voor softwareontwikkeling, bestandsmanipulatie en tekstbehandeling, waaronder gcc, g++, make, texinfo, Emacs, de Bash shell en talloze opgewaardeerde Unix-hulpprogramma's,

- Perl, Python, Tcl/Tk en talrijke verwante programma's, modules en bibliotheken voor elk van hen,

- TeX (LaTeX) en Lyx, dvips, Ghostscript,

- het windowssysteem van Xorg dat voorziet in een genetwerkte grafische gebruikersinterface voor Linux en talloze grafische applicaties, waaronder de desktopomgevingen GNOME, KDE en Xfce,

- een volledige suite netwerktoepassingen, waaronder servers voor internetprotocollen zoals HTTP (WWW), FTP, NNTP (nieuws), SMTP en POP (mail) en DNS (naamservers); relationele databases zoals PostgreSQL, MySQL; ook webbrowsers werden voorzien, waaronder de verschillende producten van Mozilla,

- een volledige set kantoortoepassingen, waaronder de productieve suite van LibreOffice, Gnumeric en andere rekenbladen, WYSIWYG-editors en kalendertoepassingen.

De distributie bevat meer dan 63879 pakketten, gaande van nieuwsservers en -lezers tot ondersteuning voor geluid, FAX-programma's, databanken en rekenbladen, programma's voor beeldbewerking, communicatieprogramma's, toepassingen voor het net en e-mailtoepassingen, webservers en zelfs programma's voor amateurradio. Nog 1082 andere softwaresuites worden als Debian-pakketten ter beschikking gesteld, maar maken omwille van licentierestricties formeel geen deel uit van Debian.

## 5.2. Wie schreef al deze software?

Bij elk pakket worden de auteurs van het programma vermeld in het bestand `/usr/share/doc/PAKKET/copyright`, waarbij PAKKET vervangen moet worden door de naam van het pakket.

De onderhouders die deze software voor het Debian GNU/Linux-systeem verpakken, worden vermeld in het control-bestand van Debian (zie Paragraaf 7.4, “Wat is een Debian control-bestand?”) dat bij elk pakket zit. Ook het changelog-bestand van Debian in `/usr/share/doc/PAKKET/changelog.Debian.gz` vermeldt de mensen die werkten aan de verpakking voor Debian.

## 5.3. Hoe verkrijg ik een actuele lijst van programma's die verpakt werden voor Debian?

Een volledige lijst is te vinden op elk van de Debian mirrors in het bestand `indices/Maintainers`. Dat bestand bevat de namen van de pakketten en de namen en de e-mailadressen van hun respectieve onderhouders.

De WWW-interface naar de Debian-pakketten vat de pakketten handig samen in de ongeveer dertig "secties" van het Debian-archief.

## 5.4. Hoe kan ik een ontwikkelingsomgeving installeren voor het bouwen van pakketten?

Indien u op uw Debian-systeem pakketten wilt bouwen, heeft u een basale ontwikkelingsomgeving nodig, met daarin een C/C++-compiler en enkele andere essentiële pakketten. Om deze omgeving te installeren dient u enkel het pakket `build-essential` te installeren. Dit is een meta-pakket of een dummypakket dat de standaard ontwikkelingsgereedschappen die men nodig heeft om een Debian-pakket te bouwen, als vereiste heeft.

Voor het opnieuw bouwen van sommige software kan nog bijkomende software nodig zijn, waaronder bibliotheek-headers of extra gereedschappen, zoals autoconf of gettext. Veel van de gereedschappen die nodig zijn om andere software te bouwen, worden door Debian als Debian-pakketten ter beschikking gesteld.

Uitzoeken welke software exact nodig is, kan evenwel moeilijk zijn, tenzij u van plan bent Debian-pakketten opnieuw te bouwen. Dit laatste is een eerder gemakkelijke taak, vermits officiële pakketten een lijst moeten bevatten van de extra software (behalve de pakketten in `build-essential`) die nodig is om het pakket te bouwen en welke bekend staat als de `Build-Dependencies`. Om alle pakketten te installeren die nodig zijn om een bepaald bronpakket te bouwen en vervolgens dat pakket te bouwen, voert u gewoon de volgende opdrachten uit:

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

Merk op dat wanneer u de Linux-kernels die door Debian verdeeld worden, wilt bouwen, u ook het pakket `kernel-package` moet installeren. Raadpleeg voor bijkomende informatie Paragraaf 10.2, “Welke gereedschappen stelt Debian ter beschikking om een aangepaste kernel te bouwen?”.

## 5.5. Wat ontbreekt in Debian GNU/Linux?

Er bestaat een lijst van pakketten die nog voor Debian verpakt moeten worden, de Work-Needing and Prospective Packages list.

Raadpleeg Hoofdstuk 13, Bijdragen aan het project van Debian voor bijkomende informatie over het toevoegen van ontbrekende zaken.

## 5.6. Waarom krijg ik bij het compileren van programma's meldingen zoals "ld: cannot find -lfoo"? Waarom bevatten bibliotheekpakketten in Debian geen libfoo.so-bestanden?

De beleidsrichtlijn van Debian vereist dat dergelijke symbolische koppelingen (naar libfoo.so.x.y.z of iets dergelijks) in aparte ontwikkelingspakketten geplaatst worden. Deze pakketten heten gewoonlijk libfoo-dev of libfooX-dev (in de veronderstelling dat het bibliotheekpakket libfooX heet en X een geheel getal is).

## 5.7. (Hoe) ondersteunt Debian Java?

Verschillende vrije implementaties van Java-technologie zijn als Debian-pakketten beschikbaar, met daarbij zowel Java Development Kits als Runtime Environments. Met Debian kunt u Java-programma's schrijven, debuggen en uitvoeren.

Het uitvoeren van een Java-applet vereist een webbrowser die in staat is het te herkennen en uit te voeren. Verschillende web-browsers in Debian, zoals Mozilla en Konqueror, ondersteunen Java plug-ins die het uitvoeren van Java-applets mogelijk maken.

Raadpleeg de Debian Java FAQ voor bijkomende informatie.

## 5.8. Hoe kan ik nagaan dat ik een Debian-systeem gebruik en welke versie het is?

Om er zeker van te zijn dat uw systeem geïnstalleerd werd met behulp van de echte basisschijven van Debian, gebruikt u het commando

    lsb_release -a

Dat zal de naam van de distributie weergeven (in het veld Distributor ID) en de versie van het systeem (in de velden Release en Codename). In het hiernavolgende voorbeeld wordt het commando op een Debian-systeem uitgevoerd:

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

U kunt ook nagaan of het bestand `/etc/debian_version` bestaat. Het bevat één enkele regel met het versienummer van de release, zoals gedefinieerd door het pakket `base-files`.

Gebruikers moeten echter weten dat het Debian-systeem uit verschillende onderdelen bestaat en dat elk ervan (bijna) onafhankelijk opgewaardeerd kan worden. Elke "release" van Debian heeft een duidelijk omschreven en onveranderlijke inhoud. Updates zijn afzonderlijk beschikbaar. Een beschrijving op één enkele regel van de installatietoestand van een pakket `foo`, krijgt u met het commando `dpkg --list foo`. Gebruik voor een meer uitgebreide beschrijving:

    dpkg --status foo

Om de versienummers van alle geïnstalleerde pakketten te zien, geeft u het commando:

    dpkg -l

Merk op at het bestaan van het programma `dpkg` aantoont dat u in staat zou moeten zijn om op uw systeem Debian-pakketten te installeren. Aangezien het programma echter geschikt gemaakt werd voor veel andere besturingssystemen en architecturen, is dit niet langer een betrouwbare methode om uit te maken of een systeem Debian GNU/Linux is.

## 5.9. Hoe ondersteunt Debian andere talen dan het Engels?

- Debian GNU/Linux wordt verdeeld met toetsenbordindelingen voor bijna twee dozijn toetsenborden en met hulpprogramma's (in het pakket `kbd`) om de tabellen te installeren, te bekijken en te wijzigen.

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

- Bijna alle software in Debian ondersteunt de tekenset UTF-8. Vroegere tekensets, zoals ISO-8859-1 en ISO-8859-2, moeten als verouderd beschouwd worden.

- Momenteel wordt ondersteuning geboden voor man-pagina's in het Duits, Spaans, Frans, Hongaars, Italiaans, Japans. Koreaans, Nederlands, Pools, Portugees, Russisch, Turks en Chinees via de pakketten `manpages-TAAl` (waarbij TAAL de uit twee letters bestaande ISO-landcode is). Om een man-pagina in zijn moedertaal te raadplegen, moet de gebruiker de shell-variabele LC_MESSAGES op de gepaste manier instellen.

  Bijvoorbeeld, voor man-pagina's in de Nederlandse taal, moet LC_MESSAGES ingesteld worden op 'Nederlands'. Het programma man zal dan zoeken naar Nederlandse man-pagina's onder `/usr/share/man/nl/`.

## 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. Ik heb een kaart voor draadloos netwerk die in Linux niet werkt. Wat moet ik doen?

Koop er een die wel werkt :)

In het andere geval kunt u `ndiswrapper` gebruiken om een stuurprogramma voor Windows (als u er een heeft) te gebruiken o uw Linux-systeem. Zie de Debian Wiki-pagina over ndiswrapper voor meer informatie.

Hoofdstuk 4. Compatibiliteitskwesties |  | Hoofdstuk 6. De archieven van Debian