Debian Stretchインストール後の設定メモ
リポジトリの設定
リポジトリのリストからcdromを削除する。
sudoが使えないのでsuしてから作業する。
$ su # sed -i -e 's/^deb cdrom/# deb cdrom/' /etc/apt/sources.list
一応アップデートしておく
# apt update # apt -y upgrade
sudoの有効化
sudoのコマンドのインストール
$ su # apt -y install sudo
ユーザをsudoグループに追加し、sudoできるようにする。
# gpasswd -a ユーザ名 sudo
ログインし直すとsudoできるようになる。
IPの固定
static
に変更し、IPアドレス等を追加。
$ sudo vim /etc/network/interfaces #iface eth0 inet dhcp iface eth0 inet static address 192.168.1.5 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1 $ sudo ifdown eth0 && sudo ifup eth0
Ubuntu18.04でソフトウェアRAIDを組む
Ubuntu18.04でmdadmソフトウェアRAIDを組んでデータストレージとして使う
構成
- CPU: Ryzen Threadripper 1950X
- M/B: ASUS PRIME X399-A
- HDD: Western Digital Gold WD1005FBYZ *4
ディスクの確認
/dev/sdc~/dev/sdfまでのHDD4本でRAID10を作る。
$ sudo parted -l | grep /dev/sd Disk /dev/sda: 2000GB Disk /dev/sdb: 240GB Disk /dev/sdc: 1000GB Disk /dev/sdd: 1000GB Disk /dev/sde: 1000GB Disk /dev/sdf: 1000GB
ファイルシステムの作成
まずHDD4本に対してpartedでパーティションを作成する。
(参考: LinuxでHDDのパーティションテーブル作成とフォーマット方法)
また、RAIDのフラグをオンにする。
$ sudo parted /dev/sdc (parted) mklabel gpt Y (parted) mkpart ext4 0% 100% (parted) set 1 raid on
次に、ファイルシステムを作成する
$ sudo mkfs -t ext4 /dev/sdc1
これを/dev/sdc~/dev/sdfの4本に対して実行。
RAIDアレイの構築
下記コマンドで、RAID10を4本のHDDで構築できる。
ファイルシステムを作成していないとそのHDDが出力に出力されない
$ sudo mdadm --create /dev/md0 --level=10 --raid-devices=4 /dev/sd[cdef]1 mdadm: /dev/sdc1 appears to contain an ext2fs file system size=976760832K mtime=Thu Jan 1 00:00:00 1970 mdadm: /dev/sdd1 appears to contain an ext2fs file system size=976760832K mtime=Tue Feb 26 06:19:05 2019 mdadm: /dev/sde1 appears to contain an ext2fs file system size=976760832K mtime=Thu Jan 1 00:00:00 1970 mdadm: /dev/sdf1 appears to contain an ext2fs file system size=976760832K mtime=Thu Jan 1 00:00:00 1970 Continue creating array? (y/n) y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
構築経過は下のコマンドで確認できる。3時間ちょっとかかりそう。
$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid10 sdf1[3] sde1[2] sdd1[1] sdc1[0] 1953257472 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU] [>....................] resync = 0.3% (5872256/1953257472) finish=197.5min speed=164280K/sec bitmap: 15/15 pages [60KB], 65536KB chunk unused devices: <none>
mdadmを設定する
$ sudo bash -c 'mdadm -Es | grep md/0 >> /etc/mdadm/mdadm.conf'
RAIDアレイの初期化
RAIDアレイを確認する
$ sudo parted -l Error: /dev/md0: unrecognised disk label Model: Linux Software RAID Array (md) Disk /dev/md0: 2000GB Sector size (logical/physical): 512B/4096B Partition Table: unknown Disk Flags:
パーティションを作成(不要?)
$ sudo parted /dev/md0 (parted) mklabel gpt (parted) mkpart ext4 0% 100% (parted) quit
フォーマット
$ sudo mkfs -t ext4 /dev/md0 mke2fs 1.44.1 (24-Mar-2018) Found a gpt partition table in /dev/md0 Proceed anyway? (y,N) y Creating filesystem with 488314368 4k blocks and 122085376 inodes Filesystem UUID: ac9462a0-e789-475e-86a6-55e4abb4ffc6 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done
マウント(テスト)
$ sudo mount /dev/md0 /mnt
自動マウント
UUIDを確認
$ sudo blkid | grep /dev/md0 /dev/md0: UUID="ac9462a0-e789-475e-86a6-55e4abb4ffc6" TYPE="ext4"
/etc/fstabを編集
$ sudo vim /etc/fstab UUID=ac9462a0-e789-475e-86a6-55e4abb4ffc6 /mnt ext4 defaults,noatime 0 0
LinuxでUUIDでHDDをマウントする
UbuntuとCentOS上でのUUID確認と/etc/fstabでの自動マウント方法
UUIDの確認
CentOS7でもUbuntu18.04でも、blkidの出力をgrepすればUUIDを確認できる。
$ sudo blkid | grep /dev/sdd1
CentOSの場合はUUID="..."
の部分が必要
$ sudo blkid | grep /dev/sda1 /dev/sda1: UUID="eda3624c-15a5-4871-931e-5fbcaedcdfac" TYPE="ext4"
Ubuntuの場合はPARTUUID="..."
の部分が必要
$ sudo blkid | grep /dev/sdd1 /dev/sdd1: PARTLABEL="ext4" PARTUUID="dd120623-d167-43d5-a372-ba77b4b4f15c"
コマンドでマウントする
UUID="..."
やPARTUUID="..."
の部分をそのまま使用して
$ sudo mount -t ext4 UUID="..." /mnt
とか
$ sudo mount -t ext4 PARTUUID="..." /mnt
でマウントできる
自動マウント
自動マウントする場合は/etc/fstabにUUID="..."
やPARTUUID="..."
の部分をそのまま使って書く。
$ sudo vim /etc/fstab UUID="..." /mnt/hdd ext4 defaults 0 0 PARTUUID="..." /mnt/hdd ext4 defaults 0 0
Raspberry Piとウェブカメラでmotionを使う
motionをインストール
$ sudo apt-get -y install motion
motionの設定
stream_localhost on webcontrol_localhost on
を
stream_localhost off webcontrol_localhost off
に変更する。
動作確認
USBカメラの確認
$ lsusb Bus 001 Device 005: ID 046d:082c Logitech, Inc.
起動する
$ sudo motion -n [0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf [0:motion] [NTC] [ALL] motion_startup: Motion 4.0 Started [0:motion] [NTC] [ALL] create_path: creating directory /var/log/motion [0:motion] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log)
Ctrl+C
で止めて、
/var/lib/motion
に画像が保存るはずなのでsftp等で確認する。
Raspbian StretchをインストールしてSSHログインするまで
Raspbianをダウンロード
Download Raspbian for Raspberry Piから
Raspbian Stretch Lite (2018-11-13-raspbian-stretch-lite.img
)をダウンロードする
Raspbianの書き込み
dd
で書き込む
$ sudo fdisk -l ... ディスク /dev/sdc: 14.5 GiB, 15548284928 バイト, 30367744 セクタ ディスク型式: Flash Reader 単位: セクタ (1 * 512 = 512 バイト) セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト ディスクラベルのタイプ: dos ディスク識別子: 0x00000000 デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ /dev/sdc1 * 2048 30367743 30365696 14.5G c W95 FAT32 (LBA) $ sudo dd bs=64MB if=2018-11-13-raspbian-stretch-lite.img of=/dev/sdc 29+1 レコード入力 29+1 レコード出力 1866465280 bytes (1.9 GB, 1.7 GiB) copied, 411.178 s, 4.5 MB/s
sshd有効化
デフォルトでsshdが自動機能しないためSSHログインはできない。
How to enable SSH on Raspbian without a screen - howchoo
の通り下記コマンドを試したがssh: connect to host 192.168.1.17 port 22: Connection refused
で接続できなかった。
$ sudo fdisk -l デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ /dev/sdc1 8192 98045 89854 43.9M c W95 FAT32 (LBA) /dev/sdc2 98304 30367743 30269440 14.4G 83 Linux $ sudo mount /dev/sdc2 /mnt/pi $ cd /mnt/pi/boot $ sudo touch ssh
諦めてキーボード、ディスプレイを接続して下記コマンドで有効化する。
$ sudo systemctl start sshd $ sudo systemctl enable sshd
SSHでログイン
ルータのDHCP割り当て状態からRaspberry PiのMACアドレス(B8:27:EB:??:??:??
)に割り当てられているIPを調べる
Yamaha NVR510の場合はshow status dhcp
でホスト名まで表示された
Leased address: 192.168.1.17 (type) Client ID: (01) b8 27 eb 60 59 21 Host Name: raspberrypi Remaining lease: 2days 23hours 59min. 31secs.
下記ユーザ名・パスワードでSSHログインする
- ユーザー名: pi
- パスワード: raspberry
その他の設定
IP固定
インターフェース名の確認
$ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether b8:27:eb:xx:xx:xx brd ff:ff:ff:ff:ff:ff inet 192.168.1.17/24 brd 192.168.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::11cb:3d7e:78f0:2ead/64 scope link valid_lft forever preferred_lft forever
/etc/dhcpcd.conf
の編集
interface eth0 static ip_address=192.168.1.27/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1
再起動
$ sudo reboot
Ubuntu16.04でnvidia-dockerを動かす
構成
- CPU: Core i7-6850K
- GPU: ELSA GeForce GTX 1080 8GB GLADIAC *2台
初期設定
ネットワーク
$ sudo apt-get -y install resolvconf $ sudo nmcli con mod eno1 ipv4.method manual $ sudo nmcli con mod eno1 ipv4.address 192.168.1.23/24 $ sudo nmcli con mod eno1 ipv4.dns 192.168.1.1 $ sudo nmcli con mod eno1 ipv4.gateway 192.168.1.1 $ sudo nmcli con down eno1 && sudo nmcli con up eno1
アップデート
$ sudo apt-get update $ sudo apt-get -y upgrade $ sudo apt-get -y dist-upgrade
OpenSSHのインストール
$ sudo apt-get -y install openssh-server $ sudo systemctl start sshd $ sudo systemctl enable sshd
CUDA
確認
以下のコマンドで,何も出てこないことを確認する
$ sudo dpkg -l | grep nvidia $ sudo dpkg -l | grep cuda
Nvidiaドライバのインストール
リポジトリ(Proprietary GPU Drivers : “Graphics Drivers” team)
を登録して,ドライバをインストールする
途中で,secure bootを無効にするかを聞かれたが,無効にせずに続行した
$ sudo add-apt-repository ppa:graphics-drivers/ppa $ sudo apt-get update $ sudo apt-get -y install nvidia-387
再起動し,GPUが認識されているかを確認
$ sudo reboot $ nvidia-smi Sat Dec 9 10:19:09 2017 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 387.34 Driver Version: 387.34 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 106... Off | 00000000:01:00.0 On | N/A | | 0% 37C P8 6W / 156W | 91MiB / 6071MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1130 G /usr/lib/xorg/Xorg 89MiB | +-----------------------------------------------------------------------------+
dockerのインストール
Ubuntu公式リポジトリのdocker.io
ではnvidia-docker
を実行できない
(docker-engine
, docker-ce
, docker-ee
のいずれかのパッケージが依存関係として必要)
ので、Get Docker CE for Ubuntu | Docker Documentation
の通りにインストールする
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | 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-get update $ sudo apt-get -y install docker-ce
nvidia-dockerのインストール
GitHub - NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUsの通りにインストールする
$ sudo apt-get -y install curl $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - $ curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list $ sudo apt-get update $ sudo apt-get install -y nvidia-docker2 $ sudo pkill -SIGHUP dockerd
テスト(nvidia-docker run --rm nvidia/cuda nvidia-smi
でもいける)
$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi Unable to find image 'nvidia/cuda:latest' locally latest: Pulling from nvidia/cuda 660c48dd555d: Pull complete 4c7380416e78: Pull complete 421e436b5f80: Pull complete e4ce6c3651b3: Pull complete be588e74bd34: Pull complete f597507b3c37: Pull complete 9c5d4127a23d: Pull complete 398bf259fcdc: Pull complete 4f4092762618: Pull complete 94130a21e154: Pull complete Digest: sha256:954c82d2d060f38de13b3d7933b7e1549b25330cc6412008dc1253f3c148448d Status: Downloaded newer image for nvidia/cuda:latest Sat Dec 9 01:59:36 2017 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 387.34 Driver Version: 387.34 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 106... Off | 00000000:01:00.0 On | N/A | | 0% 37C P8 6W / 156W | 91MiB / 6071MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| +-----------------------------------------------------------------------------+
Debian StretchでNFSサーバを動かす
インストール
$ sudo apt -y install nfs-kernel-server
共有ディレクトリの設定
NFSv4で共有するように/etc/exports
を編集する。
/srv/nfs4
をNFSのルートにし、shareを公開する。
$ sudo vim /etc/exports /srv/nfs4 192.168.1.0/24(rw,async,fsid=0,crossmnt,no_root_squash) /srv/nfs4/share 192.168.1.0/24(rw,async,no_root_squash)
共有ディレクトリのバインドマウント
ディレクトリ作成
$ sudo mkdir -p /srv/nfs4/share
/etc/fstab
の編集、マウント
$ sudo vim /etc/fstab /mnt/hdd /srv/nfs4/share none bind 0 0 $ sudo mount -a
サービス起動
$ sudo systemctl start nfs-server $ sudo systemctl enable nfs-server
公開状態の確認
$ sudo exportfs /srv/nfs4 192.168.1.0/24 /srv/nfs4/share 192.168.17.0/24
クライアント側からは下記コマンドでマウントできる
$ sudo mount.nfs <NFSサーバIP>:/ /mnt $ ls /mnt share