Scripts to install Debian
apt | ||
modprobe.d | ||
old_files | ||
seed | ||
.gitignore | ||
CHANGELOG.md | ||
ddclient.sh | ||
informations.template | ||
post_install_sid.sh | ||
README.md | ||
TODO.md |
Table of Contents
- How-to
- Description
- Prerequisite
- Apt configuration
- X11 Server
- Graphic Environment
- Gnome tools
- Dev tools
- Admin tools for cli
- UEFI tools
- System tools for cli
- Internet tools for cli
- Internet tools for X11
- Office tools for cli
- Office tools for X11
- Multimedia tools for cli
- Multimedia tools for X11
- Games
- Network share
- Nvidia driver
- Wireless driver for BCM43
- Wireless tools for cli
- Wireless tools for X11
- Miscellaneous useless packages
- 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:
cp informations.template informations
vi informations
- Then run the script:
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:
apt-listbugs -s all -S pending list PKG_NAME
- apt-rdepends: Recursively lists package dependencies.
- List the dependencies of a package:
apt-rdepends vim-tiny
- List packages that depend of a package:
apt-rdepends -r vim-nox
- Get a graph of dependencies:
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:
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:
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:
ls -al /dev | pastebinit -
pastebinit - < <(ls -al /dev)
- perf-tools-unstable : DTrace-like tools for Linux.
- Provide opensnoop :
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:
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:
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:
udisksctl mount --block-device /dev/sdb2
- And unmount (take, 'unmount' and not 'umount') it's own devices:
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:
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:
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:
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-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:
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:
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:
eae896300e
- Used with vlock in tmux to lock and display the matrix:
- 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:
dpkg -L funny-manpages
- linuxlogo: Color ANSI System Logo.
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.