{{tag>console terminal shell tutoriel À_RECYCLER}}
----
====== Console : ligne de commande ======
apt-get update && apt-get upgrade
nano /etc/network/interface
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 10.1.2.69
netmask 255.255.255.0
broadcast 255.255.255.255
gateway 193.59.95.20
nano /etc/hostname
webmail.kassianoff.fr
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.10.10 webmail.kassianoff.fr webmail
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
nano /etc/resolv.conf
nameserver 127.0.0.1
apt-get install dnsmasq
nano /etc/dnsmasq.conf
server=213.186.33.99 (DNS)
server=188.165.54.37 (IP public)
domain=kassianoff.fr
mx-host=kassianoff.fr webmail.kassianoff.fr,5
listen-address=127.0.0.1
dig webmail.kassianoff.fr
; <<>> DiG 9.3.6-P1 <<>> webmail.kassianoff.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39592
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;webmail.kassianoff.fr IN A
;; ANSWER SECTION:
webmail.kassianoff.fr. 3564 IN A 192.168.10.10
;; Query time: 2 msec
;; SERVER: 127.10.0.1#53(127.0.0.1)
;; WHEN: Sat Oct 26 18:17:18 2013
;; MSG SIZE rcvd: 52
/etc/init.d/hostname restart && /etc/init.d/networking restart
wget http://files2.zimbra.com/downloads/8.0.5_GA/zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038.tgz
tar xvzf zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038.tgz
cd ./zcs-8.0.5_GA_5839.UBUNTU12_64.20130910124038
./install.sh
.Do you agree with the terms of the software license agreement?[N] Y
Checking for prerequisites...
FOUND: NPTL
FOUND: netcat-openbsd-1.89-4ubuntu1
FOUND: sudo-1.8.3p1-1ubuntu3.4
FOUND: libidn11-1.23-2
FOUND: libpcre3-8.12-4
MISSING: libgmp3c2
FOUND: libexpat1-2.0.1-7.2ubuntu1.1
FOUND: libstdc++6-4.6.3-1ubuntu5
MISSING: libperl5.14
Checking for suggested prerequisites...
MISSING: pax does not appear to be installed.
FOUND: perl-5.14.2
MISSING: sysstat does not appear to be installed.
MISSING: sqlite3 does not appear to be installed.
###WARNING###
The suggested version of one or more packages is not installed.
This could cause problems with the operation of Zimbra.
Do you wish to continue? [N] N
Exit? [N] Y
Exiting.
libgmp3c2, libperl5.14, pax, sysstat, sqlite3
apt-get install libgmp3c2 libperl-dev pax sysstat sqlite3
Checking for prerequisites...
FOUND: NPTL
FOUND: netcat-openbsd-1.89-4ubuntu1
FOUND: sudo-1.8.3p1-1ubuntu3.4
FOUND: libidn11-1.23-2
FOUND: libpcre3-8.12-4
FOUND: libgmp3c2-2:4.3.2+dfsg-2ubuntu1
FOUND: libexpat1-2.0.1-7.2ubuntu1.1
FOUND: libstdc++6-4.6.3-1ubuntu5
FOUND: libperl5.14-5.14.2-6ubuntu2.3
Checking for suggested prerequisites...
FOUND: pax
FOUND: perl-5.14.2
FOUND: sysstat
FOUND: sqlite3
Prerequisite check complete.
Checking for installable packages
Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-memcached
Found zimbra-proxy
Select the packages to install
Install zimbra-ldap [Y]
Install zimbra-logger [Y] Y
Install zimbra-mta [Y] Y
Install zimbra-snmp [Y] y
Install zimbra-store [Y] Y
Install zimbra-apache [Y] Y
Install zimbra-spell [Y] Y
Install zimbra-memcached [N] Y
Install zimbra-proxy [N] Y
Checking required space for zimbra-core
Checking space for zimbra-store
Installing:
zimbra-core
zimbra-ldap
zimbra-logger
zimbra-mta
zimbra-snmp
zimbra-store
zimbra-apache
zimbra-spell
zimbra-memcached
zimbra-proxy
The system will be modified. Continue? [N] Y
Operations logged to /tmp/zmsetup.10272013-111902.log
Installing LDAP configuration database...done.
Setting defaults...No results returned for A lookup of webmail.kassianoff.fr
Checked nameservers:
127.0.0.1
No results returned for AAAA lookup of webmail.kassianoff.fr
Checked nameservers:
127.0.0.1
DNS ERROR resolving webmail.kassianoff.fr
It is suggested that the hostname be resolvable via DNS
Change hostname [Yes] Yes
Please enter the logical hostname for this host [webmail.kassianoff.fr] kassianoff.fr
DNS ERROR resolving MX for webmail.kassianoff.fr
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes] Yes
Create domain: [webmail.kassianoff.fr] kassianoff.fr
MX: webmail.kassianoff.fr (192.168.10.10)
Interface: 192.168.10.10
Interface: 127.0.0.1
Interface: ::1
done.
Checking for port conflicts
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@kassianoff.fr
******* +Admin Password UNSET
+Anti-virus quarantine user: virus-quarantine.sbinw9ef@kassianoff.fr
+Enable automated spam training: yes
+Spam training user: spam.h3fb3jm3zc@kassianoff.fr
+Non-spam(Ham) training user: ham.xrtqg6m4ff@kassianoff.fr
+SMTP host: webmail.kassianoff.fr
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: https
+IMAP server port: 7143
+IMAP server SSL port: 7993
+POP server port: 7110
+POP server SSL port: 7995
+Use spell check server: yes
+Spell server URL: http://webmail.kassianoff.fr:7780/aspell.php
+Enable version update checks: TRUE
+Enable version update notifications: TRUE
+Version update notification email: admin@kassianoff.fr
+Version update source email: admin@kassianoff.fr
4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) zimbra-proxy: Enabled
9) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit
Address unconfigured (**) items (? - help)
Common configuration
1) Hostname: webmail.kassianoff.fr
2) Ldap master host: webmail.kassianoff.fr
3) Ldap port: 389
4) Ldap Admin password: set
5) Secure interprocess communications: yes
6) TimeZone: Africa/Algiers
7) IP Mode: ipv4
8) Default SSL digest: sha1
Select, or 'r' for previous menu [r] 6
78 Europe/Berlin
Ldap configuration
1) Status: Enabled
2) Create Domain: yes
3) Domain to create: kassianoff.fr
4) Ldap root password: set
5) Ldap replication password: set
6) Ldap postfix password: set
7) Ldap amavis password: set
8) Ldap nginx password: set
9) Ldap Bes Searcher password: set
Select, or 'r' for previous menu [r]
Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@kassianoff.fr
** 4) Admin Password UNSET
5) Anti-virus quarantine user: virus-quarantine.sbinw9ef@kassianoff.fr
6) Enable automated spam training: yes
7) Spam training user: spam.h3fb3jm3zc@kassianoff.fr
8) Non-spam(Ham) training user: ham.xrtqg6m4ff@kassianoff.fr
9) SMTP host: webmail.kassianoff.fr
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: https
13) IMAP server port: 7143
14) IMAP server SSL port: 7993
15) POP server port: 7110
16) POP server SSL port: 7995
17) Use spell check server: yes
18) Spell server URL: http://webmail.kassianoff.fr:7780/aspell.php
19) Enable version update checks: TRUE
20) Enable version update notifications: TRUE
21) Version update notification email: admin@kassianoff.fr
22) Version update source email: admin@kassianoff.fr
Mta configuration
1) Status: Enabled
2) MTA Auth host: webmail.kassianoff.fr
3) Enable Spamassassin: yes
4) Enable Clam AV: yes
5) Enable OpenDKIM: yes
6) Notification address for AV alerts: admin@kassianoff.fr
7) Bind password for postfix ldap user: set
8) Bind password for amavis ldap user: set
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
Proxy configuration
1) Status: Enabled
2) Enable POP/IMAP Proxy: TRUE
3) IMAP proxy port: 143
4) IMAP SSL proxy port: 993
5) POP proxy port: 110
6) POP SSL proxy port: 995
7) Bind password for nginx ldap user: set
8) Enable HTTP[S] Proxy: FALSE
*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help) a
Save configuration data to a file? [Yes] Yes
Save config in file: [/opt/zimbra/config.21039]
Saving config in /opt/zimbra/config.21039...done.
The system will be modified - continue? [No] Yes
Operations logged to /tmp/zmsetup.10272013-113242.log
Setting local config values...
Finished installing common zimlets.
Restarting mailboxd...done.
Creating galsync account for default domain...done.
You have the option of notifying Zimbra of your installation.
This helps us to track the uptake of the Zimbra Collaboration Server.
The only information that will be transmitted is:
The VERSION of zcs installed (8.0.5_GA_5839_UBUNTU12_64)
The ADMIN EMAIL ADDRESS created (admin@kassianoff.fr)
Notify Zimbra of your installation? [Yes] Yes
Notifying Zimbra of installation via http://www.zimbra.com/cgi-bin/notify.cgi?VER=8.0.5_GA_5839_UBUNTU12_64&MAIL=admin@kassianoff.fr
Notification complete
Setting up zimbra crontab...done.
Moving /tmp/zmsetup.10272013-113242.log to /opt/zimbra/log
Configuration complete - press return to exit
===== Introduction =====
Ce //How To// est fait pour les débutants qui ne connaissent pas **GNU/Linux** et n'a pas la prétention de faire de vous des champions de la console. La distribution Ubuntu vise à simplifier l'utilisation d'une plate-forme Debian en limitant l'usage des commandes dans un terminal (//shell//) lors de l'utilisation de base de votre ordinateur au quotidien. Ainsi Ubuntu est ici pour vous aider dans vos taches les plus complexes et en toute sécurité.
Cette page vient en complément de la page "[[:tutoriel:console_commandes_de_base|Les commandes de base en console]]" dans laquelle vous trouverez une liste des commandes importantes avec un rappel des options les plus fréquentes.
Vous trouverez aussi une liste des commandes classées par catégories sur la page "[[:commande_shell|Commandes et lignes de commandes]]"
==== Convention ====
* Cette page vous donnera des commandes GNU/Linux basiques à utiliser dans un shell (terminal).
* Tous les noms de commande seront en **GRAS**
* Les commandes devront être tapées en respectant **la casse** selon l'exemple encadré.
* Pour un complément d'information, lisez le **man** de chaque commande.
**auto-complétion** : après avoir tapé 2 ou 3 caractères, il est possible d'appuyer sur la touche //tab// qui permet d'ajouter la suite de la commande, du nom du répertoire ou du fichier. Cela évite les erreurs de frappe et est très appréciable pour éviter de saisir le nom de fichier parfois long et complexe comme le nom de certain paquet. Peut-être utilisé plusieurs fois si plusieurs noms ont une partie commune. Attention, c'est sensible à la casse !
===== Commandes basiques=====
Certains utilitaires sont mieux documentés en tant que texte info. par exemple essayez
info man
On peut également avoir une aide rapide sur la plupart des commandes par l'option **''--help''** (ou parfois **''-h''**)
man --help
man -h
==== ls ====
La commande **ls** liste les fichiers et les sous-dossiers. (**ls** = **l**i**s**t)
ls ### ceci vous donnera la liste de vos fichiers et dossiers.
Pour obtenir plus d'information, utilisez l'option **-l** (pour version **l**ongue) :
ls -l
Pour afficher aussi les fichiers "cachés" (en fait ceux qui commencent par un point)
utilisez l'option **-A** (pour **A**ll) :
ls -A
On peut bien sûr mélanger les deux options :
ls -Al ### Vous affichera tous les fichiers, même cachés, avec
les détails
Les options d'une commande sont sensibles à la casse. Ainsi, ls -a, qui affiche les "dossiers" . et .., n'est pas identique à ls -A, qui lui n'affiche pas . et .. (c'est à dire, "dossier actuel" et "dossier parent").
==== cd ====
La commande **cd** vous permet de changer de répertoire (cd = change directory). Quand vous ouvrez un //terminal// en mode utilisateur vous êtes dans votre répertoire local (/home/utilisateur).\\
Dans un système linux la référence au fichier s'appelle un chemin. Dans un chemin le nom des répertoires et des fichiers sont séparés par un "/".
Il existe deux types de chemin : absolu et relatif.\\
Le chemin absolu se base sur la racine de l'arborescence et commence par "/" : ex : /home/utilisateur//.
cd /home/utilisateur/dossier ### vous déplacera à votre répertoire (/home/utilisateur/dossier)
Le symbole "~" peut remplacer le chemin absolu vers votre répertoire personnel soit "/home/utilisateur/".
cd ~/Desktop ### vous déplace vers votre répertoire de //bureau// (/home/utilisateur/Desktop)
cd ./Bureau ### vous déplace vers votre répertoire de //bureau// (/home/utilisateur/Bureau)
Le chemin relatif dépend du répertoire courant où se trouve l'utilisateur
Pour se déplacer dans un dossier de l'emplacement courant (par défaut home/utilisateur) vous employez **cd** suivi du nom du dossier : cd . Si vous doutez du nom du dossier, tapez le début de son nom puis appuyez sur la touche Tabulation (attention à la casse). Exemple pour se rendre dans le bureau (Desktop) :
cd Desktop
Si vous êtes déjà dans le répertoire ~/Desktop$ pour aller dans un des dossiers qu'il contient :
~/Desktop$ cd
Contrairement à la version Windows la commande **cd** utilisée seule ramène au répertoire par défaut de l'utilisateur (ou du root).
cd
Pour afficher le répertoire courant, il faut utiliser **pwd** (voir plus bas).
Pour "remonter" d'un répertoire (aller à son parent) on utilise la commande "cd .." (n'oubliez pas l'espace, surtout si vous venez de Windows)
cd .. ### vous remontera d'un dossier
==== id ====
La commande **id** affiche les informations utilisateur et de groupe pour un utilisateur spécifié, ou si aucun utilisateur n'est spécifié, elle affiche les informations sur l'utilisateur courant
id ubuntu-user
uid=1001(ubuntu-user) gid=1001(ubuntu-user) groupes=1001(ubuntu-user),29(audio)
==== mkdir ====
La commande **mkdir** vous permet de créer des répertoires. (mkdir = make directory) Exemple :
mkdir musique ### crée un répertoire musique ou pas
man mkdir ### pour avoir les options de mkdir
==== pwd ====
La commande **pwd** vous permet de savoir dans quel répertoire de l'arborescence vous êtes localisé. (pwd = present working directory) Exemple :
pwd ### suivant nos exemples ci-dessus nous sommes dans ~/Desktop ou /home/utilisateur/Desktop
==== mv ====
La commande **mv** sert à déplacer un dossier (ou fichier) à un endroit différent ou à le renommer. (mv = move) Exemples :
mv bonjour bonsoir ### pour renommer le fichier/répertoire "bonjour" en "bonsoir"
mv bonsoir ~/Desktop ### déplace le fichier "bonsoir" du répertoire courant vers le répertoire ~/Desktop sans le renommer
mv bonsoir ~/Desktop/bonnenuit ###déplace le fichier "bonsoir" du répertoire courant vers le répertoire ~/Desktop et le renomme en
bonnenuit (bien sûr bonnenuit n'existait pas dans le répertoire ~/Desktop sinon le système vous
demandera la confirmation pour écraser l'ancien fichier)
man mv ### pour avoir les options de mv
==== cp ====
La commande **cp** fait une copie d'un fichier ou répertoire. (cp = copy) Exemple :
cp bonjour bonsoir fait une copie exacte du fichier "bonjour" et l'appelle "bonsoir", mais le fichier "bonjour" est toujours là.
Quand vous employez "mv" le fichier source n'existe plus, alors que quand vous utiliserez "cp" le fichier
se dédouble sans être supprimé.
man cp ### pour avoir les options de cp
==== less ====
La commande **less** permet d'afficher le contenu d'un fichier directement dans le terminal. Exemple :
less /etc/apt/sources.list ###affiche par exemple le contenu de votre fichier sources pour apt
.....
deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-security main restricted
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
.....
man less ### pour avoir les options de less
Bien sûr il en existe beaucoup d'autres (cat, nano, vi...) et la syntaxe est la même mais les fonctionnalités sont bien différentes. Dans tous les cas informez-vous avec la commande man ou sur [[https://duckduckgo.com]].
il y a aussi la commande cat
==== rm ====
Remarque : cette commande ne demande jamais autorisation.
La commande **rm** permet de supprimer un fichier ou répertoire. (rm = remove)
Attention cette commande est irréversible donc soyez vigilant quand vous l'utilisez.
Cette commande peut se révéler [[:commandes_dangereuses|dangereuse]]
Exemple :
rm nom_fichier ### supprime le fichier nom_fichier du répertoire courant
rm /home/documents/nom_fichier ### supprime le fichier nom_fichier du répertoire /home/documents
rm -rf lenomdudossier ### supprime le dossier lenomdudossier du répertoire courant
__**ATTENTION**__
Si vous tapez :
rm / home/documents/nom_fichier ###il y a un espace entre / et home/documents/nom_fichier donc le système commence par
faire un rm / puis fait un rm home/documents/nom_fichier
Bien sûr, le rm / efface complètement votre système de fichiers donc attention aux espaces
qui se glissent dans la frappe quand vous utilisez la commande "rm".
man rm ### pour avoir les options de "rm"
==== chown ====
La commande **chown** permet de changer le propriétaire d'un fichier ou répertoire (chown = change owner). Seul le propriétaire du fichier (ou root) peut faire cette manipulation.
Exemple :
chown utilisateur2 /home/utilisateur/doc.txt ### "utilisateur2" devient propriétaire du fichier doc.txt
man chown ### pour avoir les options de "chown"
[[:permissions|... plus d'informations sur la gestion des droits d'accès sous Linux]]
==== chmod ====
La commande **chmod** permet de modifier les droits d'accès sur les fichiers ou répertoires. Seul le propriétaire des fichiers ou répertoires (ou root) peut faire cette manipulation.
Il existe 2 méthodes : symbolique ou octale.
__**Méthode symbolique**__
**chmod ugoa|+/-/=|rwxugo fichier**
Les paramètres de chmod se décomposent là en trois parties :
* la 1ère indique à qui s'applique la modification des droits d'accès :
* u pour l'utilisateur, le propriétaire du fichier (u pour //user//)
* g pour le groupe (g pour //group//)
* o pour le reste du monde (o pour //others//)
* a pour tous (a pour //all//)
* la 2ème est un caractère +, - ou = :
* + signifie l'ajout de nouveaux droits d'accès
* - signifie la suppression de droits d'accès
* = signifie l'autorisation exclusive des droits d'accès spécifiés
* la 3ème indique le(s) droit(s) concerné(s) :
* r pour lecture (r pour Read)
* w pour écriture (w pour Write)
* x pour exécution (x pour eXecute)
* u,g,o pour reprendre les droits du propriétaire,groupe,autres utilisateurs
Quelques précisions valables dans le cas d'un répertoire :
* r signifie lecture totale du répertoire (la commande ls liste ainsi par exemple tous les fichiers contenus dans le répertoire). Mais en l'absence de ce droit, il est toujours possible de lire un fichier contenu dans ce répertoire (en connaissant son chemin).
* x signifie droit d'ouverture du répertoire. Pour empêcher la "traversée" d'un répertoire, c'est ce droit qu'il faut enlever.
Exemples :
chmod g+r fichier ### permet au groupe de lire le Fichier
chmod u+rw,go+r fichier ### permet à l'utilisateur de lire et écrire le fichier, et aux autres de le lire
chmod g=u fichier ### permet de donner au groupe les mêmes droits que l'utilisateur
__**Méthode octale**__
**chmod XXX fichier**, où XXX = Utilisateur | Groupe | Autres (X représente un entier compris entre 1 et 7)
Valeur du chiffre X :
* 0 : aucun droit en lecture, écriture, exécution
* 1 : droit d'exécution
* 2 : droit d'écriture
* 4 : droit de lecture
On peut cumuler différents droits : X = 7 (soit 1+2+4) signifie donc que l'on donne tous les droits sur le fichier.
en résumé X = Lecture (4) + Écriture (2) + Exécution (1)
* Le 1er chiffre X spécifie les droits pour //le propriétaire// du fichier.
* Le 2ème chiffre X spécifie les droits pour //le groupe propriétaire// du fichier.
* Le 3ème chiffre X spécifie les droits pour //tous les autres utilisateurs// sur le fichier.
Ainsi, chmod 777 fichier donne tous les droits à tout le monde.
Un calculateur de chmod est disponible sur [[http://pages.infinit.net/glopglop/local/chmod.htm]]
Exemple :
chmod -c 644 /home/utilisateur/texte.txt ### modifie les droits en rw-r--r-- pour le fichier texte.txt c'est à dire que seul le
propriétaire peut écrire et les autres seulement lire
man chmod ### pour avoir toutes les options sur "chmod"
[[:permissions|... plus d'informations sur la gestion des droits d'accès sous Linux]]
==== apt-get ====
La commande **[[:apt-get]]** permet de gérer les paquets Debian de votre Ubuntu. Exemple :
sudo apt-get update ### permet de mettre à jour la liste des paquets disponibles, commande à taper en premier
avant toute installation pour être sûr d'avoir les mises à jour.
sudo apt-get upgrade ### permet de mettre à jour les paquets déjà installés, à taper pour faire les mises à
jour de sécurité.
sudo apt-get install soft ### Installe le logiciel "soft" en gérant les dépendances, donc "apt" vous
demande peut être d'installer d'autres paquets en complément.
sudo apt-get remove soft ### désinstalle le paquet "soft".
sudo apt-get autoremove soft ### désinstalle "proprement" le paquet "soft" ainsi que ses dépendances
man apt-get ### pour avoir les options de "apt-get".
==== apt-cache search ====
apt-cache search supersoft ### 10.1.2.69.
pipop