Tasksel permet d'installer un ensemble de logiciels regroupés par tâches : serveur web, serveur de fichiers, ordinateur portable… Pendant l'installation de Debian, c'est lui qui est appellé au moment du choix des logiciels à installer.
Tasksel n'installe pas lui-même de logiciels, il fournit simplement une liste de paquets à aptitude.
Tout se passe en ligne de commandes avec les privilèges administrateurs.
La commande
tasksel
lance une interface ncurses2) permettant d'installer facilement les tâches disponibles. On s'y déplace à l'aide du clavier : flèches Haut et Bas pour la navigation entre les tâches, Espace pour en sélectionner ou désélectionner une, Tab pour aller sur OK et Entrée pour confirmer.
Sous Debian, les tâches disponibles sont les suivantes :
La dernière lance l'interface ncurse d'Aptitude.
On peut aussi installer ou désinstaller une tâche directement en ligne de commande :
tasksel install nom_tache
tasksel remove nom_tache
Tasksel fournit d'autres options souvent utiles, notamment pour connaître les paquets contenus dans les tâches.
La commande suivante permet de récupérer la liste des tâches disponibles :
tasksel --list-tasks
Ce qui donne :
u desktop Desktop environment i web-server Web server u print-server Print server u dns-server DNS server u file-server File server u mail-server Mail server u database-server SQL database u laptop Laptop u manual manual package selection
Nous avons donc, dans l'ordre :
Il est maintenant simple de récupérer la liste des paquets contenus dans une tâche, à l'aide de son nom obtenu grâce à la commande précédente :
tasksel --task-packages nom_tache
On récupère de même sa description complète :
tasksel --task-desc nom_tache
Et comme j'aime bien faire dans l'exhaustif, voici la liste complète des tâches disponibles sous Debian, avec leur contenu et leur description.
Cette tâche fournit les logiciels de base pour un environnement de bureau et sert de base pour les tâches d'installation des environnements GNOME et KDE.
gimp-print twm eject foomatic-filters-ppds openoffice.org xserver-xorg-video-all cups-client openoffice.org-help-en-us hp-ppd avahi-daemon openoffice.org-thesaurus-en-us cpufrequtils myspell-en-us vbetool xdg-utils pm-utils cups cups-bsd xorg iceweasel xserver-xorg-input-all hplip desktop-base alsa-base swfdec-mozilla libnss-mdns xterm anacron alsa-utils cups-driver-gutenprint foo2zjs hpijs printconf menu kerneloops openoffice.org-gcj libgl1-mesa-dri
Cette tâche choisit les paquets utiles pour un serveur web générique.
apache2-doc libapache2-mod-python libapache2-mod-php5 libapache2-mod-perl2 apache2-mpm-prefork analog
Cette tâche configure votre système pour être un serveur d'impression.
printconf openprinting-ppds hpijs foomatic-filters-ppds hplip cups-client hp-ppd cups cups-bsd cups-driver-gutenprint foo2zjs
Choisit le serveur DNS BIND, ainsi que la documentation associée et quelques utilitaires.
dlint dnsutils lwresd bind9-doc bind9
Cette tâche configure votre système en serveur de fichiers, aussi bien pour CIFS que NFS.
smbfs netatalk smbclient swat samba-doc winbind nfs-kernel-server samba smartmontools
Cette tâche choisit un ensemble de paquets utiles pour un serveur de courrier générique.
procmail qpopper spamassassin exim4 sa-exim mailagent exim4-daemon-light mutt mailx exim4-config uw-imapd
Cette tâche choisit un ensemble de paquets client et serveur pour la base de données PostgreSQL.
postgresql postgresql-doc postgresql-contrib postgresql-client
Cette tâche installe des logiciels utiles pour les ordinateurs portables.
acpi-support hibernate acpi powertop apmd radeontool anacron wireless-tools cpufrequtils wpasupplicant vbetool acpid pcmciautils pm-utils bluetooth avahi-autoipd
Il existe une tâche supplémentaire appelée “Système standard”, qui n'est disponible qu'au choix des logiciels pendant l'installation de Debian. Que contient-elle ?
tasksel --task-packages standard
~pstandard ~prequired ~pimportant
Cette tâche est en fait l'équivalent de cette commande :
aptitude search ~pstandard ~prequired ~pimportant -F%p
et renvoie la liste de paquets suivante :
adduser apt apt-utils aptitude at base-files base-passwd bash bash-completion bc bind9-host bsd-mailx bsdmainutils bsdutils coreutils cpio cron dc debconf debconf-i18n debian-archive-keyring debian-backports-keyring debian-faq deb-multimedia-keyring debianutils dhcp3-client dhcp3-common dictionaries-common diff dmidecode dnsutils doc-debian doc-linux-text dpkg dselect e2fslibs e2fsprogs ed exim4 exim4-base exim4-config exim4-daemon-light file findutils finger ftp gcc-4.1-base gcc-4.2-base gcc-4.3-base gettext-base gnupg gpgv grep groff-base gzip hostname iamerican ibritish ifupdown info initscripts iproute iptables iputils-ping ispell klogd laptop-detect less libacl1 libattr1 libbind9-0 libbind9-40 libblkid1 libbz2-1.0 libc6 libc6-i386 libcap2 libcomerr2 libconsole libcwidget3 libdb4.2 libdb4.3 libdb4.4 libdb4.5 libdb4.6 libdevmapper1.02 libdevmapper1.02.1 libdns22 libdns45 libedit2 libept0 libevent1 libgc1c2 libgcc1 libgcrypt11 libgdbm3 libgnutls13 libgnutls26 libgpg-error0 libgpm2 libgpmg1 libgssglue1 libidn11 libisc11 libisc45 libisccc40 libisccfg40 libkeyutils1 libkrb53 libldap-2.4-2 libldap2 liblocale-gettext-perl liblockfile1 liblwres40 liblwres9 liblzo1 libmagic1 libncurses5 libncursesw5 libnewt0.52 libnfsidmap2 libopencdk8 libpam-modules libpam-runtime libpam0g libpci3 libpcre3 libpopt0 libreadline5 librpcsecgss3 libsasl2 libsasl2-2 libselinux1 libsemanage1 libsepol1 libsigc++-2.0-0c2a libslang2 libsqlite3-0 libss2 libssl0.9.8 libstdc++6 libtasn1-3 libtasn1-3-bin libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libusb-0.1-4 libuuid1 libwrap0 libxapian15 libxml2 locales login logrotate lsb-base lsof lzma m4 mailx makedev man-db manpages mawk mime-support mktemp mlocate module-init-tools mount mpack mtools mtr-tiny mutt nano ncurses-base ncurses-bin ncurses-term net-tools netbase netcat netcat-traditional nfs-common openbsd-inetd openssh-client passwd patch pciutils perl perl-base perl-modules pidentd policycoreutils portmap procmail procps python python-central python-minimal python-newt python-selinux python-semanage python-support python2.5 python2.5-minimal readline-common reportbug rsyslog sed selinux-policy-refpolicy-targeted sharutils strace sysklogd sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tcpd telnet texinfo time traceroute tzdata ucf update-inetd util-linux vim-common vim-tiny w3m wamerican wget whiptail whois zlib1g