Help us understand the problem. What is going on with this article?

ラズパイ3 導入メモ2

ユーザー設定

新規ユーザーの追加

ラズパイ
$ sudo adduser feelinguy
ユーザ `feelinguy' を追加しています...
新しいグループ `feelinguy' (1001) を追加しています...
新しいユーザ `feelinguy' (1001) をグループ `feelinguy' として追加しています...
ホームディレクトリ `/home/feelinguy' を作成しています...
`/etc/skel' からファイルをコピーしています...
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: パスワードは正しく更新されました
feelinguy のユーザ情報を変更中
新しい値を入力してください。標準設定値を使うならリターンを押してください
    フルネーム []: 
    部屋番号 []: 
    職場電話番号 []: 
    自宅電話番号 []: 
    その他 []: 
以上で正しいですか? [Y/n] 

$ id feelinguy
uid=1001(feelinguy) gid=1001(feelinguy) groups=1001(feelinguy)

$ id pi
uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(input),108(netdev),999(spi),998(i2c),997(gpio)

$ id pi | tr ',' '\n'
uid=1000(pi) gid=1000(pi) groups=1000(pi)
4(adm)
20(dialout)
24(cdrom)
27(sudo)
29(audio)
44(video)
46(plugdev)
60(games)
100(users)
101(input)
108(netdev)
999(spi)
998(i2c)
997(gpio)

新規に追加したユーザーを pi と同じグループに所属させる。
usermod -aG GroupName[, ...] UserName
これで既存 GroupName のリストへ追加してね、となるらしい。

ラズパイ
$ (gnames=$(
> id pi |
> tr ',' '\n' |        # カンマを改行に置換
> sed 1d |             # 一行目を削除
> sed 's/^[0-9]*(//' | # 先頭の数値と'('を削除
> sed 's/)$//' |       # 最後の')'を削除
> tr '\n' ',' |        # カンマ区切りで一行にまとめる
> sed 's/,$//'         # 最後の','を削除
> )
> sudo usermod -aG $gnames feelinguy)

$ exit
ログアウト
Connection to xxx.local closed.

GroupName のリストを手打ちするのが危ういなーと思ったけど、
上記コマンドラインもどーだかねー。手打ちでいいね。

pi ユーザーの削除

新規ユーザーで再ログイン。

ラズパイ
$ sudo userdel -r pi

あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:

    #1) 他人のプライバシーを尊重すること。
    #2) タイプする前に考えること。
    #3) 大いなる力には大いなる責任が伴うこと。

[sudo] feelinguy のパスワード:
userdel: pi のメールスプール (/var/mail/pi) がありません

日本語で警告されるとドキッとする。

ファイアーウォール

Firewalld と思ったが、今のところ外部に公開するものは無いので、
ブロードバンドルーターに任せよう。

NTP

ラズパイ
$ timedatectl status
      Local time: 日 2019-04-21 01:37:16 JST
  Universal time: 土 2019-04-20 16:37:16 UTC
        RTC time: n/a
       Time zone: Asia/Tokyo (JST, +0900)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

Network time on: yes なら有効になっているらしい。
有効化するには timedatectl set-ntp true で。
設定は /etc/systemd/timesyncd.conf へ。

ラズパイ
$ sudo nano /etc/systemd/timesyncd.conf
/etc/systemd/timesyncd.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See timesyncd.conf(5) for details.

[Time]
NTP=ntp.jst.mfeed.ad.jp
FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org

設定を反映させる。

ラズパイ
$ sudo systemctl restart systemd-timesyncd
Warning: systemd-timesyncd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
$ sudo systemctl daemon-reload

デバイス

SDカード

延命措置。

スワップ無効化

ラズパイ
$ free -h
     total used free shared buff/cache available
Mem:  927M  29M 829M    11M        68M      838M
Swap:  99M   0B  99M

$ sudo swapoff --all
$ sudo apt purge -y --auto-remove dphys-swapfile
$ sudo rm -fr /var/swap

$ free -h
     total used free shared buff/cache available
Mem:  927M  31M 747M    11M       148M      834M
Swap:   0B   0B   0B

一時ファイル、ログとかは後回しでいいかな。

USBメモリ

USB3.0 64GB があるけど、ノートPC との相性が悪いんだよね。
USB2.0 なラズパイで使おう。

まず、デバイスの状態を調べて、
存在するのであればパーティションを削除する。

ラズパイ
$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1 57.7G  0 disk 
└─sda1        8:1    1 57.7G  0 part 
mmcblk0     179:0    0 29.7G  0 disk 
├─mmcblk0p1 179:1    0 42.9M  0 part /boot
└─mmcblk0p2 179:2    0 29.7G  0 part /

$ sudo parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) rm 1                                                             
(parted) print                                                            
Model: ELECOM MF-CAU31 (scsi)
Disk /dev/sda: 61.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags

(parted) 

次に、MBR または GPT かを選択し、パーティションを作る。

ラズパイ
(parted) mklabel
New disk label type? gpt
Warning: The existing disk label on /dev/sda will be 
destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? y
(parted) mkpart
Partition name?  []? data
File system type?  [ext2]? ext4
Start? 0%
End? 100%
(parted) print
Model: ELECOM MF-CAU31 (scsi)
Disk /dev/sda: 61.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  61.9GB  61.9GB  ext4         data

(parted) q
Information: You may need to update /etc/fstab.

そして、フォーマット。

ラズパイ
$ sudo mkfs.ext4 /dev/sda1
mke2fs 1.43.4 (31-Jan-2017)
/dev/sda1 contains a ext4 file system
    created on Sat Apr 20 22:20:02 2019
Proceed anyway? (y,N) y
Creating filesystem with 15119872 4k blocks and 3784704 inodes
Filesystem UUID: 7a8e352b-*****
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424

Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done

$ blkid /dev/sda1 | tr ' ' '\n'
/dev/sda1:
UUID="7a8e352b-*****"
TYPE="ext4"
PARTLABEL="data"
PARTUUID="d617acd6-*****"

UUID/etc/fstab に追記する。

自動マウント

ラズパイ
$ sudo mkdir -p /media/feelinguy/data
$ sudo nano /etc/fstab
/etc/fstab
proc               /proc           proc    defaults          0       0
PARTUUID=xxxxx-01  /boot           vfat    defaults          0       2
PARTUUID=xxxxx-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
UUID="7a8e352b-*****"   /media/feelinguy/data   ext4    defaults    0   2

最後の2つの数字は、

  • dump のバックアップ対象 - 0:false, 1:true
  • fsck のチェック対象 - 0:false, 1:root, 2:true

だそうだ。

ラズパイ
$ sudo reboot
...
$ lsblk /dev/sda1
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda1   8:1    1 57.7G  0 part /media/feelinguy/data

$ sudo chown feelinguy:feelinguy /media/feelinguy/data
$ sudo chmod o-x /media/feelinguy/data
$ ls -l /media/feelinguy
合計 4
drwxr-xr-- 2 feelinguy feelinguy 4096  4月 21 00:18 data

再起動前に chown chmod したら、再起動後には元に戻されていた。
上記の様に順番を逆にしたら永続化された。よくわからん。

簡易操作

ssh -t で疑似端末を割り当てることができるそうな。

Ubuntu
$ ssh -t feelinguy@xxx.local 'sudo apt update'
feelinguy@xxx.local's password:
[sudo] feelinguy のパスワード:
...
パッケージはすべて最新です。
Connection to xxx.local closed.
$

鍵認証してないと、ありがたみが薄い。

セキュア・コピー

Ubuntu
$ touch 空ファイル
$ ls
空ファイル
$ scp 空ファイル feelinguy@xxx.local:~/空ファイル
feelinguy@xxx.local's password: 
空ファイル           100%    0     0.0KB/s   00:00
$

ここまでで、最低限のことはできそうかな。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした