Ubuntu 18.04.5 LTS (Bionic Beaver)
Ubuntu 18.04、Windows 10のデュアルブート環境を構築する。
プロキシ下を想定しているので、不要な場合は適宜調整。
Linux環境設定/デュアルブートのWindows時刻をUTCにする - Linuxと過ごす
デュアルブート環境では、BIOSの時刻を介してWindows側の時刻管理(ローカル時間)とUbuntu側の時刻管理(UTC時間)が衝突して、タイムゾーンの時差分、時計がずれてしまう。ここでは、Windows側の時刻管理をUTC時間にするようにレジストリを変更して対処する。
Windows上で管理者権限でコマンドプロンプトを起動し、以下のコマンドを実行する。
| reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
|
時刻同期のためプロキシ内のNTPサーバを設定する。
Settings > Details > Date & Timeで使われるNTPサービスはsystemd-timesyncd
。
設定ファイルの/etc/systemd/timesyncd.conf
を開いて編集する。
| [Time]
NTP=YOUR_NTP_SERVER
|
| sudo systemctl restart systemd-timesyncd
|
これで時刻が同期される。
Settings > Networkからプロキシを設定する。設定した内容はHTTP_PROXY
などの環境変数に出力される。スキーム部分は不要(OS側で付けるので二重プロトコルになってしまう)。
また/etc/apt/apt.confを作成し、プロキシ設定を追記する
| Acquire::http::proxy "http://YOUR_HTTP_PROXY";
Acquire::https::proxy "http://YOUR_HTTP_PROXY";
|
| sudo apt update
sudo apt upgrade -y
|
| sudo apt install -y \
git \
build-essential \
make \
cmake \
vim
|
| git config --global core.editor vim
git config --global credential.helper cache
git config --global user.name YOUR_NAME
git config --global user.email YOUR_EMAIL
|
~/.vimrc
| set shiftwidth=4
set tabstop=4
set expandtab
"set number
set cursorline
set smartindent
set laststatus=2
syntax enable
set hlsearch
nmap <Esc><Esc> :nohlsearch<CR><Esc>
|
| sudo apt install -y ibus-mozc
ibus restart
gsettings set org.gnome.desktop.input-sources sources "[('ibus', 'mozc-jp'), ('xkb', 'jp')]"
|
| sudo apt install -y $(check-language-support)
|
| git config --global http.proxy ${HTTP_PROXY}
git config --global https.proxy ${HTTPS_PROXY}
|
pyenv/pyenv: Simple Python version management
新しいPythonを使うため、それからシステムと開発環境を分離してモジュール管理をaptとpipで分けて衝突事故を起こさないようにするため、pyenvを使うのが安定。
| git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
source ~/.bashrc
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | sudo apt install -y \
libssl-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
wget \
curl \
llvm \
libncurses5-dev \
libncursesw5-dev \
xz-utils \
tk-dev \
libffi-dev \
liblzma-dev \
python-openssl
pyenv install 3.8.5
pyenv global 3.8.5
|
Install Docker Engine on Ubuntu | Docker Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | sudo apt remove docker docker-engine docker.io containerd runc
sudo apt update
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-x "${HTTP_PROXY}" \
| sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
|
Install Docker Compose | Docker Documentation
| sudo curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose \
-x "${HTTP_PROXY}"
sudo chmod +x /usr/local/bin/docker-compose
|
一応、sudoせずにdockerを実行できるようにしておく。
| sudo groupadd docker
sudo adduser $USER docker
|
| sudo systemctl edit docker
|
このコマンドで開いたファイルに以下を追記する。
| [Service]
Environment="HTTP_PROXY=YOUR_HTTP_PROXY"
Environment="HTTPS_PROXY=YOUR_HTTP_PROXY"
|
| sudo systemctl restart docker
docker pull hello-world
docker run --rm hello-world
|
正常に実行されればOK。
Start Locally | PyTorch
PyTorchの対応バージョンを見ながらCUDA Toolkitをインストールする。
CUDA Toolkit 10.2 Download | NVIDIA Developer
~~CUDA Installerのrunfileを使って、runfileに同梱されているNVIDIA Driverを同時に入れるのが安定(2.5GBくらいで結構重いが)。~~
追記(2021/01/04):カーネルアップデートのたびに再インストールする必要が出てくるので、ドライバについてはDKMSが使える通常のNVIDIA Driverインストールをした方がいい。
適切にPATH、LD_LIBRARY_PATHを設定すれば問題ない。
Download runfile installer for Ubuntu 18.04
CUIモードでないとインストールに失敗するので、ダウンロードが終わったら一度デスクトップからログアウトし、Ctrl+Alt+F2などでCUIモードにする。
| sudo systemctl stop gdm
# sudo systemctl stop lightdm # for Ubuntu 16.04
|
これでデスクトップマネージャを止めてからインストールを始める(再起動してGUIモードでログインせずにCUIモードにして実行でもいけるかも)。
| wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run
|
~/.bashrcに以下を追記する。
| export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
|
PyTorchが入ったあと(どちらを先にいれてもいい)、
| import torch
torch.cuda.is_available()
|
でTrueが返ってくればOK。
| pip3 install -U pip
pip3 install -U \
opencv-python \
numpy \
Pillow \
--proxy "${HTTP_PROXY}"
|
| pip3 install -U \
torch \
torchvision \
torchtext \
torchaudio \
--proxy "${HTTP_PROXY}"
|
| pip3 install -U \
matplotlib \
tqdm \
jupyter \
PyYAML \
tensorboardX \
--proxy "${HTTP_PROXY}"
|
| sudo apt install -y openssh-server net-tools
|
| sudo vim /etc/ssh/sshd_config
|
必要に応じてパスワード認証を無効にする。
| PasswordAuthentication no
|
Install package isv:ownCloud:desktop / owncloud-client
| echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_18.04/ /' | sudo tee /etc/apt/sources.list.d/isv:ownCloud:desktop.list
curl -fsSL https://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_18.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/isv:ownCloud:desktop.gpg > /dev/null
sudo apt update
sudo apt install owncloud-client
|
| sudo apt install tmux autossh
|
~/.ssh/configのHost
の下に書く。Windowsの場合はconnect
をビルドする必要がある。
| # Linux
ProxyCommand nc -X connect -x YOUR_HTTP_PROXY %h %p
# Windows
ProxyCommand MY_APP_DIRECTORY\connect\connect.exe -H YOUR_HTTP_PROXY %h %p
# Mac
ProxyCommand ncat --proxy-type http --proxy YOUR_HTTP_PROXY %h %p
|
| # for build `connect.c` on Windows
gcc -o connect -lwsock32 connect.c -lws2_32
|