Debian jessie にDocker入れた時のメモ

docker公式そのまんまだけども。

事前に必要になるパッケージインストール

>sudo apt install curl
>sudo apt install apt-transport-https
>sudo apt install ca-certificates
>sudo apt install software-properties-common

レポジトリ用のgpgキーを取得、登録

>curl -fsSL https://yum.dockerproject.org/gpg | sudo apt-key add -

OKとか出る。
一応指紋確認

>apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D

dockerのレポジトリ追加

>sudo add-apt-repository ¥
"deb https://apt.dockerproject.org/repo/ ¥
Debian-$(lsb_release -cs) ¥
main"

パッケージリストを更新して、ぶっこむ

>sudo apt update
>sudo apt install docker-engine

消すときは

>sudo apt purge docker-engine
>sudo rm -rf /var/lib/docker

自動起動を停止する

>sudo systemctl disable docker

自動起動する

>sudo systemctl enable docker

いちいちdocker弄るのにsudoすんのがウゼェ場合

>sudo groupadd docker
>sudo usermod -aG docker $USER

 

uefiを有効化したvirtualbox上のubuntuのboot (長えよ)

仮想マシンをシャットダウンした後、bootloader情報が飛ぶみたいなので、無理やり起こす

とりま何とか立ち上げる.
デフォルトのbootloaderはboot/bootx64.efiで動くようなので、以下のようにbootloaderをコピーしてでっち上げる.

sudo su -
cd /boot/efi/EFI
cp -a ubuntu boot
cd boot
mv grubx64.efi bootx64.efi
sync;sync;sync;
reboot

sakura VPS用の追加設定

シリアルコンソールの有効化

何かあると厄介なのでシリアルコンソールを有効化しておく。
/etc/inittabに以下の行を追加する。

co:2345:respawn:/sbin/agetty -h 115200 ttyS0 vt100

/etc/default/grubを編集。

GRUB_CMDLINE_LINUX="console=ttyS0,115200n8r"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1"

編集が完了したら

(root):update-grub2

を実行してgrub2を更新する。

ネットワークIFの設定変更

ここにあるように
TSOが有効だと通信速度が落ちることがあるそうなので、対処しておく。

ethtoolのインストール

TSOの設定を無効にするためにethtoolパッケージをインストールする。

(root):aptitude install ethtool

/etc/network/interfacesの編集

/etc/network/interfacesを編集して、eth0起動時にデバイスの設定を変更するために以下の行を追加する。

post-up /sbin/ethtool -K eth0 tso off

具体的に編集後は

allow-hotplug eth0
iface eth0 inet static
        address xxx.xxx.xxx.xxx
        netmask xxx.xxx.xxx.xxx
        network xxx.xxx.xxx.xxx
        broadcast xxx.xxx.xxx.xxx
        gateway xxx.xxx.xxx.xxx
        post-up /sbin/ethtool -K eth0 tso off
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers xxx.xxx.xxx.xxx
        dns-search seekers.jp

のようになる。

Debian(wheezy) インストール~初期設定

debian (wheezy)インストール

このあたりからnetinst用のisoイメージを取得してインストール。
パッケージセレクトは何も指定しない。= 全てのチェックを外す。
isoイメージさえ入手できれば、INTEL系のPCであれば特に問題なくインストールできるかと。

debian(wheezy)初期設定

システム言語設定変更

日本語設定でインストールするとコンソールで文字化けすることがあるので、言語設定を変更

(root):update-locale LANG=C
もしくは
(root):update-locale LANG=

IPv6無効化

当面使用する気がないのでIPv6を無効化する

(root):echo "net.ipv6.conf.all.disable_ipv6 = 1" > /etc/sysctl.d/ipv6.conf

そして再起動。

/etc/apt/source.list 編集

contrib と non-free を追加

追加後は下のような感じ。

deb http://ftp.jp.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ wheezy main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

編集が完了したら

(root):aptitude update
(root):aptitude upgrade

して、パッケージデータベースと既存パッケージを最新のものに更新。

sudo, ssh-server, git インストール

(root):aptitude install sudo ssh-server git

で依存パッケージ毎インストール。

sudo設定

sudoを実行できるユーザーを設定

(root):echo "hogehoge ALL=(ALL:ALL) ALL" > /etc/sudoers.d/hogehoge
(root):chmod 044 /etc/sudoers.d/hogehoge

以降の作業はこのユーザーで行う。

sshd設定

パッケージを入れた段階でパスワード認証が有効な状態でsshdは起動しているので、hogehogeでログインしなおして
公開キーを登録してしまう。

(hogehoge)~/: mkdir .ssh
(hogehoge)~/: echo "(公開キー)" >> .ssh//authorized_keys

公開キーを登録し終わったら、sshd_configを編集してrootログイン、パスワード認証を無効化する。

(hogehoge)~/: sudo nano /etc/ssh/sshd_config

変更箇所は以下の通り

rootログインを禁止

PermitRootLogin yes
を
PermitRootLogin no

パスワード認証を禁止

#PasswordAuthentication yes
のコメントアウトを取り払って
PasswordAuthentication no

IPv6でのListenをやめる

先頭の方の
#ListenAddress 0.0.0.0
のコメントアウトを取り払う
ListenAddress 0.0.0.0

編集が完了したら

(hogehoge)~/: sudo service ssh restart

でsshを再起動。

iptables の設定

iptables-persistentパッケージをインストールして
システム起動時に設定が適用されるようにしておく。