1: 2017-07-08 (土) 07:20:58 yuji | 現: 2020-12-26 (土) 15:07:53 yuji Attached file: km-0411.ini |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | * Raspbian Jessieのインストール [#j43b6f52] | + | * Raspbianのインストール [#j43b6f52] |
+ | Raspberry Piに,OSとしてRaspbian((最新バージョンはRaspberry Pi OSという名前に変わった)) with Desktopをインストールしてみた。 | ||
- | Raspberry Pi3Bに[[Raspbian Jessie with Desktop>https://www.raspberrypi.org/downloads/raspbian/]]をインストールしてみた。新しいOSとして,Raspbian Stretch with desktopがリリースされている。~ | + | 最新のバージョンのRasbianとしては4代目であるRaspbian Buster with desktopが,06/24/2019にリリースされている。RaspbianはRaspberry Pi向けに調整したDebian(Raspberry Pi+Debian=Raspbian)ということみたい。 |
- | Stretchの場合でも,Jessieとほぼ同じでインストール出来る。 | + | |
- | Download((ミラーサイト: http://ftp.jaist.ac.jp/raspbian や http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ が早くダウンロードできる。))した2017-03-02-raspbian-jessie.zipを解凍して,[[Win32DiskImager>https://ja.osdn.net/projects/sfnet_win32diskimager/]]を使用してMicro SDカード(16GB)に書きこんだ。 | + | Raspberry Pi3Bに[[Raspbian Stretch with Desktop>https://www.raspberrypi.org/downloads/raspbian/]]を,Pi4Bには[[Raspbian Buster with Desktop>https://www.raspberrypi.org/downloads/raspbian/]]をインストールした。以前のPi BやPi 2BにはRaspbian Jessieを入れていたが,インストール方法はほぼ同じ。 |
- | 注意するのはMicroSDカード。Raspberry Piではトラブルが出るMicroSDカードってのがやはりある。TOSHIBAのものだと概ね大丈夫みたいだけど。 | + | 注意するのは使用するMicroSDカード。Raspberry Piでは問題なく使用できるMicroSD/SDカードをけっこう選ぶ。使用中[[トラブルが出るMicroSDカード>../../SDカードの相性]]ってのが意外と多くある。~ |
+ | 経験的に''TOSHIBAのものだと概ね大丈夫''なので,理由がなければTOSHIBAのMicroSDカードを使用するようにしたほうがよい。 | ||
- | モニターとキーボードを接続しないでインストールするため,&font(Red){ブートパーテーションに空のファイルでsshを作成};した。こうすると,最初にブート後SSHでログイン出来るようになる。~ | + | 以下は,''モニターやキーボード,マウスを使用しないでOSをインストールする''手順をメモしておく。~ |
- | リモート接続は,有線LANを使う,無線LANを使う,シリアルポートを使う,といった方法がある。 | + | ** DownloadしたRaspbianをMicroSDに書き込む [#a6b6cd3b] |
+ | Download((ミラーサイト: http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/ なんかが早くダウンロードできる。))した2018-04-18-raspbian-stretch.zipを解凍して, Windowsマシンで[[Etcher>https://etcher.io/]] を使用してそのまま容量が8GB以上のMicro SDカードに書きこむか,もしくはzipファイルを解凍して2019-04-08-raspbian-stretch.imgを [[Win32DiskImager>https://ja.osdn.net/projects/sfnet_win32diskimager/]] を使って,容量が8GB以上のMicro SDカードに書きこむ。 | ||
- | 有線LAN接続でDHCPクライアントで自動でIP Addressがアサインされるので,今回はSSHログインでインストールを行うことにした。~ | + | 64GB,128GBなどの大きな容量のMicroSDカードを使用する場合には, [[Etcher>https://etcher.io/]] で書き込む必要がある。 [[Win32DiskImager>https://ja.osdn.net/projects/sfnet_win32diskimager/]] で書き込んだ場合はブート出来ない。~ |
- | 無線LANでも前もって,設定ファイルを用意すれば,同様に使用することが出来る。 | + | 64GBや128GBといった大きな容量のSD/MicroSDカードを使用する場合は,購入したときには大抵exFATでフォーマットされているので,Raspbianのイメージを書き込んでもブート出来ない場合がある。これは,Raspberry Piでは最初のパーテーションがFAT/FAT32でないとブートローダーがロードできないため。~ |
+ | MicroSDカードをFAT32でフォーマットし直せば使えるのではあるが, [[SD card Formatter>https://www.sdcard.org/jp/index.html]] では64GB以上だとexFATでフォーマットされる。~ | ||
+ | なので,古い&ref(SP27608.exe,HP USB Disk Storage Format Tool); や &ref(diskformatter2_124.exe,BuffaloのDiskFormatter2); なんかを使えばFAT32でフォーマットできる。(もしくは,パーテーションを操作できるツールを使う)~ | ||
+ | あとは,通常通りイメージファイルを書き込めば,64GB,128GBのMicroSDカードでも使用出来る。 | ||
- | もちろん,Pi3Bのシリアルポートを使用してPCと接続しシリアルコンソールを使用すれば,LANケーブルも接続しないでOSのインストールと各種設定することが出来る。 | + | &shiftnote; |
- | LANケーブルを接続し,USBケーブルで電源を供給してしばらくたったら,PuTTYを使ってログインする。 | + | ** 書き込んだSD/MicroSDカードを少し編集する [#se18eb5e] |
- | ユーザ名:pi | + | ''モニターやキーボード,マウスを接続しないでインストールするため'',&font(Red){ブートパーテーションに空の内容でsshというファイル名のファイルを作成};した。こうすると,最初にブート後SSHでログイン出来るようになる。~ |
- | パスワード:raspberry | + | 書き込んだSD/MicroSDカードの/bootパーテーションはFAT/FAT32なため,Windowsマシンからでも直接編集出来る。 |
- | &shiftnote; | + | モニターやキーボード,マウスを使用しない場合,インストール後の各種設定を行うためにリモート接続する必要がある。~ |
+ | リモート接続する時には, | ||
+ | - 有線LANを使う~ | ||
+ | - 無線LANを使う~ | ||
+ | - シリアルポートを使う | ||
- | ** 接続にWLANを使用する場合 [#c0e0038e] | + | といった方法がある。 |
- | モニターやキーボード,マウスを接続しないでインストールする時にWLANを使用する場合には,アクセスポイントに接続してdhcpを使用してNetworkに接続するということが必要になる。 | + | |
- | 無線LANしか使えない場合,/bootにwpa_supplicant.confを作成しておけばブート時に使用してくれるようだ。~ | + | 家のローカルネットワークにRaspberry Piを接続出来る場合,有線LAN接続でDHCPクライアントで自動でIP Addressがアサインされるので,有線LANでSSHログインしてインストールするのがやりやすいとは思う。無線LANでも前もって,設定ファイルを用意すれば,同様に使用することが出来る。~ |
+ | 今回はこの方法で,SSHログインでインストールを行うことにした。~ | ||
+ | |||
+ | Pi3Bのシリアルポートを使用してPCと接続しシリアルコンソールを使用すれば,LANケーブルも接続しないで,OSのインストールと各種設定を行うことが出来る。 | ||
+ | |||
+ | *** 有線LANで接続する場合 [#r92ac723] | ||
+ | この場合,準備は上記のブートパーテーション(/boot)に空のファイルでsshを作成してしておくだけでOK。 | ||
+ | LANケーブルを接続し,USBケーブルで電源を供給してしばらくたったらPuTTYなんかでSSHログインする。 | ||
+ | |||
+ | この時,Raspberry PiにDHCPでアサインされたIP Addressを知らないと接続できない。~ | ||
+ | Windowsマシンでは,以下のようにすれば見つけることが出来る。 | ||
+ | for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.XXX.%i | ||
+ | 実行が終わったら, | ||
+ | arp -a | ||
+ | とすると,EthernetのMACアドレスが表示されるんで,b8:27から始まのがRaspberry Piになる。~ | ||
+ | Linuxマシンであれば, | ||
+ | arp-scan --interface=eth0 192.168.XXX.0/24 | grep b8:27 | ||
+ | とかすればわかる。 | ||
+ | |||
+ | Pi4では,LANチップがBroadcom BCM54213Pに変更されて,これに伴い''dc:a6:32で始まるMACアドレスに変更されている。'' | ||
+ | |||
+ | *** 接続にWLANを使用する場合 [#c0e0038e] | ||
+ | モニターやキーボード,マウスを接続しないでインストールする時にWLANを使用する場合には,指定するアクセスポイントに接続してdhcpを使用してNetworkに接続するということが必要になる。 | ||
+ | |||
+ | 無線LANを使う場合,/bootに''wpa_supplicant.conf''を作成しておけば,ブート時に使用してくれるようだ。~ | ||
最初にブート後,/boot/wpa_supplicant.confを/etc/wpa_supplicant/wpa_supplicant.confにコピー後,/boot/wpa_supplicant.confは削除される。 | 最初にブート後,/boot/wpa_supplicant.confを/etc/wpa_supplicant/wpa_supplicant.confにコピー後,/boot/wpa_supplicant.confは削除される。 | ||
- | /boot/wpa_supplicant.confは以下のように作成しておく | + | ''/boot/wpa_supplicant.conf''を以下のように作成しておく。 |
ctrl_interface=/var/run/wpa_supplicant | ctrl_interface=/var/run/wpa_supplicant | ||
country=JP | country=JP | ||
network={ | network={ | ||
- | ssid="marin" | + | ssid="access1" |
key_mgmt=NONE <-- WEPの場合 | key_mgmt=NONE <-- WEPの場合 | ||
wep_key0="xxxxxx" | wep_key0="xxxxxx" | ||
wep_tx_keyidx=0 | wep_tx_keyidx=0 | ||
+ | priority=2 <-- 数字が大きい方が優先される | ||
} | } | ||
network={ | network={ | ||
- | ssid="nermal2" | + | ssid="access2" |
psk="xxxxxxxxxxxxxx" <-- WAPの場合 | psk="xxxxxxxxxxxxxx" <-- WAPの場合 | ||
+ | priority=1 | ||
} | } | ||
- | ** 接続にシリアルポートを使用する場合 [#af53ed44] | + | Raspberry PiのIPアドレスを知るのは,有線LANと同様。 |
- | 有線LANも無線LANも使用できない場合は,GPIOのシリアルポートを使用して,シリアル | + | |
+ | *** 接続にシリアルポートを使用する場合 [#af53ed44] | ||
+ | 有線LANも無線LANも使用できない場合は,GPIOコネクタのシリアルポートを使用して,シリアル | ||
コンソールでログインするようにする。 | コンソールでログインするようにする。 | ||
- | この場合,Raspberry Pi3の場合は,/boot/config.txtに追加する。~ | + | この場合,''Raspberry Pi3BとZeroW''の場合は, |
- | # dtoverlay=pi3-miniuart-bt | + | |
core_freq=250 | core_freq=250 | ||
+ | ''Raspberry Pi4B''の場合は, | ||
+ | enable_uart=1 | ||
+ | を,''/boot/config.txt''に追加する。~ | ||
Piのヘッダピンの以下のシリアルポート信号をPCのCOMポートと接続する。 | Piのヘッダピンの以下のシリアルポート信号をPCのCOMポートと接続する。 | ||
Line 64: | Line 102: | ||
* 各種環境設定 [#rd4aac85] | * 各種環境設定 [#rd4aac85] | ||
- | 最初に起動したら,SSHでリモートログインする。 | + | Raspberry PiにACアダプター等で電源を接続して最初に起動したら,SSHでリモートログインする。~ |
利用できるデフォルトのユーザーアカウントは,piユーザーとrootユーザー。 | 利用できるデフォルトのユーザーアカウントは,piユーザーとrootユーザー。 | ||
pi:raspberry | pi:raspberry | ||
- | root:raspbian | + | root:パスワードは設定されていない |
piユーザーでログインする。 | piユーザーでログインする。 | ||
- | まず,デフォルトで登録されているpiユーザのパスワードを,変更する。(raspi-configでも出来る) | + | まず,デフォルトで登録されているpiユーザのパスワードを変更する。(raspi-configでも出来る) |
$ sudo passwd pi | $ sudo passwd pi | ||
ルール無しでパスワードを設定できる。~ | ルール無しでパスワードを設定できる。~ | ||
Line 100: | Line 138: | ||
Japan | Japan | ||
- Change Locale~ | - Change Locale~ | ||
- | ja_JP.UTF-8 UTF-8 | + | ja_JP.UTF-8 |
- | を追加して,デフォルトをja_JP.UTF-8 UTF-8にする。~ | + | を追加して,デフォルトをja_JP.UTF-8にする。~ |
~もしくは,/etc/locale.genファイルのja_JP.UTF-8 UTF-8を有効にして(#を削除する), | ~もしくは,/etc/locale.genファイルのja_JP.UTF-8 UTF-8を有効にして(#を削除する), | ||
# locale-gen | # locale-gen | ||
Line 110: | Line 148: | ||
上記の設定をして,Finishをクリックで再起動。~ | 上記の設定をして,Finishをクリックで再起動。~ | ||
- | パーテーションのサイズは最初に自動で拡張される。 | + | ''パーテーションのサイズは最初に自動で拡張される。'' |
** キーボードレイアウトの設定 [#qa0f6376] | ** キーボードレイアウトの設定 [#qa0f6376] | ||
Line 132: | Line 170: | ||
X11 Options: terminate:ctrl_alt_bksp | X11 Options: terminate:ctrl_alt_bksp | ||
106日本語キーボードに設定しておく。 | 106日本語キーボードに設定しておく。 | ||
+ | |||
+ | ** マシン名の変更 [#ce11c70f] | ||
+ | マシン名を変更する。(raspi-configでも出来る) | ||
+ | # hostnamectl set-hostname pi1 | ||
** USBポートの最大合計電源供給量の設定 [#m21d3fe9] | ** USBポートの最大合計電源供給量の設定 [#m21d3fe9] | ||
Line 145: | Line 187: | ||
|Raspberry Pi2 B|600mA/1200mA(切り換え)| | |Raspberry Pi2 B|600mA/1200mA(切り換え)| | ||
|Raspberry Pi3 B|1200mA| | |Raspberry Pi3 B|1200mA| | ||
- | |Raspberry PiZeroW|?| | + | |Raspberry Pi ZeroW|制限無し| |
+ | |Raspberry Pi4 B|1200mA| | ||
** ユーザの追加 [#z68aea81] | ** ユーザの追加 [#z68aea81] | ||
Line 151: | Line 194: | ||
$ su - | $ su - | ||
# adduser yuji | # adduser yuji | ||
+ | |||
+ | /etc/groupファイルを編集して,追加したユーザが参加するグループを片っ端から登録する。~ | ||
+ | 編集し終わったら, | ||
+ | # grpconv | ||
+ | で,変更を反映させる。 | ||
+ | |||
+ | 必要であれば,追加したユーザをsudoグループに追加する。 | ||
+ | # gpasswd -a xxxxx sudo | ||
+ | |||
+ | 追加したユーザのsudo時のパスワード入力を省くようにしておく。 | ||
+ | /etc/sudoersファイルを編集して,以下の行を追加する。 | ||
+ | xxxxx ALL=(ALL) NOPASSWD: ALL | ||
** ブート時にコンソールにする [#c95d39c1] | ** ブート時にコンソールにする [#c95d39c1] | ||
デフォルトでは,GUIのXが立ち上がるようになっている。~ | デフォルトでは,GUIのXが立ち上がるようになっている。~ | ||
- | CUIの操作で十分なので,デフォルトをコンソールに変更する。 | + | CUIの操作で十分な場合は,デフォルトをコンソールに変更する。 |
# raspi-config | # raspi-config | ||
から,3 Boot OptionsのB1 Desktop / CUIでConsoleを選ぶ。 | から,3 Boot OptionsのB1 Desktop / CUIでConsoleを選ぶ。 | ||
Line 164: | Line 219: | ||
以下のように必要であれば編集する。 | 以下のように必要であれば編集する。 | ||
network={ | network={ | ||
- | ssid="marin" | + | ssid="access1" |
key_mgmt=NONE <-- WEPの場合 | key_mgmt=NONE <-- WEPの場合 | ||
wep_key0="xxxxxxxxxxxxxxxxxxx" | wep_key0="xxxxxxxxxxxxxxxxxxx" | ||
wep_tx_keyidx=0 | wep_tx_keyidx=0 | ||
+ | priority=2 <-- 数字が大きい方が優先される | ||
} | } | ||
+ | |||
network={ | network={ | ||
- | ssid="nermal2" | + | ssid="access2" |
psk="xxxxxxxxxxxxxx" <-- WAPの場合 | psk="xxxxxxxxxxxxxx" <-- WAPの場合 | ||
key_mgmt=WPA-PSK | key_mgmt=WPA-PSK | ||
+ | priority=1 | ||
} | } | ||
Line 179: | Line 236: | ||
** 最新状態に更新 [#k016a2d2] | ** 最新状態に更新 [#k016a2d2] | ||
- | apt-get用に,近いサイトを設定する。~ | + | パッケージ管理ツールのapt-get用に,近いサイトを設定する。~ |
/etc/apt/sources.listを編集して,デフォルトを削除し,以下を追加 | /etc/apt/sources.listを編集して,デフォルトを削除し,以下を追加 | ||
deb http://ftp.jaist.ac.jp/raspbian jessie main contrib non-free | deb http://ftp.jaist.ac.jp/raspbian jessie main contrib non-free | ||
deb http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian/ jessie main contrib non-free | deb http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian/ jessie main contrib non-free | ||
+ | jessieのところを,必要によってstretch,busterにする。 | ||
+ | |||
システムを更新しておく。 | システムを更新しておく。 | ||
# apt-get update | # apt-get update | ||
Line 191: | Line 250: | ||
&font(Red){upgrade途中で書き込みエラーとかで失敗する場合は,MicroSDカードの相性や寿命が考えられる。}; | &font(Red){upgrade途中で書き込みエラーとかで失敗する場合は,MicroSDカードの相性や寿命が考えられる。}; | ||
- | Raspberry Pi 3Bのファームフェアを必要なら更新する。 | + | Raspberry Pi 3Bのファームフェアを必要なら更新する。(aptパッケージ管理に登録される前の実験的なコードも含まれる。) |
# rpi-update | # rpi-update | ||
Line 212: | Line 271: | ||
に修正した。 | に修正した。 | ||
- | *** Raspbian Stretchの場合 [#n9a6fc58] | + | *** Raspbian Stretch,Busterの場合 [#n9a6fc58] |
以下のコマンドで,Network time on: yesになっているか確認する。 | 以下のコマンドで,Network time on: yesになっているか確認する。 | ||
# timedatectl status | # timedatectl status | ||
Line 228: | Line 287: | ||
FallbackNTPには予備のサーバーを指定しておく。 | FallbackNTPには予備のサーバーを指定しておく。 | ||
[Time] | [Time] | ||
- | NTP=ntp.nict.jp | + | NTP=ntp.jst.mfeed.ad.jp ntp.nict.jp |
FallbackNTP=time.google.com | FallbackNTP=time.google.com | ||
** Videoチップへのメモリ割り当て [#f0fd8e8d] | ** Videoチップへのメモリ割り当て [#f0fd8e8d] | ||
- | /boot/config.txtに以下を追加。デフォルトは,メインRAMの1GByteの内64Mbyteを割り当てるようになっています。~ | + | /boot/config.txtに以下を追加。デフォルトは,メインRAMの内64Mbyteを割り当てるようになっています。~ |
128Mbyteに変更する。 | 128Mbyteに変更する。 | ||
gpu_mem=128 | gpu_mem=128 | ||
- | * SwapをOFFにして,RAMディスクを使用する [#rf6cd373] | + | ** VNC接続を有効にする [#i9c30998] |
- | Raspberry Piは,MicroSDしかストレージがないので,短い時間でMicroSDカードが寿命になる場合がある。 | + | リモート接続する時にGUIで操作したい場合は,通常はvncを使うかxrdpを使うかします。Raspbianではrealvnc-vnc-serverが入っているようだ。~ |
+ | vncを使う場合は,raspi-configの5. Interfacing OptionからP3 VNCをたどってenableにすればOK。 | ||
+ | |||
+ | デフォルトをコンソールにしている場合はGUIに変更しておく。Raspi-configの3 Boot OptionsのB1 Desktop / CUIでGUIを選ぶ。 | ||
+ | |||
+ | リモート接続側は,通常の[[RealVNC Viewer>https://www.realvnc.com/en/connect/download/viewer/]]を使用する。 | ||
+ | |||
+ | *** VNC接続時の解像度 [#hbe4fe15] | ||
+ | VNCを使ってリモート接続するとそのままでは,VGA(720x480)の解像度になってしまう。~ | ||
+ | これは,インストールされているVNCサーバー(RealVNC)では,モニター(ディスプレイ)レスの場合は接続している解像度をモニターから取得できないため,デフォルトの解像度になってしまう。 | ||
+ | |||
+ | これでは不便なので,解像度の設定を変更する。 | ||
+ | |||
+ | /boot/config.txtを修正する。下の行の行頭のコメント記号を外す。 | ||
+ | framebuffer_width=1280 | ||
+ | framebuffer_height=720 | ||
+ | とする。 | ||
+ | |||
+ | もしくは,常時,HDMIから希望の解像度で出力するようにしてもOK。~ | ||
+ | HDMIコネクタにディスプレーを接続しないとアナログ・ビデオ出力になってしまう。~ | ||
+ | この場合は,HDMIのディスプレーを接続しないでも強制的にHDMIから画像が出力されるように,合わせて設定しておく。 | ||
+ | hdmi_force_hotplug=1 | ||
+ | hdmi_group=2 | ||
+ | hdmi_mode=85 | ||
+ | これでも,1280x768@60Hzに設定できる。設定値は[[こちら>https://elinux.org/RPiconfig#Video_mode_options]]を参照。)~ | ||
+ | |||
+ | 後者は,HDMIを使ってディスプレー表示した場合でも,この解像度が使用される。 | ||
+ | |||
+ | いつからかははっきりしないが,上記のやり方で解像度の変更を行ってもVNCの解像度が変更されなくなって,常に720x480もしくは1024x720になってしまうようになった。~ | ||
+ | この場合,Raspbian StrechだとRaspberry Piの設定にある解像度の設定で解像度を変更すると,VNCでもその設定値の解像度になる。~ | ||
+ | Raspbian Busterでヘッドレスの場合は,Raspberry Piの設定に解像度の項目が表示されなくなっていて,代わりに''設定>Screen Configlationを使って解像度を変更する。''~ | ||
+ | //おそらく,/etc/X11/vncserver-virtual.confファイルが設定により以下のように変更されるのだと思う。 | ||
+ | // Section "Monitor" | ||
+ | // Identifier "dummy_monitor" | ||
+ | // HorizSync 1.0 - 2000.0 | ||
+ | // VertRefresh 1.0 - 200.0 | ||
+ | // # Add 16:9 modes, others are automatically detected. | ||
+ | // Modeline "1280x720" 74.48 1280 1336 1472 1664 720 721 724 746 | ||
+ | // Modeline "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 | ||
+ | // EndSection | ||
- | 出来るだけ,この寿命を長くするように,Swapファイルは使用をやめて,テンポラリファイルをRAM Diskを使用するようにしてみる。 | + | 現在の画面の設定値を知りたい場合は, |
+ | # tvservice -s | ||
+ | state 0x12000a [HDMI DMT (85) RGB full 16:9], 1280x720 @ 60.00Hz, progressive | ||
+ | のように,表示してくれる。 | ||
+ | |||
+ | 後は,Raspberry Piを再起動すれば,画面サイズが変更されている。 | ||
- | RAMディスクは,電源OFF-ONやブートしたりした場合消えてしまうが,テンポラリのログ等では消えてしまってもまあ問題ない。 | + | *** クライアントがRealVNC Viewerじゃない場合 [#w4f7164e] |
+ | VNCクライアントには亜流がたくさんある。他のVNCクライアントを使いたい場合は, | ||
+ | ''/root/.vnc/config.d/vncserver-x11''の | ||
+ | Authentication=VncAuth | ||
+ | に変更する。もし該当する行がなければ追加する。 | ||
- | ** swapを使わないようにする [#j089ae05] | + | # vncpasswd -service |
- | freeコマンドでswapサイズを確認してみる。 | + | で,適当なパスワードをセットする。接続時に必要なので忘れないようにする。 |
- | # free | + | |
- | total used free shared buffers cached | + | |
- | Mem: 750632 523468 227164 5460 53252 361196 | + | |
- | -/+ buffers/cache: 109020 641612 | + | |
- | Swap: 102396 0 102396 | + | |
- | と,スワップファイルとして100MBが確保されている。usedは0なんで,スワップは発生していないが・・・ | + | *** GUIでの自動ログインをやめる [#ac27f2df] |
+ | デフォルトだとGUI環境でpiユーザで自動ログインされる。 | ||
- | まず,swapを無効化してみる。 | + | これをやめる。~ |
- | # dphys-swapfile swapoff | + | ''/etc/lightdm/lightdm.conf''ファイルを編集して, |
- | 確認してみると, | + | autologin-user=pi |
- | # free | + | ↓ |
- | total used free shared buffers cached | + | #autologin-user=pi |
- | Mem: 750632 527064 223568 5460 53652 361688 | + | のように,コメントする。 |
- | -/+ buffers/cache: 111724 638908 | + | |
- | Swap: 0 0 0 | + | |
- | 使用されなくなった。 | + | |
- | ちなみに,swapを有効化するには, | + | *** Webブラウザでvncに接続する [#l2f8390e] |
- | # dphys-swapfile swapon | + | PCから普通のvncクライアントを使って接続してもいいんだけど,Webブラウザで動作するvncクライアント[[noVNC>https://novnc.com/info.html]]を使ってみる。~ |
- | でOK。 | + | |
- | swapは使用しなくなったがこれは一時的なため,swapが自動起動しないようにsystemctlで停止する。 | + | インストールは, |
- | # systemctl stop dphys-swapfile | + | # apt-get install novnc |
- | 自動起動もやめる。 | + | でインストールできる。 |
- | # systemctl disable dphys-swapfile | + | |
- | Raspberry Piを再起動して,swapが使用されていないか確認する。 | + | ''/root/.vnc/config.d/vncserver-x11''に以下を追加する。 |
+ | ProtocolVersion=4.1 | ||
+ | RemapKeys=ja-jp | ||
- | ** /etc/fstabの編集 [#q92b0bc8] | + | 自動起動するように,''novnc.service''ファイルを作成する。 |
- | /etc/fstabを編集して,/tmpと/var/tmpと/var/logを移動するようにしてみる。 | + | [Unit] |
- | proc /proc proc defaults 0 0 | + | Description=noVNC service |
- | /dev/mmcblk0p1 /boot vfat defaults 0 2 | + | After=vncserver-x11-serviced.service |
- | /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 | + | |
- | # a swapfile is not a swap partition, no line here | + | [Service] |
- | # use dphys-swapfile swap[on|off] for that | + | ExecStart=/usr/share/novnc/utils/launch.sh |
- | これを, | + | Restart=always |
- | proc /proc proc defaults 0 0 | + | Type=simple |
- | /dev/mmcblk0p1 /boot vfat defaults 0 2 | + | User=xxx |
- | /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 | + | Group=pi |
- | # a swapfile is not a swap partition, no line here | + | |
- | # use dphys-swapfile swap[on|off] for that | + | [Install] |
- | tmpfs /tmp tmpfs defaults,size=32m,noatime,mode=1777 0 0 | + | WantedBy=multi-user.target |
- | tmpfs /var/tmp tmpfs defaults,size=16m,noatime,mode=1777 0 0 | + | ファイルを反映させる。 |
- | tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 0 0 | + | # systemctl daemon-reload |
- | とtmpfsとして3個追加する。 | + | # systemctl enable novnc.service |
+ | # systemctl start novnc.service | ||
- | 再起動して,マウント確認をする。 | + | Webブラウザで,http://xxxx:6080/vnc.html?host=xxxx&port=6080 のURL(XXXXはマシン名)にアクセスする。~ |
- | # df -h | + | vncpasswdで設定したパスワードを使って接続すれば,vncの画面が表示される。 |
- | ファイルシス サイズ 使用 残り 使用% マウント位置 | + | |
- | /dev/root 15G 4.6G 8.9G 34% / | + | |
- | devtmpfs 363M 0 363M 0% /dev | + | |
- | tmpfs 367M 0 367M 0% /dev/shm | + | |
- | tmpfs 367M 5.1M 362M 2% /run | + | |
- | tmpfs 5.0M 4.0K 5.0M 1% /run/lock | + | |
- | tmpfs 367M 0 367M 0% /sys/fs/cgroup | + | |
- | tmpfs 32M 88K 32M 1% /var/log | + | |
- | tmpfs 16M 0 16M 0% /var/tmp | + | |
- | tmpfs 32M 0 32M 0% /tmp | + | |
- | /dev/mmcblk0p1 63M 21M 42M 34% /boot | + | |
- | tmpfs 74M 0 74M 0% /run/user/1001 | + | |
- | これでRAMディスク化ができたので、SDカード上の tmpファイルを削除する。 | + | ** xrdpを使ってリモート接続 [#tb6b5562] |
- | rm -rf /tmp/* | + | Windowsマシンでは標準でリモートデスクトップ接続が使えます。VNCの場合は,WindowsマシンへVNC Viewerをインストールする必要があるんで,面倒な場合はリモートデスクトップ接続を使いたいわけです。~ |
- | rm -rf /var/tmp/* | + | Raspbianでも,このリモートデスクトップ接続を使える。 |
+ | # apt-get install xrdp | ||
+ | Raspberry Piを再起動後は,Windowsマシンからリモートデスクトップ接続を使って接続できる。~ | ||
+ | リモートデスクトップ接続の場合,画面の解像度なんかも接続側で設定できる。また,音をリモートすることも出来る。(Raspberry PiにPulseaudioをインストールする必要がある。) | ||
- | ** cron により一日に一回システムをリブート [#s222d010] | + | リモートデスクトップ接続した場合,キーボード入力がUSキー配列のままになっている場合がある。~ |
- | RAMをクリアするために,システムを自動でリブートする設定を行う。 | + | この場合には,以下のようにして対処する。~ |
- | # crontab -e | + | ここにある &ref(km-0411.ini); を/etc/xrdpにダウンロードして,ダウンロードしたkm-0411.iniファイルのシンボリックファイルをいくつか貼る。 |
- | nanoでcrontabファイルの編集ができる。~ | + | // # xrdp-genkeymap km-00000411.ini |
- | 最後の行に下記を追加する。ここでは午前4時5分に再起動がかかるようにした。 | + | # cd /etc/xrdp/ |
- | 5 4 * * * /sbin/reboot | + | // # wget http://w.vmeta.jp/temp/km-0411.ini |
+ | # ln -s km-0411.ini km-e0010411.ini | ||
+ | # ln -s km-0411.ini km-e0200411.ini | ||
+ | # ln -s km-0411.ini km-e0210411.ini | ||
+ | # systemctl restart xrdp.service | ||
+ | # systemctl enable xrdp.service | ||
- | ** 不要なログは作成しないようにする [#a79d3e83] | + | ** FTPサーバーのインストール [#xf76b0de] |
- | rsyslog.confを変更して,不要なログを作成しないようにする。これにより,ディスクへ | + | FTPプロトコルを使用して,ネットワーク上でファイルをやり取りする場合に便利なので,FTPサーバーをインストールしておく。 |
- | の書き込みを減らす。 | + | |
- | /etc/rsyslog.confファイルで,不要な行の頭をコメントアウトする。 | + | ''FTPサーバーのvsftpをインストール''~ |
- | ############### | + | # apt-get install vsftpd |
- | #### RULES #### | + | |
- | ############### | + | |
- | # | + | ''設定ファイル/etc/vsftpd.confを修正する''~ |
- | # First some standard log files. Log by facility. | + | anonymous_enable=NO |
- | # | + | local_enable=YES |
- | auth,authpriv.* /var/log/auth.log | + | write_enable=YES |
- | *.*;auth,authpriv.none -/var/log/syslog | + | local_umask=022 |
- | #cron.* /var/log/cron.log | + | ascii_upload_enable=YES |
- | #daemon.* -/var/log/daemon.log | + | ascii_download_enable=YES |
- | #kern.* -/var/log/kern.log | + | chroot_local_user=YES |
- | #lpr.* -/var/log/lpr.log | + | chroot_list_enable=YES |
- | #mail.* -/var/log/mail.log | + | chroot_list_file=/etc/vsftpd.chroot_list |
- | #user.* -/var/log/user.log | + | |
- | # | + | ''/etc/vsftpd.chroot_listファイルを編集する''~ |
- | # Logging for the mail system. Split it up so that | + | ユーザ権限の設定ファイルである/etc/vsftpd.chroot_listを編集する。~ |
- | # it is easy to write scripts to parse these files. | + | 例:piとxxxxユーザーを追加~ |
- | # | + | pi |
- | #mail.info -/var/log/mail.info | + | xxxxx |
- | #mail.warn -/var/log/mail.warn | + | |
- | #mail.err /var/log/mail.err | + | |
- | # | + | ''vsftpデーモンを起動して,自動起動もONする''~ |
- | # Logging for INN news system. | + | # systemctl start vsftpd.service |
- | # | + | # systemctl enable vsftpd.service |
- | #news.crit /var/log/news/news.crit | + | |
- | #news.err /var/log/news/news.err | + | |
- | #news.notice -/var/log/news/news.notice | + | |
- | # | + | ** Sambaのインストール [#jfa95f1b] |
- | # Some "catch-all" log files. | + | Sambaは,Microsoftが開発したネットワーク上でファイル共有を行うMicrosoft Network機能をLinux(Unix)で使用できるように実装されたソフトウェア。~ |
- | # | + | Microsoft Networkのファイルサーバー,ドメインコントローラ機能,プリンター共有,ユーザー認証などの機能がある。 |
- | #*.=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 | + | |
- | # | + | Windowsマシンとのファイルやり取りなどに便利なので,インストールしておく。 |
- | # Emergencies are sent to everybody logged in. | + | |
- | # | + | |
- | *.emerg :omusrmsg:* | + | |
- | 一部のプログラムはテンポラリ用のディレクトリが無いとエラーになるため,OS起動時にディレクトリを作るようにする。 | + | ''Sambaをインストール''~ |
+ | # apt-get install samba | ||
+ | で,パッケージでインストールできる。 | ||
- | /etc/rc.localで,これを行う。 | + | ''設定ファイル /etc/samba/smb.conf を編集する''~ |
- | #!/bin/sh -e | + | [global] |
- | # | + | unix charset = UTF-8 |
- | # rc.local | + | dos charset = CP932 |
- | # | + | workgroup = UENO |
- | # This script is executed at the end of each multiuser runlevel. | + | server string = Pi's SMB file server |
- | # Make sure that the script will "exit 0" on success or any other | + | netbios name = pi1 |
- | # value on error. | + | |
- | # | + | log file = /var/log/samba/log.%m |
- | # In order to enable or disable this script just change the execution | + | max log size = 50 |
- | # bits. | + | syslog = 0 |
- | # | + | panic action = /usr/share/samba/panic-action %d |
- | # By default this script does nothing. | + | |
+ | server role = standalone server | ||
+ | max protocol = SMB2 | ||
+ | ntlm auth = yes | ||
+ | client ntlmv2 auth = yes | ||
+ | |||
+ | security = user | ||
+ | map to guest = bad User | ||
+ | username map = /etc/samba/smbusers | ||
+ | guest account = nobody | ||
+ | |||
+ | passdb backend = tdbsam | ||
+ | |||
+ | encrypt passwords = yes | ||
+ | unix password sync = yes | ||
+ | passwd program = /usr/bin/passwd %u | ||
+ | passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . | ||
+ | |||
+ | dns proxy = no | ||
+ | load printers = no | ||
+ | disable spoolss = yes | ||
+ | |||
+ | unix extensions = no | ||
+ | wide links = yes | ||
+ | deadtime = 10 | ||
+ | browseable = yes | ||
+ | |||
+ | [homes] | ||
+ | comment = %U : Home Directories | ||
+ | path = %H | ||
+ | browseable = no | ||
+ | writable = yes | ||
+ | valid users = %S | ||
+ | vfs objects = recycle | ||
+ | recycle:repository = .recycle | ||
+ | recycle:keeptree = no | ||
+ | recycle:versions = yes | ||
+ | recycle:touch = no | ||
+ | recycle:maxsize = 0 | ||
+ | recycle:exclude = *.tmp ~$* | ||
+ | |||
+ | [public] | ||
+ | comment = Public Directories | ||
+ | path = /var/public | ||
+ | guest ok = yes | ||
+ | browseable = yes | ||
+ | writable = yes | ||
+ | force group = public | ||
+ | force create mode = 0664 | ||
+ | force directory mode = 0775 | ||
+ | vfs objects = recycle | ||
+ | recycle:repository = .recycle | ||
+ | recycle:keeptree = no | ||
+ | recycle:versions = yes | ||
+ | recycle:touch = no | ||
+ | recycle:maxsize = 0 | ||
+ | recycle:exclude = *.tmp ~$* | ||
+ | このように編集する。 | ||
- | # Print the IP address | + | ''使用するユーザーを作成する''~ |
- | _IP=$(hostname -I) || true | + | # pdbedit -a pi |
- | if [ "$_IP" ]; then | + | # pdbedit -a xxxxx <-- ユーザ名 |
- | printf "My IP address is %s\n" "$_IP" | + | で,Sambaを利用するユーザーを追加する。 |
- | fi | + | |
- | mkdir -p /var/log/ConsoleKit | + | ''Windowsのアカウント名を変換する設定ファイルを編集する''~ |
- | mkdir -p /var/log/samba | + | Raspberry PiにアクセスしてくるWindowsマシンのユーザーを,Raspbianのユーザーに変換するための設定ファイル ''/etc/samba/smbuser'' を編集する。~ |
- | mkdir -p /var/log/fsck | + | root = administrator admin |
- | mkdir -p /var/log/apt | + | nobody = guest pcguest smbguest |
- | mkdir -p /var/log/ntpstats | + | これを使用すると,Raspbianにアカウントが無いユーザーも,設定されたユーザー権でアクセス出来るようになる。 |
- | chown root.ntp /var/log/ntpstats | + | |
- | chown root.adm /var/log/samba | + | |
- | touch /var/log/lastlog | + | ''共有ディレクトリの作成''~ |
- | touch /var/log/wtmp | + | 設定ファイルで設定した共有ディレクトリ /home/publicを作成する。~ |
- | touch /var/log/btmp | + | # mkdir /var/public |
- | chown root.utmp /var/log/lastlog | + | # chmod 777 /var/public |
- | chown root.utmp /var/log/wtmp | + | |
- | chown root.utmp /var/log/btmp | + | |
- | exit 0 | + | ''Sambaの起動'' |
+ | Sambaを起動する。~ | ||
+ | # systemctl start smbd.service | ||
+ | # systemctl start nmbd.service | ||
- | 再起動して,/var/logの下に,ログが出来ていることを確認する。 | + | ブート時に自動的にSambaを起動するようにセットする。 |
- | # ls -la /var/log/ | + | # systemctl enable smbd.service |
- | 合計 92 | + | # systemctl enable nmbd.service |
- | drwxr-xr-x 7 root root 300 7月 11 11:21 . | + | |
- | drwxr-xr-x 11 root root 4096 3月 4 01:24 .. | + | |
- | drwxr-xr-x 2 root root 40 7月 11 11:21 ConsoleKit | + | |
- | drwxr-xr-x 2 root root 40 7月 11 11:21 apt | + | |
- | -rw-r----- 1 root adm 738 7月 11 11:22 auth.log | + | |
- | -rw-r--r-- 1 root root 3783 7月 11 11:21 boot.log | + | |
- | -rw------- 1 root utmp 0 7月 11 11:21 btmp | + | |
- | drwxr-xr-x 2 root root 40 7月 11 11:21 fsck | + | |
- | -rw-r--r-- 1 root utmp 292584 7月 11 11:22 lastlog | + | |
- | -rw-r----- 1 root adm 20786 7月 11 11:21 messages | + | |
- | drwxr-xr-x 2 root ntp 40 7月 11 11:21 ntpstats | + | |
- | drwxr-xr-x 2 root adm 40 7月 11 11:21 samba | + | |
- | -rw-r----- 1 root adm 41577 7月 11 11:22 syslog | + | |
- | -rw-rw-r-- 1 root utmp 1920 7月 11 11:22 wtmp | + | |
- | -rw------- 1 root root 98 7月 11 11:21 xrdp-sesman.log | + |