Scripts to install Debian
Go to file
gardouille 6e14d011e3 units : Converts between different systems of units. 2017-03-21 16:34:24 +01:00
apt Now use firefox instead of iceweasel 2016-04-04 16:05:10 +02:00
modprobe.d Forgot to add modprobe files … 2015-11-03 18:57:23 +01:00
old_files Add old_files used before to generate an iso with preseed file. 2017-02-27 10:10:22 +01:00
seed Add preseed files. 2015-10-27 22:51:20 +01:00
.gitignore post_install_sid: Load some informations from another to avoid to enter 2015-11-03 12:10:27 +01:00
CHANGELOG.md units : Converts between different systems of units. 2017-03-21 16:34:24 +01:00
README.md units : Converts between different systems of units. 2017-03-21 16:34:24 +01:00
TODO.md Add todo.md 2017-02-27 10:10:02 +01:00
ddclient.sh post_install_sid.sh: move ddclient config to a separate file. 2015-11-12 20:31:58 +01:00
informations.template post_install_sid.sh: Modify one time only the ntp config. 2015-11-12 15:43:28 +01:00
post_install_sid.sh units : Converts between different systems of units. 2017-03-21 16:34:24 +01:00

README.md

Table of Contents

  1. Post installation script for Debian Sid

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.
  • 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.

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

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
  • 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.