post_install_sid.sh: Write "Admin tools for cli" doc.

This commit is contained in:
gardouille 2015-11-12 15:33:29 +01:00
parent f6a884885f
commit 21d3c3eb36
2 changed files with 109 additions and 157 deletions

View File

@ -7,6 +7,7 @@
* [Graphic Environment](#graphic-environment)
* [Gnome tools](#gnome-tools)
* [Dev tools](#dev-tools)
* [Admin tools for cli](#admin-tools-for-cli)
* [System tools for shell](#system-tools-for-shell)
* [Network share](#network-share)
* [Internet tools for shell](#internet-tools-for-shell)
@ -108,6 +109,83 @@ sudo post_install_sid.sh
* g++: GNU C++ compiler.
* make: Utility for directing compilation.
#### Admin tools for cli
##### Pre-Configuration
* Load hddtemp pre-seed file.
##### Add
* acpitool: Command line ACPI client for laptop users (apm replacement).
* alien: Convert and install rpm and other packages.
* apt-file: Search tool for files within Debian packages.
* apt-listbugs: Tool which lists critical bugs before each APT installation.
* List all pending bugs of a package:
```sh
apt-listbugs -s all -S pending list PKG_NAME
```
* apt-rdepends: Recursively lists package dependencies.
* List the dependencies of a package:
```sh
apt-rdepends vim-tiny
```
* List packages that depend of a package:
```sh
apt-rdepends -r vim-nox
```
* Get a graph of dependencies:
```sh
apt-rdepends -d iceweasel|dot -Tsvg > iceweaseldep.svg
```
* apt-show-source: Shouws source-package information.
* apt-show-versions: Lists available package versions with version.
* dctrl-tools: Tools to process Debian package information.
* debian-goodies: Small toolbox-style utilities for Debian systems.
* Show which installed packages occupy the most place:
```sh
dpigs
```
* git: Fast, scalable and distributed revision control system (cvs).
* git-svn: Git extension for SVN interoperability.
* gpm: General Purpose Mouse interface.
* e.g: Allows mouse in tty.
* hddtemp: Hard drive temperature monitoring utility.
* htop: Interactive processes viewer.
* ifscheme: Scheme control for network interfaces.
* Useful to manage multiple WLAN networks.
* mlocate: Quickly find files on the filesystem based on their name.
* lsof: Utility to list open files.
* mercurial: Easy-to-use, scalable distributed version control system (cvs).
* module-assistant: Tool to make module package creation easier.
* ncdu: Ncurses disk usage viewer.
* netdiscover: Active/passive network address scanner using ARP requests.
* netselect-apt: Speed tester for choosing a fast Debian mirror.
* nmap: The Network Mapper.
* ntp: Network Time Protocol daemon and utility programs.
* parted: Disk partition manipulator.
* pastebinit: Command-line pastebin client.
* Send the command result to a pastebinit:
```sh
ls -al /dev | pastebinit -
pastebinit - < <(ls -al /dev)
```
* rsyslog: Reliable system and kernel logging daemon.
* sysv-rc-conf: SysV init runlevel configuration tool for the terminal.
* sudo: Provide limited super user privileges to specific users.
* tcpdump: Command-line network traffic analyzer.
* tree: Displays an indented directory tree,in color.
##### Post-Configuration
* apt-file: Synchronize the package contents from their sources.
* Grub: Add the possibility to set the GRUB_TIMEOUT
* mlocate: Update the mlocate database.
* Modprobe:
* Disable the annoying console beeps
* Ensure to disable dangerous modules such as firewire, thunderbolt, …
* NTP:
* Set a better NTP server (strate 1) for french computer.
* Restart the NTP service.
* Rsyslog: Display rsyslog in tty9.
* Sudo: Add default user to the sudo group
#### System tools for shell
@ -122,11 +200,6 @@ allow-hotplug enp0s25
iface enp0s25 inet dhcp
post-up openvpn /etc/openvpn/XYZ_tunnel.conf
```
* Modprobe
* Disable the annoying console beeps
* Ensure to disable dangerous modules such as firewire, thunderbolt, …
* Grub
* Add the possibility to set the GRUB_TIMEOUT
#### Network share

View File

@ -604,144 +604,52 @@ aptins "Dev tools" build-essential binutils cpp debconf-utils gcc g++ make
###########################################################
## Outils d'administration (ligne de commande)
## Liste: acpitool - alien - apt-file - apt-listbugs - apt-rdepends - apt-show-source - apt-show-versions - dctrl-tools - debian-goodies - git - git-svn - gpm - hddtemp - htop - ifscheme - mlocate - lsof - mercurial - module-assistant - ncdu - netdiscover - netselect-apt - nmap - ntp - parted - pastebinit - tcpdump - tree - sysv-rc-conf
###########################################################
###### Pré-configuration
#### Admin tools for cli
##### Pre-configuration
preconfig hddtemp
###### Installation
aptins "Outils d'administration (ligne de commande)" acpitool alien apt-file apt-listbugs apt-rdepends apt-show-source apt-show-versions dctrl-tools debian-goodies dnsutils git git-svn gpm hddtemp htop ifscheme mlocate mercurial module-assistant ncdu netdiscover netselect-apt nmap ntp parted pastebinit tcpdump tree sysv-rc-conf
##### Installation
aptins "Admin tools for cli" acpitool alien apt-file apt-listbugs apt-rdepends apt-show-source apt-show-versions dctrl-tools debian-goodies dnsutils git git-svn gpm hddtemp htop ifscheme mlocate mercurial module-assistant ncdu netdiscover netselect-apt nmap ntp parted pastebinit rsyslog sudo sysv-rc-conf tcpdump tree
###### Post-configuration
## Mise à jour de la base de données de apt-file
##### Post-configuration
###### apt-file: Synchronize the package contents from their sources.
apt-file update
## Mise à jour de l'index des fichiers/répertoires
###### Grub: Modify the default grub timeout
if [ ! "$(grep "GRUB_TIMEOUT=${grub_timeout}" /etc/default/grub)" ]; then
sed -i "s/^GRUB_TIMEOUT.*/GRUB_TIMEOUT=${grub_timeout}/" /etc/default/grub
update-grub
fi
###### Mlocate: Update the mlocate database
updatedb
## NTP
###### Modprobe: Ensure to disable system beep/buzzer
cp ${script_path}/modprobe.d/blacklist-beep.conf /etc/modprobe.d/
# Ensure to blacklist dangerous modules (firewire, thunderbolt, …)
cp ${script_path}/modprobe.d/blacklist-dma.conf /etc/modprobe.d/
###### Ntp: Set a better NTP server (strate 1) for french computer.
# On commente les serveurs ntp définis par défaut
sed -i "s/^server/#server/g" /etc/ntp.conf
# Ajout du serveur qui sera utilisé (strate 1 fr)
cat >> /etc/ntp.conf << EOF
# Serveur de strate 1 fourni par l'observatoire astronomique de Paris (obspm)
# http://syrte.obspm.fr/informatique/ntp_infos.php
server ntp-p1.obspm.fr
EOF
# On redémarre le service ntp pour appliquer les changements
# Restart NTP service to apply the new server
systemctl restart ntp
###### Information pour l'utilisateur final
cat >> "${INFORMATION}" << EOF
======Instructions Outils d'administration (ligne de commande) ======
Voici la liste des paquets installés :
+acpitool : pour obtenir la configuration ACPI
+alien : Convertisseur de paquet {.rpm,.slp,.pkg,.tgz} -> .deb
--Conversion en .deb :
# alien -d paquet.ext
--Installation directement un paquet :
# alien -i paquet.ext
+apt-file : permet de trouver de quel paquet provient un programme.
-- Mise à jour de la base de données:
# apt-file update
-- Rechercher la provenance d'un programme:
# apt-file search /usr/bin/ntfs-3g | most
+apt-listbugs : Liste les bugs critiques listés sur bugs.debian.org à propos des paquets
# apt-listbugs -s all -S pending list NOM_DU_PAQUET
+apt-rdepends : Énumère de manière récursive toutes les dépendances d'un paquet
--Dépendances d'un paquet :
# apt-rdepends vim-tiny
--Liste des paquets dont dépend un autre paquet :
# apt-rdepends -r liblayout-java
--Sortir un graphe des dépendances :
# apt-rdepends -d iceweasel|dot -Tsvg > iceweaseldep.svg
+apt-show-source : Afficher les informations des paquets source
+apt-show-versions : Donne la version installée du paquet passé en paramètre
-- version ls
-- "version" est un alias vers apt-show-versions
+dctrl-tools: procure le programme "grep-status" qui permet (entre autre) de lister les fichiers de configurations inutiles (programme supprimé mais pas les fichiers de config):
# grep-status -n -sPackage -FStatus config-files
+debian-goodies : fournis un ensemble de programmes utiles
-- checkrestart : permet de déterminer les services à redémarrer après une maj par exemple
-- dpigs : liste les paquets qui prennent le plus de place
+dnsutils : fournis divers clients liés au dns:
-- dig : Interroge le DNS de différentes manières
-- nslookup : ancienne manière de procéder
-- ...
+git : Système de gestion de version
+git-svn : Ajoute la possibilité de gérer des dépôts SVN avec Git.
+gpm : permet d'avoir le curseur de la souris dans les consoles tty
+hddtemp : pour obtenir la température des disques dur.
# hddtemp /dev/sda
--Une interface web est également disponible: 127.0.0.1:7634
+htop : gestionnaire de processus (top) interactif
+ifscheme : Gestion simplifiée de plusieurs profiles réseaux (pratique notamment pour le wifi).
+mlocate : permet de rechercher rapidement un fichier à partir de la base de données de tous les fichiers.
--Pour mettre à jour la base de données :
# updatedb
--Pour rechercher :
# locate toto.sh
+lsof : Permet de lister les fichiers ouverts, mais également des informations sur les processus utilisants tel ou tel répertoire
--Lister les processus utilisant un répertoire:
lsof /media/data
--Également utiliser pour déterminer si un descripteur de fichier (redirection de sortie de ce script) est ouvert:
--- la sortie standart (0) ici:
lsof -a -p $$ -d0 | grep 0
+mercurial : Gestionnaire de version
+module-assistant : Permet de créer facilement des modules pour le système
+ncdu : interface rapide et facile pour l'utilitaire du
+netdiscover : Scanner réseau. Exemple d'utilisation:
# netdiscover -r 192.168.1.0/24 -P
+netselect-apt : Trouve les dépôts les plus rapide pour une release
--Utilisation (Remplacer <release> par stable, testing, unstable, experiment, woody, sarge ou sid)
# netselect-apt -n <release>
+nmap : utilitaire d'exploration de réseau et d'audit sécurité
+ntp : Démon de protocole de temps réseau pour maintenir à système à l'heure
+parted : Éditeur de partitions en ligne de commande
+pastebinit : Envoie le résultat d'une commande directement sur une page dédiée
--Exemple :
ls -al /dev | pastebinit -
--Ou encore :
pastebinit - < <(ls -al /dev)
+tcpdump : pour écouter tout ce qui se passe sur une interface réseau
+tree : Affiche une arborescence indentée du répertoire
+sysv-rc-conf : Terminal GUI qui permet de choisir les logiciels qui démarrent sur les différents runlevel
EOF
###### Rsyslog: Enable Rsyslog in tty9
sed -i '/#daemon,mail.\*;/{:label;/^$/q;s/^#//;n;s/^#//;t label;}' /etc/rsyslog.conf
sed -i 's/tty8/tty9/' /etc/rsyslog.conf
###### Sudo: Add default user to sudo group
if [ ! "$(grep "^sudo:x:27:.*${new_username}" /etc/group)" ]; then
adduser ${new_username} sudo
fi
###########################################################
###########################################################
## Outils de sécurité
@ -832,7 +740,7 @@ EOF
###########################################################
## System tools for shell
# Liste: backuppc - bsdmainutils - colordiff - cpio - ethtool - exuberant-ctags - iperf - genisoimage - knockd - lzip - moreutils - multitail - mr - ntfs-3g - openvpn - pmount - rsyslog - screen - sudo - tmux - unrar - unzip - urlview - vim-nox - vim-doc - vim-scripts - vlock - wakeonlan - zsh - zip
# Liste: backuppc - bsdmainutils - colordiff - cpio - ethtool - exuberant-ctags - iperf - genisoimage - knockd - lzip - moreutils - multitail - mr - ntfs-3g - openvpn - pmount - screen - tmux - unrar - unzip - urlview - vim-nox - vim-doc - vim-scripts - vlock - wakeonlan - zsh - zip
## Remove: bluetooth bluez vim-tiny
###########################################################
###### Pré-configuration
@ -840,25 +748,15 @@ EOF
preconfig backuppc
###### Installation
aptins "System tools for shell" backuppc bsdmainutils colordiff cpio ethtool iperf genisoimage knockd lzip moreutils multitail mr ntfs-3g openvpn pmount rsyslog screen sudo tmux unrar unzip urlview vim-nox vim-doc vim-scripts vlock wakeonlan zsh zip
aptins "System tools for shell" backuppc bsdmainutils colordiff cpio ethtool iperf genisoimage knockd lzip moreutils multitail mr ntfs-3g openvpn pmount screen tmux unrar unzip urlview vim-nox vim-doc vim-scripts vlock wakeonlan zsh zip
###### Remove
arem "Purge: System tools for shell" bluetooth bluez vim-tiny
###### Post-configuration
# sysklogd par défaut sur la console tty9
# On décommente les lignes nécessaires dans le fichier de configuration
sed -i '/#daemon,mail.\*;/{:label;/^$/q;s/^#//;n;s/^#//;t label;}' /etc/rsyslog.conf
sed -i 's/tty8/tty9/' /etc/rsyslog.conf
# vim-nox comme éditeur par défaut pour la ligne de commande
update-alternatives --set editor /usr/bin/vim.nox
# Add default user to sudo group
if [ ! "$(grep "^sudo:x:27:.*${new_username}" /etc/group)" ]; then
adduser ${new_username} sudo
fi
## Changement du shell par défaut pour les utilisateurs
# Root
chsh -s /bin/zsh
@ -874,20 +772,6 @@ chown "${new_username}":"${new_username}" /home/"${new_username}"/.zsh
## Disable Openvpn to automatically start
systemctl disable openvpn.service
#### Modprobe
# Ensure to disable system beep/buzzer
cp ${script_path}/modprobe.d/blacklist-beep.conf /etc/modprobe.d/
# Ensure to blacklist dangerous modules (firewire, thunderbolt, …)
cp ${script_path}/modprobe.d/blacklist-dma.conf /etc/modprobe.d/
#### Grub
# Modify the default grub timeout
if [ ! "$(grep "GRUB_TIMEOUT=${grub_timeout}" /etc/default/grub)" ]; then
sed -i "s/^GRUB_TIMEOUT.*/GRUB_TIMEOUT=${grub_timeout}/" /etc/default/grub
update-grub
fi
###### Information pour l'utilisateur final
cat >> "${INFORMATION}" << EOF
@ -945,15 +829,10 @@ Voici la liste des paquets installés :
+pmount : permet à l'utilisateur normal de monter des périphériques
+rsyslog : monitoring en continu sur la console tty9 (ctrl+alt+F9)
+screen : mutliplexeur de terminaux
--Plus d'info :
http://doc.xubuntu-fr.org/screen
+sudo : outil qui permet de lancer des commandes avec des droits supplémentaires ou en tant qu'un autre utilisateur à condition d'avoir les privilèges suffisants.
# sudo ls /root
+tmux : multiplexeur de terminaux
--Ressemble beaucoup à screen, mais offre une configuration plus facile