install-debian/README.md

543 lines
21 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#### Table of Contents
1. [Post installation script for Debian Sid](#post_install_sid.sh)
* [How-to](#how-to)
* [Description](#description)
* [Prerequisite](#prerequisite)
* [Apt configuration](#apt-configuration)
* [X11 Server](#x11-server)
* [Graphic Environment](#graphic-environment)
* [Gnome tools](#gnome-tools)
* [Dev tools](#dev-tools)
* [Admin tools for cli](#admin-tools-for-cli)
* [UEFI tools](#uefi-tools)
* [System tools for cli](#system-tools-for-cli)
* [Internet tools for cli](#internet-tools-for-cli)
* [Internet tools for X11](#internet-tools-for-x11)
* [Office tools for cli](#office-tools-for-cli)
* [Office tools for X11](#office-tools-for-x11)
* [Multimedia tools for cli](#multimedia-tools-for-cli)
* [Multimedia tools for X11](#multimedia-tools-for-x11)
* [Games](#games)
* [Network share](#network-share)
* [Nvidia driver](#nvidia-driver)
* [Wireless driver for BCM43](#wireless-driver-for-bcm43)
* [Wireless tools for cli](#wireless-tools-for-cli)
* [Wireless tools for X11](#wireless-tools-for-x11)
* [Miscellaneous useless packages](#miscellaneous-useless-packages)
* [Manpages - Documentation](#manpages-documentation)
## post_install_sid.sh
Script to complete the installation of Debian Sid on my laptop.
### How-to
* You just have to use the template file to specify your own informations:
```sh
cp informations.template informations
vi informations
```
* Then run the script:
```sh
sudo post_install_sid.sh
```
### Description
#### Prerequisite
##### Add
* debconf-utils: Contains some small utilities for debconf developers.
* Load pre-seed files (debconf-set-selections) or see current debconf database (debconf-get-selections).
* lsof: Utility to list open files.
* Usefull to redirect the standard output.
##### Post-Configuration
* Load locales and keyboard pre-seed files.
#### Apt configuration
##### Pre-Configuration
* Load pre-seed to automatically restart services after an upgrade
* apt.conf.d: Use apt/apt.conf.d directory from git repository to provide additionnal configurations such as:
* Update package lists every day.
* Dowload upgradeable packages every day.
* Automatically clean dowloaded packages every week
* Set the default Debian version to Sid/Unstable.
* … see apt/apt.conf.d/ files.
* sources.list.d: Use apt/sources-list.d directory from git repository to provide the sources-list.d system directory.
* Backup initials files if exists.
* Add Wheezy/OldStable (official + backports), Jessie/Stable (official + backports), Stretch/Testing (official), Sid/Unstable (official + multimedia) and Experimental (official) repositories.
* preferences.d directory: Use apt/preferences.d directory from git repository to provide the preferences.d system directory.
* Backup initials files if exists.
* Default preferences: Sid < Stretch < Stable < Old-stable < Experimental
* Firefox/Icedove preferences: Experimental
* Update Debian repositories.
##### Add
* deb-multimedia-keyring: GnuPG archive key of the deb-multimedia repository.
##### Post-Configuration
* Set a variable to ensure to keep old config files when upgrading a package.
* Then force a full-upgrade of the system with the new repositories.
#### X11 Server
##### Pre-Configuration
* Load x11-common seed file that allows anybody to run the X server.
##### Add
* mesa-utils: Provides several utilities built by Mesa (glxinfo, glxgears, …).
* xorg: Provides the X librairies, an X server, for a standalone workstation running the X Window System.
#### Graphic Environment
##### Add
* gtk2-engines-cleanice: Contains theme engine and 3 themes for GTK.
* herbstluftwm: Manual tiling window manager for X11.
* i3lock: Simple screen locker.
* lxappearance: LXDE GTK+ theme switcher.
* nitrogen: Wallpaper browser and changing utility.
* Easy to manage multi-screen.
* redshift: Adjusts the color temperature of your screen.
* rofi: Can act as an application launcher, window switcher, ssh launcher and dmenu replacement.
* roxterm: Multi-tabbed GTK+/VTE terminal emulator.
* scrot: Command line SCReen shOT utility (screen capture).
* suckless-tools: Simple commands for minimalistic window managers.
* terminator: Multiple GNOME terminals in one window.
* wmctrl: Command line tool to interact with an EWMH/NetWM compatible X Window Manager.
* xautolock: Program launcher for idle X session.
* xbacklight: Simple utility to set the backlight level.
* xclip: Command line interface to X selections/clipboard.
* Used with VIM to copy the vim-selection into X11 buffer.
##### Remove
* Sometimes automatically installed with GUI packages:
* geoclue-2.0
* modemmanager
* xscreensaver
* xscreensaver-data
##### Post-Configuration
* Ensure to have an xautolock launch at boot time (in ~/.xinitrc).
#### Gnome tools
##### Add
* evince: Document (PostScript, PDF) viewer.
* etherape: Graphical network monitor.
* gedit: Official text editor of the GNOME desktop environment.
* gnome-calculator: GNOME desktop calculator.
* gparted: GNOME partition editor.
* nemo: Official Cinnamon File Manager (Nautilus replacement).
* nemo-fileroller: Nemo extension to manage (create, extract, …) archives.
* planner: Project management application that supports Gantt.
##### Remove
* eog: Eye of GNOME graphics viewer program. Use 'mirage' or 'gpicview' instead!
#### Dev tools
##### Add
* build-essential: Useful to build Debian packages.
* binutils: GNU assembler, linker and binary utils.
* cpp: GNU C preprocessor.
* debconf-utils: Contains some small utilities for debconf developers.
* Load pre-seed files (debconf-set-selections) or see current debconf database (debconf-get-selections).
* gcc: GNU C compiler.
* 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.
* apticron: Simple tool to mail about pending package updates.
* 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 firefox|dot -Tsvg > firefoxdep.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
```
* dnsutils: Clients provided with BIND.
* dstat: Versatile resource statistics tool.
* ethtool: Display or change Ethernet device settings.
* 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.
* iperf: Internet Protocol bandwidth measuring tool.
* Measure performances between A and B:
```sh
user@A % iperf -s
user@B % iperf -c IP_COMPUTER_A
```
* 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.
* Please see http://httpredir.debian.org/ instead of netselect-apt.
* ngrep: Grep for network traffic.
* 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)
```
* perf-tools-unstable: DTrace-like tools for Linux.
* Provide opensnoop:
```sh
sudo opensnoop -p $(pidof firefox)
```
* rsyslog: Reliable system and kernel logging daemon.
* strace: System call tracer.
* sudo: Provide limited super user privileges to specific users.
* sysv-rc-conf: SysV init runlevel configuration tool for the terminal.
* tcpdump: Command-line network traffic analyzer.
* tree: Displays an indented directory tree,in color.
* util-linux: Miscellaneous system utilities.
* whois: Intelligent WHOIS client.
##### 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
* Fstrim: Ensure to enable TRIM in '/etc/rc.local' if a SSD is available.
* See http://links.gardouille.fr/?ozlKFg for more informations.
#### UEFI tools
Add some UEFI tools if grub-efi is installed on the system.
##### Add
* efibootmgr: Interact with the EFI Boot Manager.
* efivar: Tools to manage UEFI variables.
#### System tools for cli
##### Add
* bdsmainutils: Collection of more utilities from FreeBSD.
* colordiff: Tool to colorize 'diff' output.
* cpio: GNU cpio; a program to manage archives of files.
* exuberant-ctags: Build tag file indexes of source code definitions.
* genisoimage: Creates ISO filesystem images.
* keychain: Key manager for OpenSSH.
* knockd: Small port-knock daemon.
* lzip: Lossless data compressor based on the LZMA algorithm.
* moreutils: Additionnal Unix utilities.
* Edit directory content as a file with vim:
```sh
vidir
```
* multitail: View multiple logfiles windowed on console.
* myrepos: Tool to manage all your version control repos.
* ntfs-3g: Read/write NTFS driver for FUSE.
* openssh-client: Secure shell (SSH) client, for secure access from remote machines.
* openvpn: Virtual private network daemon.
* physlock: Lightweight Linux console locking tool.
* Physlock need to be run as root, so it's possible to set NOPASSWD for sudoers:
```sh
sudo visudo
%sudo ALL=(ALL) NOPASSWD:/usr/bin/physlock
```
* screen: Terminal multiplexer with VT100/ANSI terminal emulation.
* tmux: Terminal multiplexer.
* udisks2: D-Bus service to access and manipulate storage devices.
* A simple user can mount removable devices:
```sh
udisksctl mount --block-device /dev/sdb2
```
* And **unmount** (take, 'u**n**mount' and not 'umount') it's own devices:
```sh
udisksctl unmount --block-device /dev/sdb2
```
* unrar: Unarchiver for .rar files (non-free version).
* unzip: De-archiver for .zip files.
* urlview: Extracts URLs from text.
* vim-nox: Vi IMproved - enhanced vi editor - with scripting languages support.
* vim-doc: Vi IMproved - HTML documentation.
* vim-scripts: Plugins for vim, adding bells and whistles.
* vlock: Virtual Console locking program.
* wakeonlan: Sends 'magic packets' to wake-on-LAN enabled ethernet adapters.
* zsh: Shell with lots of features.
* zip: Archiver for .zip files.
##### Remove
* bluetooth packages (bluetooth, bluez)
* network-manager: Can come with tlp dependencies.
* vim-tiny: Useless default vi version!
##### Post-Configuration
* Vim: set vim-nox as default editor.
* Openvpn: Disable to automatically start
* Useful in case of many configuration files. A default vpn is launch by "post-up" instruction in '/etc/network/interfaces' file:
```sh
allow-hotplug enp0s25
iface enp0s25 inet dhcp
post-up openvpn /etc/openvpn/XYZ_tunnel.conf
```
* ZSH: set as default user for root; "${new_username}"; new users with adduser.
#### Internet tools for cli
##### Add
* axel: Light command line download accelerator.
* finch: Instant messaging client in ncurses.
* lynx-cur: Classic non-graphical (text-mode) web browser.
* mat: Metadata anonymisation toolkit.
* Also provide a GUI: 'mat-gui'.
* postfix: High-performance mail transport agent.
* weechat-curses: Fast, light and extensible chat client.
##### Configuration
* Ensure to forward root's mail to new user email address.
* Ensure Postfix only listen on localhost.
#### Internet tools for X11
##### Add
* browser-plugin-freshplayer-pepperflash: PPAPI-host NPAPI-plugin adapter for pepperflash to get the latest Flash Plugin into Firefox/Firefox.
* dwb: Lightweight WebKit browser.
* filezilla: Full-featured FTP client with an easy-to-use GUI.
* icedove: Mail/news client with RSS and integrated spam filter support.
* icedove-l10n-fr: French language package for Icedove.
* iceowl-extension: Calendar Extension for Thunderbird/Icedove (Lightning addon replacement).
* firefox: Web browser based on Firefox.
* firefox-l10n-fr: French language package for Firefox.
* libjs-pdf: PDF.js viewer built with HTML5 by Mozilla.
* luakit: Fast and small web browser extensible by Lua.
* midori: Fast, lightweight graphical web browser based on WebKit.
* mumble: Low latency encrypted VoIP client.
* pepperflashplugin-nonfree: Pepper Flash Player - browser plugin (based on Flash Player from Goggle/Chrome).
* pidgin: Graphical multi-protocol instant messaging client for X.
* pidgin-otr: Off-the-Record Messaging plugin for Pidgin.
* rdesktop: RDP client for Windows NT/2000 Terminal Server and Windows Servers.
* transmission: Lightweight BitTorrent client.
* transmission-remote-gtk: GTK+ interface for the Transmission BitTorrent daemon.
* xvnc4viewer: Virtual network computing client software for X.
##### Remove:
* Old and unsecure Flash Plugin: flashplugin-nonfree flashplugin-nonfree-extrasound
##### Post-Configuration
* pepperflashplugin-nonfree: Ensure to install the lastest version.
#### Office tools for cli
##### Add
* cups: Common UNIX Printing System(tm) - PPD/driver support, web interface.
* devtodo: Manipulate and display a hierarchical and prioritised list of tasks.
* ghostscript: Interpreter for the PostScript language and for PDF.
* gocr: Multi-platorm OCR (Optical Character Recognition) program.
* Extract text from pbm image files:
```sh
for i in *pbm; do gocr $i > $i.txt; done
```
* graphviz: Rich set of graph drawing tools.
* imagemagick: ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats.
* imagemagick-doc: Document files of ImageMagick.
* odt2txt: Simple converter from OpenDocument Text to plain text.
* Used with lesspipe for example.
* pdftk: PDFtk is a simple tool for doing everyday things with PDF documents.
* poppler-utils: PDF utilities for convert, manipulate or get informations of PDF documents.
* Extract all images from a PDF file:
```sh
pdfimages file01.pdf img_name
```
* taskwarrior: Feature-rich console based todo list manager.
* texinfo: Documentation system for on-line information and printed output.
* texlive: A decent selection of the TeX Live packages
* texlive-latex-extra: A very large collection of add-on packages for LaTeX.
* units: Converts between different systems of units.
* vim-latexsuite: View, edit and compile LaTeX documents from within Vim.
* Activation in vim:
```vim
vim-addons install latex-suite
```
* xpdf: Light-weight PDF reader.
##### Remove
* avahi-autopid: Avahi IPv4LL network address configuration daemon.
* avahi-daemon: Avahi allows programs to publish and discover services and hosts running on a local network with no specific configuration.
* cups-browsed: Browses the Bonjour broadcasts of shared remote CUPS printers and makes the printers available locally.
* libdaemon0: Need to remove it to be able to also remove avahi-autopid.
* libnss-mdns: NSS module for Multicast DNS name resolution.
##### Configuration
* Add the standard user to lpadmin group to be able to manage Cups administration via webgui.
#### Office tools for X11
#### Add
* freeplane: Java program for working with Mind Maps.
* gprename: Complete batch renamer for Linux.
* key-mon: Utility to show live keyboard and mouse status.
* libreoffice: Office productivity suite (metapackage).
* libreoffice-l10n-fr: Office productivity suite -- French language package.
* libreoffice-help-fr: Office productivity suite -- French help.
* libreoffice-pdfimport: PDF Import component for LibreOffice.
* fonts-linuxlibertine: Linux Libertine family of fonts.
* ttf-ancient-fonts : Unicode font for many symbols. See https://en.wikipedia.org/wiki/Emoji#Blocks
* verbiste: French and Italian conjugator.
* verbiste-gnome: French and Italian conjugator - GNOME interface.
* xournal: Application for note taking, can also add note to PDF/PS files.
#### Multimedia tools for cli
##### Add
* avinfo: Audio/Video information automatic extractor/file list generator.
* eyed3: Display and manipulate id3-tags on the command-line.
* ffmpeg: Audio/video encoder, streaming server & audio/video file converter.
* mediainfo: Command-line utility for reading information from audio/video files.
* mkvtoolnix: Set of command-line tools to work with Matroska files.
* moc: Ncurses based console audio player.
#### Multimedia tools for X11
##### Add
* audacity: Fast, cross-platform audio editor.
* easytag: Viewing, editing and writing ID3 tags.
* gimp: The GNU Image Manipulating Program.
* gpicview: Lightweight image viewer.
* inkscape: Vector-based drawing program.
* mirage: Fast and simple GTK+ image viewer.
* mkvtoolnix-gui: Set of tools to work with Matroska files - GUI frontend.
* smplayer: Complete front-end for MPlayer and MPlayer2.
* rhythmbox: Music player and organizer for GNOME.
* vlc: Multimedia player and streamer.
#### Games
##### Add
* teeworlds: Online multi-player platform 2D shooter.
* teeworlds-server: Server for Teeworlds.
#### Network share
##### Add
* nfs-common : NFS client. Useful network protocol for sharing between linux OS.
##### Remove
* nfs-kernel-server : NFS server. Useful network protocol for sharing between linux OS.
* samba : SMB/CIFS file, print and login server for Unix. One of the only Windows compatible protocole.
##### Configuration
* Disable nfs-kernel-server service if still available.
* Disable all samba service if still availables.
#### Nvidia driver
##### Add
* linux-header-amd64: Header files for Linux amd64 configuration (meta-package).
* nvidia-kernel-dkms: NVIDIA binary kernel module DKMS source.
* nvidia-xconfig: X configuration tool for non-free NVIDIA drivers.
##### Post-Configuration
* Backup previous xorg.conf file if exists.
* Run the NVIDIA configuration tool.
#### Wireless driver for BCM43
##### Add
* broadcom-sta-dkms: DKMS source for the Broadcom STA Wireless driver.
* linux-header-amd64: Header files for Linux amd64 configuration (meta-package).
##### Post-Configuration
* Unload useless wireless modules and only load the 'wl' module.
* Verify if wireless is working with:
```sh
iwconfig
```
* For more informations, please see: https://wiki.debian.org/wl
#### Wireless tools for cli
##### Add
* ifscheme: Scheme control for network interfaces.
* wireless-tools: Tools for manipulating Linux Wireless Extensions
* wpasupplicant: Client support for WPA and WPA2.
#### Wireless tools for X11
##### Add
* wpagui: Graphical user interface for wpa_supplicant.
#### Miscellaneous useless packages
##### Add
* asr-manpages: alt.sysadmin.recovery manual pages.
* List the availables manpages:
```sh
dpkg -L asr-manpages
```
* cmatrix: Simulates the display from "The Matrix".
* cmatrix-xfont: X11 font for cmatrix.
* Used with vlock in tmux to lock and display the matrix: https://git.101010.fr/dotfiles-gardouille/tmux/commit/eae896300eadb3da3fd27fac6b8c37beeac04679
* cowsay: Configurable talking cow.
* cowsay-off: Configurable talking cow (offensive cows).
* fortunes: Data files containing fortune cookies.
* fortunes-bofh-excuses: Bastard Operator From Hell excuses for fortune.
* fortunes-debian-hints: Debian Hints for fortune.
* fortunes-fr: French fortunes cookies.
* fortunes-off: Data files containing offensive fortune cookies.
* funny-manpages: More funny manpages.
* List the availables manpages:
```sh
dpkg -L funny-manpages
```
* linuxlogo: Color ANSI System Logo.
```sh
linux_logo -f -d
```
* sl: Correct you if you type 'sl' by mistake.
#### Manpages - Documentation
##### Add
* aptitude-doc-fr: French manual for aptitude, a terminal-based package manager.
* info: Standalone GNU Info documentation browser.
* manpages-fr: French version of the manual pages about using GNU/Linux.
* manpages-fr-dev: French version of the development manual pages.
* manpages-fr-extra: French version of the manual pages.