Intelligente Lösungen
in neuer Dimension

LXC-Container Ubuntu-18.04

Hier beschreibe ich, wie ich meinen Basiscontainer erzeuge.

Basiscontainer via LXD herunterladen und aktualisieren

1
2
3
4
5
6
7
8
9
10
11
# Auf dem Host...
lxc launch ubuntu:18.04 ubuntu-1804
lxc exec ubuntu-1804 /bin/bash

# Im Container...
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get autoremove
apt-get clean
poweroff

Nacharbeiten

Zusatzpakete installieren

Für meine tägliche Arbeit brauche ich

  • joe
  • apt-transport-https
  • openssh-server (scheint bei 18.04 bereits per Standard installiert zu sein)
  • net-tools (für ifconfig und netstat)

Diese Pakete installiere ich im Container so:

1
2
3
4
5
apt-get install joe
apt-get install apt-transport-https
apt-get install openssh-server
apt-get install net-tools # ... provides ifconfig and netstat
apt-get clean

OpenSSH aktivieren

1
systemctl enable ssh

SSH-Zugriff via PubKey

1
2
3
4
5
6
7
mkdir /root/.ssh
chmod 700 /root/.ssh
touch /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
cat >>/root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1cd... Uli's SSH Key
^D

Ewige Protokollierung mit Zeitstempel

Siehe StackOverflow -Unlimited Bash History.

/etc/bash.bashrc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
HISTFILESIZE=
HISTSIZE=
HISTTIMEFORMAT="[%F %T] "
# Change the file location because certain bash sessions truncate .bash_history file upon close.
# http://superuser.com/questions/575479/bash-history-truncated-to-500-lines-on-each-login
HISTFILE=~/.bash_eternal_history
# Force prompt to write history after every command.
# http://superuser.com/questions/20900/bash-history-loss
PROMPT_COMMAND="history -a; ${PROMPT_COMMAND:-true}"
# Log last command to syslog
log_command () {
 echo "${USER} $(HISTTIMEFORMAT='' builtin history 1|cut -c8-)" |  logger -t shell -p user.info
}
PROMPT_COMMAND="${PROMPT_COMMAND:-true};log_command"

/etc/skel/.bashrc und /root/.bashrc und /home/ubuntu/.bashrc

Bislang:

1
2
3
4
...
HISTSIZE=1000
HISTFILESIZE=2000
...

Neu:

1
2
3
4
...
#HISTSIZE=1000
#HISTFILESIZE=2000
...

Zeitzone korrigieren

1
2
3
4
5
root@ubuntu-1804:~# date
Mon Apr  8 04:59:43 UTC 2019
root@ubuntu-1804:~# timedatectl set-timezone Europe/Berlin
root@ubuntu-1804:~# date
Mon Apr  8 07:00:21 CEST 2019

Änderungshistorie

  • 2019-04-29: Bash-Historie in /var/log/syslog speichern