macOSで実行
#-- { "wrap":"bash -xeu" }
mkdir ws
cd ws
curl -o workspace https://raw.githubusercontent.com/mamemomonga/docker-workspaces/master/dist/workspace-darwin-amd64
chmod 755 ./workspace
./workspace config-debian
./workspace pull home start
内容 | コマンド |
---|---|
rootでログイン | ./workspace root |
appでログイン | ./workspace app |
終了 | ./workspace stop |
#-- { "wrap":"sudo bash -xeu" }
export DEBIAN_FRONTEND=noninteractive
apt-get update
#-- { "wrap":"sudo bash -xeu" }
apt-get -y install tzdata
rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
echo 'Asia/Tokyo' > /etc/timezone
date
日本語と英語を有効にして、ロケールを英語にする
#-- { "wrap":"sudo bash -xeu" }
export DEBIAN_FRONTEND=noninteractive
apt-get -y install locales
perl -i -nlpE 's!^# (en_US.UTF-8 UTF-8)!$1!; s!^# (ja_JP.UTF-8 UTF-8)!$1!; ' /etc/locale.gen
locale-gen
update-locale LANG=en_US.UTF-8
#-- { "wrap":"sudo bash -xeu" }
export DEBIAN_FRONTEND=noninteractive
apt-get -y upgrade
apt-get install -y git-core curl wget
sudo sh -c 'DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential'
#-- { "wrap":"sudo bash -xeu" }
DEBIAN_FRONTEND=noninteractive apt-get install -y vim
cat > /etc/vim/vimrc.local << 'EOS'
syntax on
set wildmenu
set history=100
set number
set scrolloff=5
set autowrite
set tabstop=4
set shiftwidth=4
set softtabstop=0
set termencoding=utf-8
set encoding=utf-8
set fileencodings=utf-8,cp932,euc-jp,iso-2022-jp,ucs2le,ucs-2
set fenc=utf-8
set enc=utf-8
EOS
sudo sh -c "update-alternatives --set editor /usr/bin/vim.basic"
インストールと基本設定
#-- { "wrap":"sudo bash -xeu" }
DEBIAN_FRONTEND=noninteractive apt-get install -y ntp
mv /etc/ntp.conf /etc/ntp.conf.orig
cat > /etc/ntp.conf << 'EOS'
driftfile /var/lib/ntp/drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
EOS
参照先: 日本国内の場合
#-- { "wrap":"sudo bash -xeu" }
cat >> /etc/ntp.conf << 'EOS'
server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst
server ntp3.jst.mfeed.ad.jp iburst
EOS
参照先: AmazonEC2の場合
#-- { "wrap":"sudo bash -xeu" }
cat >> /etc/ntp.conf << 'EOS'
server 0.amazon.pool.ntp.org iburst
server 1.amazon.pool.ntp.org iburst
server 2.amazon.pool.ntp.org iburst
server 3.amazon.pool.ntp.org iburst
EOS
ntpd再起動と動作確認
#-- { "wrap":"sudo bash -xeu" }
service ntp restart
sleep 10
ntpq -p
#-- { "wrap":"sudo bash -xeu" }
DEBIAN_FRONTEND=noninteractive apt-get install -y postfix
sed -i.bak -e 's/^\(inet_protocols = all\)/#\1/' /etc/postfix/main.cf
echo 'inet_protocols = ipv4' >> /etc/postfix/main.cf
service postfix restart
ホスト名を「THE_NEW_HOSTNAME」に設定して再起動
#-- { "wrap":"sudo bash -xeu","placeholder":"THE_NEW_HOSTNAME" }
NEW_HOSTNAME="THE_NEW_HOSTNAME"
echo "$NEW_HOSTNAME" > /etc/hostname
echo "127.0.0.1 localhost $NEW_HOSTNAME" > /tmp/hosts
sed -e '1d' /etc/hosts >> /tmp/hosts
cat /tmp/hosts > /etc/hosts
rm /tmp/hosts
reboot
#-- { "wrap":"sudo bash -xeu","placeholder":"THE_NEW_HOSTNAME" }
sudo hostnamectl set-hostname THE_NEW_HOSTNAME
hostnamectl
cat /etc/hostname
これでリブート後に戻ってしまうようだったら、cloud.cfgの設定を確認して、以下を変更する。
$ vim /etc/cloud/cloud.cfg
preserve_hostname: false
↓
preserve_hostname: true
パスワードなしでsudoできるユーザを作成する
rootで実行する
#-- { "wrap":"bash -xeu","placeholder":"ubuntu" }
NEW_USER=ubuntu
if ! $( id $NEW_USER > /dev/null 2>&1 ); then
NEW_ID=1000
export DEBIAN_FRONTEND=noninteractive
groupadd -g $NEW_ID $NEW_USER
useradd -g $NEW_ID -u $NEW_ID -m -s /bin/bash $NEW_USER
fi
apt-get install -y sudo
cat > /etc/sudoers.d/wheel_user << EOS
$NEW_USER ALL=(ALL) NOPASSWD:ALL
EOS
chmod 600 /etc/sudoers.d/wheel_user
#-- { "wrap":"sudo bash -xeu" }
apt-get install -y open-vm-tools
https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/supported-ubuntu-virtual-machines-on-hyper-v
#-- { "wrap":"sudo bash -xeu" }
apt-get update
apt-get install -y \
linux-virtual-lts-xenial \
linux-tools-virtual-lts-xenial \
linux-cloud-tools-virtual-lts-xenial