いくつもの記事に分断されて面倒なのでひとつの記事にまとめた。(20,000文字以上)
記入日
2019-02-15。
目次
- 必要なもの
- 手順
必要なもの
- インターネット接続環境
- OS(Raspbian)のダウンロード&書込マシン
- ハードウェアの購入
1. インターネット接続環境
OS(Raspbian)をダウンロードするためにインターネット接続環境が必要である。
2. OS(Raspbian)のダウンロード&書込用マシン
OS(Raspbian)をダウンロードし、HDDに書き込むためのマシン(PC)が必要である。
今回は書込用マシンもRaspberry Piとする。
3. ハードウェアの購入
Raspberry PiやHDDなどが必要である。
- Raspberry Pi 3B+
- HDD Case
- USB 3.0
- SATA
- inch: 2.5
- 厚み: 7mm/9mm/12.5mm
- HDD
- SATA
- inch: 2.5
- 厚み: 7mm/9mm/12.5mm
- USBハブ
- セルフパワー(最大1.9A)
- HID
- Display
- Keyboard
- Mouse
+-------+ |RPI3B+ | +-------+ | [USB2.0]--[HDD case]--[HDD]
Raspberry Piは通常SDカードにOSを書込んでブートする。しかしSDカードは書込上限がありすぐに寿命が来てしまう。そこでHDDを使う。HDDにOSを書き込んでブートする。
USB接続した補助記憶装置(HDD)からブートするUSB Boot
という機能を使う。
3-1. ラズパイ電力不足の解決
今回は書込用マシンもRaspberry Piである。このとき、起動用と書込対象の2つのHDDが接続される。このままではRaspberry Piが電力不足に陥り起動できなくなるため、セルフパワーのUSBハブを使う。
+-------+ |RPI3B+ | +-------+ | | | [USB2.0]--[HDD case]--[HDD] ※書込用マシンのOS入り | [USB2.0]--[USBハブ]--[HDD case]--[HDD] ※書込対象HDD | | [ACアダプタ] [ACアダプタ] | | [ACコンセント]
手順
- 起動ディスクをつくる
- 初回ブートする
- 設定する
- アプリ入手
- アプリ拡張機能インストール
- アプリ設定ファイル入手
1. 起動ディスクをつくる
- ダウンロードする
- HDDに書き込む
1-1. ダウンロードする
1-1-1. ダウンローダをダウンロードする
- 書込用マシンを起動する
- ターミナルを起動する
- 以下コマンドでダウンローダをダウンロードする
sudo apt install -y aria2
1-1-2. ダウンローダでOSイメージをダウンロードする
- OSイメージを選定する
- OSイメージのURLをコピーする
- OSイメージをダウンロードする
- SHA-256で確認する
1-1-2-1. OSイメージを選定する
- ブラウザを起動する
- 公式サイトを見る
Raspbian stretch 2018-11-13から3種類に増えた。以下の3つがある。
種類 | URL | SHA-256 | 概要 |
---|---|---|---|
Full | http://director.downloads.raspberrypi.org/raspbian_full/images/raspbian_full-2018-11-15/2018-11-13-raspbian-stretch-full.zip | 0ca644539fdaf4e19ec7cebf9e61c049b82ba45b1a21cdec91fa54bd59d660d2 | GUI版+アプリ多数 |
Desktop | http://director.downloads.raspberrypi.org/raspbian/images/raspbian-2018-11-15/2018-11-13-raspbian-stretch.zip | a121652937ccde1c2583fe77d1caec407f2cd248327df2901e4716649ac9bc97 | GUI版(マウス入力) |
Lite | http://director.downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2018-11-15/2018-11-13-raspbian-stretch-lite.zip | 47ef1b2501d0e5002675a50b6868074e693f78829822eef64f3878487953234d | CUI版(コマンド入力) |
1-1-2-2. OSイメージのURLをコピーする
- 公式サイトからOSイメージをダウンロードする
- ブラウザ(Chromium)の
ダウンロード一覧
を表示する(Ctrl
+J
) - ダウンロードを中止する
- ダウンロード項目を右クリックする
リンクのアドレスをコピー
をクリックする
1-1-2-3. OSイメージをダウンロードする
- OSイメージファイル保存先(
/home/pi/root/db/iso/os/raspbian
)に移動する - ダウンローダでOSイメージファイルをダウンロードする
コマンドの例は以下。パスやURLは任意に編集すること。URLは先程コピーしたOSイメージのURLを使う。
cd /home/pi/root/db/iso/os/raspbian time aria2c -x10 http://director.downloads.raspberrypi.org/raspbian/images/raspbian-2018-11-15/2018-11-13-raspbian-stretch.zip
シェルスクリプトファイルにするなら以下。OutPath
, OsImgUrl
を任意に変更して使う。
download_os_image.sh
OutPath=/home/pi/root/db/iso/os/raspbian OsImgUrl=http://director.downloads.raspberrypi.org/raspbian/images/raspbian-2018-11-15/2018-11-13-raspbian-stretch.zip cd "${OutPath}" time aria2c -x10 "${OsImgUrl}"
おそらく1時間くらいかかる。1GB以上ある。
1-1-2-4. SHA-256で確認する
ダウンロードが完了したらSHA-256でデータ破損などがないか確認する。(必須ではない)
ファイルのSHA-256を算出するコマンドは以下。
shasum -a 256 /home/pi/root/db/iso/os/raspbian/2018-11-13-raspbian-stretch.zip > checked.txt
出力されたchecked.txt
ファイルの内容と公式サイトで公開されているSHA-256の値が一致していれば、ファイル破損なく正常にダウンロードできたと思われる。
たとえば2018-11-13のDesktop版なら以下で確認できる。
cd /tmp/work echo 'a121652937ccde1c2583fe77d1caec407f2cd248327df2901e4716649ac9bc97' > expect.txt shasum -a 256 /home/pi/root/db/os/raspbian/2018-11-13-raspbian-stretch.zip | cut -d ' ' -f 1 > actual.txt diff -s expect.txt actual.txt
diff -s
により以下のメッセージが出ればOK。
expect.txt と actual.txt は同一です
もし違えば、例えば以下のようになる。
< a121652937ccde1c2583fe77d1caec407f2cd248327df2901e4716649ac9bc97 --- > a121652937ccde1c2583fe77d1caec407f2cd248327df2901e4716649ac9bc97A
SHA-256値が違うときはファイル破損している可能性がある。原因と対処は以下。
原因 | 対処 |
---|---|
ダウンロード時にデータが破損した | ダウンロードし直す |
公式サイトの元データが改ざんされて提供者の意図せぬデータになっている | 公式情報をみる等して事実確認。事実なら改善を待つか古い版をダウンロードする |
1-2. HDDに書き込む
- 対象HDDの名前を特定する
- HDDにOSイメージを書き込む
1-2-1. 対象HDDの名前を特定する
- ターミナルを起動する
df -h
コマンドを打つ- 書込対象HDDの名前を探す
$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/root 917G 171G 709G 20% / devtmpfs 370M 0 370M 0% /dev tmpfs 375M 62M 314M 17% /dev/shm tmpfs 375M 11M 365M 3% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 375M 0 375M 0% /sys/fs/cgroup tmpfs 32M 32K 32M 1% /var/log tmpfs 500M 16K 500M 1% /tmp tmpfs 16M 0 16M 0% /var/tmp tmpfs 768M 9.1M 759M 2% /home/pi/.cache/chromium/Default tmpfs 1.0M 16K 1008K 2% /home/pi/.cache/lxsession/LXDE-pi /dev/sda1 43M 22M 21M 52% /boot tmpfs 75M 0 75M 0% /run/user/1000 /dev/sdb1 61M 51M 9.3M 85% /media/pi/boot
上記が一例。区別は以下。
名前 | 概要 |
---|---|
/dev/sda1 |
起動中のシステム。間違ってもこれに書き込んではダメ! |
/dev/sdb1 |
書込対象とするHDD |
HDDは/dev/sd?1
の書式になる。?
にはa
〜z
が順に入る。どのHDDに書き込むかはHDD内にあるファイル内容などで確認すること。今回は/dev/sdb1
が書込対象である。
1-2-2. アンマウントする
書込先をアンマウントする。書込先は/dev/sdb
なのでそれに対応するマウントをアンマウントする。
umount /media/pi/boot umount /media/pi/rootfs
アンマウントしないとブートできないHDDが出来上がってしまう。
デバイス名などの例は以下。
項目 | 名前 | 例 |
---|---|---|
デバイス名 | /dev/sd[a-z]+[1-9]?[0-9]* |
/dev/sda , /dev/sdb , /dev/sdc , ... |
デバイス名+パーティション名/dev/sd[a-z]+[1-9]?[0-9]* |
/dev/sda1 , /dev/sda2 , /dev/sda3 , ... |
|
ラズパイ・マウント名 | boot[1-9]?[0-9]* , rootfs[1-9]?[0-9]* |
/media/pi/boot , media/pi/rootfs , /media/pi/boot1 , media/pi/rootfs1 |
1-2-3. HDDにOSイメージを書き込む
/dev/sdb
にRaspbianを書き込む。コマンドは以下。
time unzip -p /home/pi/root/db/iso/os/raspbian/2018-11-13-raspbian-stretch.zip | sudo dd of=/dev/sdb bs=4M conv=fsync
2時間くらいかかった。
シェルスクリプトなら以下。
write_os_image_to_HDD.sh
OutPath=/home/pi/root/db/iso/os/raspbian OsImgFileName=2018-11-13-raspbian-stretch.zip unzip -p ${OutPath}/${OsImgFileName} | sudo dd of=/dev/sdb bs=4M conv=fsync
ダウンロードと書込のスクリプト。
download_and_write_os_image.sh
OutPath=/home/pi/root/db/iso/os/raspbian OsImgFileName=2018-11-13-raspbian-stretch.zip OsImgUrl=http://director.downloads.raspberrypi.org/raspbian/images/raspbian-2018-11-15/${OsImgFileName} WriteDevice=/dev/sdb Download() { cd "${OutPath}" time aria2c -x10 "${OsImgUrl}" } Write() { unzip -p "${OutPath}/${OsImgFileName}" | sudo dd of=${WriteDevice} bs=4M conv=fsync } SwitchWrite() { local message="OSイメージ「${OutPath}/${OsImgFileName}」を「${WriteDevice}」に書き込みます。「${WriteDevice}」の内容がすべて消去されますが良いですか? (y/N): " read -p "${message}" yn; case "$yn" in [yY]*) { echo "書込みを開始します。"; Write; };; *) echo "中止します。";; esac } # ダウンロード Download # HDD書込 SwitchWrite
2. 初回ブートする
- HDMI設定する
- 初回ブートする
- 初期設定する(ダイアログに従う)
2-1. HDMI設定する
ディスプレイが19201080(16:9)だとブートしても真っ暗で何も表示されないことがある。そこでブートする前にディスプレイに合わせてHDMI設定する。/boot/config.txt
ファイルを編集する。(1024768(4:3)では設定不要だった)
なお、以下は各ディスプレイを購入したとき出品者に問い合わせた設定値である。
2-1-1. cocopar 13.3 inch 16:9 1920x1080 HDMIディスプレイ
/boot/config.txt
# 2018-09-22 cocopar 13.3inch 16:9 Display max_usb_current=1 hdmi_group=2 hdmi_mode=82 hdmi_cvt 1920 1080 60 6 0 0 0 gpu_mem=256
2-1-2. ELECROW 13.3 inch 16:9 1920x1080 HDMIディスプレイ
/boot/config.txt
# 2018-09-21 Elecrow Display start # 古いディスプレイ(1024x768まで対応)だとブートしなくなる。(ディスプレイが暗い状態でチカチカするのを無限ループする)その場合はコメントアウトする。 max_usb_current=1 hdmi_group=2 hdmi_mode=1 hdmi_mode=82 hdmi_cvt 1920 1080 60 6 0 0 0 # 2でないと音が出ない #hdmi_drive=1 hdmi_drive=2 # 2018-09-21 Elecrow Display end # 2018-09-30 https://qiita.com/tkyonezu/items/0d11c782da3921d6a9f3 program_usb_boot_mode=1 program_usb_boot_timeout=1 # 2018-09-30 https://qiita.com/tkyonezu/items/0d11c782da3921d6a9f3
2-1-3. 参考
- https://www.atnr.net/how-to-output-from-hdmi-with-raspberry-pi-3/
- http://s-edword.hatenablog.com/entry/2018/01/09/000357
他のディスプレイに対応したいときなどは/boot/config.txtの設定値などを上記URLを参考にして適切に変更すること。
2-2. 初回ブートする
- 書込用マシンから書込完了したHDDをイジェクトする
- HDDをRaspberry PiにUSB接続する
- ACアダプタをコンセントに挿す
- 初回ブートを確認する
初回ブート時はHDDの領域を自動で拡張する処理が走る。しばらく待てばデスクトップ画面が表示されるはず。
2-3. 初期設定する(ダイアログに従う)
初回ブート後にデスクトップが表示されたら、ダイアログが表示されているはず。これに従うことで初期設定できる。基本的にはNext
を押していく。
- ラズパイを起動してデスクトップ表示されるとダイアログが表示される (
Welcome to Raspberry Pi
) Next
をクリックするSet Country
ページにて、Country
をJapan
にする- (
Language
,Timezone
も日本に自動設定される) Next
をクリックするChange Password
ページにて、システムパスワードを任意に設定する- (デフォルトはユーザ名:
pi
, パスワード:raspberry
) Select Wifi Network
ページにて、自宅のルータを選択してNext
をクリックする- Wifiのパスワードを入力して
Next
をクリックする Update Software
ページにて、システムアップデートはSkip
するSetup Complete
ページにて、Reboot
する
3. 設定する
- スワップ拡張
- RAMディスク設定
- aptのソースを日本サーバに設定
- ログ出力の抑制
- .bashrcに自作スクリプト呼出を追記
- システム更新
- 日本語フォント+日本語入力のインストール
- アプリのインストール
まとめたバッチは以下。
raspbian_first_setup.sh
#!/bin/bash # =================================================== # 題名: Raspbian stretch 初期セットアップ自動化バッチ # 対象OS: Raspbian stretch 9.0 2018-11-13 # 作成日: 2019-02-15 # 作成者: ytyaru # セットアップ概要: # * スワップ(拡張 or 停止) # * RAMディスク設定 # * aptのソースを日本サーバに設定 # * ログ出力の抑制 # * .bashrcに自作スクリプト呼出を追記 # * システム更新 # * 日本語フォント+日本語入力のインストール # * アプリのインストール # 実行タイミング: # SDカードにRaspbianをインストールし、 # 初回ブートし、 # ダイアログに従ってセットアップ # した後に1度だけ実行する。 # なお、システム更新はダイアログの時点ではスキップし、このバッチで行うほうが高速に完了するはず。 # =================================================== # コマンドをsudo権限で実行する # $1: some linux command. run_sudo() { sudo sh -c "${1}" } # 指定したテキストを指定したファイルに追記する # $1: text: new line text. # $2: file: target file path. # http://yut.hatenablog.com/entry/20111013/1318436872 # https://qiita.com/b4b4r07/items/e56a8e3471fb45df2f59 # http://wannabe-jellyfish.hatenablog.com/entry/2015/01/10/004554 # http://pooh.gr.jp/?p=6311 write_line() { for i in "${1}"; do local command="echo '${i}'" sudo sh -c "${command} >> \"${2}\"" done } # 指定ファイルのうち先頭が指定テキストの場合、先頭に#を付与する # $1: file: target file path. # $2: text: target text(ヒアドキュメントで複数行指定されることを想定) #http://linux-bash.com/archives/3745148.html write_sharp() { #IFS_backup=IFS #IFS=$'\n' for i in ${2}; do # 末尾の改行を除去(しないと次のエラーが出る。"sed: -e expression #1, char 2: アドレスregexが終了していません") local line=`echo ${i} | sed -e "s/[\r\n]\+//g"` local sed_script="/^${line}/s/^/#/" local sed_cmd="sed -e \"${sed_script}\" -i.bak \"${1}\"" run_sudo "${sed_cmd}" done #IFS=IFS_backup } # スワップ停止(SDカード書込上限対策) stop_swap() { sudo swapoff --all sudo systemctl stop dphys-swapfile sudo systemctl disable dphys-swapfile } # スワップのサイズを100MBから2GBに変更する setup_swap() { local SwapFilePath=/etc/dphys-swapfile write_sharp "${SwapFilePath}" "CONF_SWAPSIZE=100" write_line "CONF_SWAPSIZE=2048" "${SwapFilePath}" sudo systemctl stop dphys-swapfile sudo systemctl start dphys-swapfile } # RAMディスク作成(SDカード書込上限対策) write_fstab() { text=' tmpfs /tmp tmpfs defaults,size=768m,noatime,mode=1777 0 0 tmpfs /var/tmp tmpfs defaults,size=16m,noatime,mode=1777 0 0 tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 0 0 tmpfs /home/pi/.cache/chromium/Default/ tmpfs defaults,size=768m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/lxsession/LXDE-pi tmpfs defaults,size=1m,noatime,mode=1777 0 0 ' write_line "${text}" "/etc/fstab" } # システム更新の高速化(日本用) write_apt_sources_list() { text=' deb http://ftp.jaist.ac.jp/raspbian/ stretch main contrib non-free rpi deb http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ stretch main contrib non-free rpi deb http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian/ stretch main contrib non-free rpi deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi # firmwar update deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui ' write_line "${text}" "/etc/apt/sources.list" } # ログ出力を抑制する(SDカード書込上限対策) #http://linux-bash.com/archives/3745148.html #http://momijiame.tumblr.com/post/92049916671/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E7%89%B9%E5%AE%9A%E8%A1%8C%E3%82%92-sed-%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E3%82%B3%E3%83%A1%E3%83%B3%E3%83%88%E3%82%A2%E3%82%A6%E3%83%88%E3%81%99%E3%82%8B #/etc/rsyslog.conf comment_out_rsyslog_conf() { text=' auth,authpriv.* *.*;auth,authpriv.none cron.* daemon.* kern.* lpr.* mail.* user.* mail.info mail.warn mail.err *.=debug;\ auth,authpriv.none;\ news.none;mail.none -/var/log/debug *.=info;*.=notice;*.=warn;\ auth,authpriv.none;\ cron,daemon.none;\ mail,news.none -/var/log/messages ' write_sharp "/etc/rsyslog.conf" "${text}" } # .bashrcに自作スクリプト呼出を追記 append_bashrc() { timestamp=`date +"%Y-%m-%d %H:%M:%S"` # text=' ## ${timestamp} 自作スクリプト呼出 #. "$HOME/root/script/sh/_called/bash/bashrc.sh" #' text=$(cat <<EOS # ${timestamp} 自作スクリプト呼出 . "$HOME/root/script/sh/_called/bash/bashrc.sh" EOS ) write_line "${text}" "/etc/apt/sources.list" } # システム&ファームウェア更新 update_system() { sudo apt update -y sudo apt upgrade -y sudo apt dist-upgrade -y } # 日本語化 japanese() { sudo apt install -y fonts-vlgothic fonts-ipafont fonts-ipaexfont sudo apt install -y fcitx-mozc } # アプリケーションのインストール install_apps() { install_general install_sdk install_tools_myscript_depend } # 汎用系アプリケーションインストール install_general() { sudo apt install -y pluma sudo apt install -y gimp # install_libreoffice } install_libreoffice() { sudo apt install -y libreoffice sudo apt install -y libreoffice-l10n-ja sudo apt install -y libreoffice-help-ja } # 開発系アプリケーションインストール install_sdk() { install_sdk_mono install_sdk_monodevelop } install_sdk_mono() { time sudo apt install -y apt-transport-https dirmngr time sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/debian stable-raspbianstretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list time sudo apt install -y mono-devel } install_sdk_monodevelop() { time sudo apt install -y monodevelop # MonoDevelop拡張機能のインストール # https://github.com/picoe/Eto/releases } # 自作スクリプトで使うツール install_tools_myscript_depend() { sudo apt install -y xsel sudo apt install -y xdotool } # ブラウザの設定 # * 起動時:`前回開いていたページを開く` # * ダウンロード 保存先:`/tmp` # ブラウザ拡張機能のインストール # [ublock-origin](https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm?hl=ja)|広告ブロック # [stylus](https://chrome.google.com/webstore/detail/stylus/clngdbkpkpeebahjckkjfobafhncgmne)|ユーザスタイルシート # [authenticator](https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai?hl=ja)|二段階認証アプリ # 実行する #stop_swap setup_swap write_fstab write_apt_sources_list comment_out_rsyslog_conf append_bashrc update_system japanese install_apps # 再起動する reboot
3-1. スワップ拡張
/etc/dphys-swapfile
ファイルをテキストエディタで開く(管理者権限)CONF_SWAPSIZE=100
とある行の先頭に#
を追記してコメントアウトするCONF_SWAPSIZE=2048
を追記する(スワップサイズを2GBに拡張)systemctl
を再起動する
sudo leafpad /etc/dphys-swapfile
sudo systemctl stop dphys-swapfile sudo systemctl start dphys-swapfile
3-2. RAMディスク設定
/etc/fstab
ファイルをテキストエディタで開く(管理者権限:sudo leafpad /etc/fstab
)- ファイルの末尾に以下を追記する
tmpfs /tmp tmpfs defaults,size=768m,noatime,mode=1777 0 0 tmpfs /var/tmp tmpfs defaults,size=16m,noatime,mode=1777 0 0 tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 0 0 tmpfs /home/pi/.cache/chromium/Default/ tmpfs defaults,size=768m,noatime,mode=1777 0 0 tmpfs /home/pi/.cache/lxsession/LXDE-pi tmpfs defaults,size=1m,noatime,mode=1777 0 0
3-3. aptのソースを日本サーバに設定
/etc/apt/sources.list
ファイルをテキストエディタで開く(管理者権限:sudo leafpad /etc/apt/sources.list
)- ファイルの先頭に以下を追記する
deb http://ftp.jaist.ac.jp/raspbian/ stretch main contrib non-free rpi deb http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ stretch main contrib non-free rpi deb http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian/ stretch main contrib non-free rpi deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi # firmwar update deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui
3-4. ログ出力の抑制
/etc/rsyslog.conf
ファイルをテキストエディタで開く(管理者権限:sudo leafpad /etc/rsyslog.conf
)- 以下の箇所をコメントアウトする(以下はコメントアウト後の状態)
############### #### RULES #### ############### # # First some standard log files. Log by facility. # #auth,authpriv.* /var/log/auth.log #*.*;auth,authpriv.none -/var/log/syslog #cron.* /var/log/cron.log #daemon.* -/var/log/daemon.log #kern.* -/var/log/kern.log #lpr.* -/var/log/lpr.log #mail.* -/var/log/mail.log #user.* -/var/log/user.log # # Logging for the mail system. Split it up so that # it is easy to write scripts to parse these files. # #mail.info -/var/log/mail.info #mail.warn -/var/log/mail.warn #mail.err /var/log/mail.err # # Some "catch-all" log files. # #*.=debug;\ # auth,authpriv.none;\ # news.none;mail.none -/var/log/debug #*.=info;*.=notice;*.=warn;\ # auth,authpriv.none;\ # cron,daemon.none;\ # mail,news.none -/var/log/messages
3-5. .bashrcに自作スクリプト呼出を追記
/home/pi/.bashrc
ファイルをテキストエディタで開く(管理者権限:sudo leafpad /home/pi/.bashrc
)- ファイル末尾に以下を追記する
# ${timestamp} 自作スクリプト呼出 . "$HOME/root/script/sh/_called/bash/bashrc.sh"
3-6. システム更新
sudo apt update -y sudo apt upgrade -y sudo apt dist-upgrade -y
3-7. 日本語フォント+日本語入力のインストール
sudo apt install -y fonts-vlgothic fonts-ipafont fonts-ipaexfont sudo apt install -y fcitx-mozc
3-8. アプリのインストール
sudo apt install -y pluma sudo apt install -y gimp sudo apt install libreoffice sudo apt install libreoffice-help-ja time sudo apt install -y apt-transport-https dirmngr time sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb https://download.mono-project.com/repo/debian stable-raspbianstretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list time sudo apt install -y mono-devel time sudo apt install -y monodevelop
4. アプリ入手
上記ですでにほぼやっている。
- 汎用系
- 開発系
4-1. 汎用系
名前 | 概要 |
---|---|
pluma | テキストエディタ |
gimp | 画像エディタ |
libreoffice | 表計算などオフィス系 |
sudo apt install -y pluma sudo apt install -y gimp
sudo apt install libreoffice sudo apt install libreoffice-help-ja
4-2. 開発系
C
- .NET Core
- MONO
- MonoDevelop
Python
- pyenv
- python(最新)
Node.js
- nodejs
5. 拡張機能
各アプリの拡張機能インストール。
- Browser
- MonoDevelop
5-1. Browser
5-1-0. profile
できればプロファイル丸ごとコピペが最善。(Chromium 65)。
- ブラウザを終了させておく(ファイルを上書きさせないため)
- 移行元と移行先でそれぞれの
~/.config/chromium/
に移動する - 直下の
Local State
ファイルを移行先へ上書きする - 直下のプロファイルディレクトリ(
Default
,Profile 1
等)を移行先へ上書きする
Googleアカウントでログインしようとしたら本人確認を求められた。友人の名前など「秘密の質問」と思われるものが提示された。全く記憶にないため入力できない。いじくりまわしているうちにメールアドレス送信してコード入力することになった。だがそれでも「本人と確認できませんでした」と怒られる。 原因不明。異なるデバイスからアクセスするとこうなる可能性がある? でも今まではこんなことなかった。丸ごとコピーするとこうなる?。超面倒くさい。
パスワードの移行については以下。未調査。
5-1-1. profile
拡張機能 | 概要 |
---|---|
ublock-origin | 広告ブロック |
stylus | ユーザスタイルシート |
authenticator | 二段階認証アプリ |
5-2. MonoDevelop
6. dotfiles
各アプリの設定ファイル。
.bashrc
.vimrc
.config/
openbox/
cromium/
7. アカウント
2019-02-28時点。パスワードだけでなく異なるデバイスでのログインが制限される。対処方法不明。時々刻々と変化するため対応を自動化することは不可能。