Meine Linux Standard Tools
Mein Favorit als Desktop-Linux-Distribution ist derzeit Linux Mint.
Für neuere Rechner installier ich Linux Mint Cinnamon, für VMs oder schwächere Geräte Linux Mint Mate.
Für reine Server Installationen hab ich mich für Ubuntu-Server entschieden.
Je nach Verwendungszweck ist es nützlich einige Tools wie Editoren und Co. von beginn an mit zu installieren.
Da mir selbst nicht immer alle auf Anhieb einfallen, stelle ich jetzt auf dieser Seite mein wichtigsten zusammen. Diese können sich jederzeit ändern ;)
Commandline-Tools
Als Editor in der commandline favorisiere ich vim da dieser für mich am intuitivsten zu bedienen ist.
sudo apt-get install vim
Für Datei-Transfers in der Commandline, auch zu FTPs etc. benutze ich den den midnight-commander
sudo apt-get install mc
Manche Arbeiten dauern teilweise länger als man mit einem Rechner verbunden sein möchte. Beim schließen von Konsolen, z.b. bei ssh Verbindungen, beendet sich auch die laufende Anwendung.
Um dies zu verhinden und die Software weiter laufen lassen zu können, empfehle ich screen zu nutzen.
sudo apt-get install screen
Meine Tools in einer Zeile:
sudo apt-get install vim mc screen
Virtuelle Maschinen
Einige Tools sind sehr zu empfehlen wenn man mit Virtuellen Maschinen arbeitet
sudo apt-get install ucommon-utils
Entwicklung
Source Code Verwaltung
Für das Verwalten von eigenen Projekten sind tools gefragt die sich dafür schon bewährt haben.
Mein persönlicher Favorit ist git, auch wenn das manchmal ein Overkill ist und vielleicht subversion wegen der Einfachheit besser geeignet wäre.
Da ich aber ungern zwischen den verschiedenen Tool wechseln möchte, habe ich mich letztlich für git entschieden, und deshalb:
sudo apt-get install git
Da Subversion aber manchmal für ThirdParty Projekte benötigt wird, gibt es den Installer trotzdem:
sudo apt-get install subversion
Web
Um meine Webseite zu testen ist es sinnvoll eine lokale Version des Online Servers bereitstehen zu haben. Für mich bedeutet dass einen Apache mit PHP7 und MariaDB
Zuerst MariaDB:
sudo apt-get install mariadb-server
Oder Wahlweise Mysql
sudo apt-get install mysql-server
Im Anschluss die restlichen Programme
sudo apt-get install apache2 php7.0 libapache2-mod-php7.0 phpmyadmin php7.0-sqlite3
mod_rewrite aktivierien
sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod actions
sudo /etc/init.d/apache2 force-reload
C/C++ Entwicklung
Compiler
Als Basis installiere ich zum kompilieren die build essentials und cmake, da diese ich diese auch für meine eigenen Entwicklungen benutze.
Für die Versionsverwaltung darf git natürlich nicht fehlen.
sudo apt-get install build-essential cmake git
IDE
Als Standard-IDE nehme ich gern den QtCreator, auch für Projekte die nicht auf Qt basieren ist das eine super Entwicklungsumgebung.
Die neuere Version hat auch einen verbesserten cmake support was die Entwicklung platformübergreifend vereinfacht.
sudo apt-get install qtcreator
Beispiel Settings
Hier einige install Scripte die ich beim aufsetzten von bestimmten Rechner am Anfang laufen lasse.
Dieser Webserver
Vorweg screen, da alle weitern Installationen später breits im screen laufen sollen.
sudo apt-get screen
Hier die Tools in einer eigenen screen session
# Common Tools
apt-get -y install vim mc
apt-get -y install git
apt-get -y install subversion
# Build tools for own Software
apt-get -y install build-essential cmake libssl-dev
# Webserver
apt-get -y install apache2 php7.0 libapache2-mod-php7.0 phpmyadmin php7.0-sqlite3
a2enmod rewrite
a2enmod actions
a2enmod ssl
service apache2 force-reload
/etc/init.d/apache2 force-reload
apt-get -y install build-essential cmake
apt-get -y install fail2ban
# install certbot
sudo apt-get -y update
sudo apt-get -y install software-properties-common
sudo add-apt-repository -y ppa:certbot/certbot
sudo apt-get -y update
sudo apt-get -y install python-certbot-apache