寝ても覚めてもこんぴうた

プログラム書いたり、ネットワーク設計したり、サーバ構築したり、車いじったり、ゲームしたり。そんなひとにわたしはなりたい。 投げ銭は kyash_id : chidakiyo マデ

Raspberry Pi : gitのインストールと設定を行う

Motivation

go getをする際にもgitが入っていないとだめなので、gitをインストールしなくてはなりませんね。

gitのインストール

sudo apt-get -y install git

ここまでで利用はできるのですが、一応gitの設定もしておく

globalユーザ情報の設定(Optional)

以下のコマンドを実行する

git config --global user.name "{nameを入力}"
git config --global user.email "{メアドを入力}"

ダブルクオートの中にname及びメールアドレスを入力します。{}も不要です

エディタをvimに(Optional)

git config --global core.editor 'vim -c "set fenc=utf-8"'

git diffをハイライトする(Optional)

git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto

こんなかんじ。

Raspberry Pi : goのインストールと設定を行う

Motivation

基本的には自分はgolangでプログラムを書くことが多いので、go入れておきます。

goのバイナリのダウンロード

ここ のページからアーキテクチャARM のものを選択しましょう。

  • ブラウザからリンクを右クリックしてURLをコピーします
  • 一応ホームディレクトリに移動し
cd ~
  • ファイルをダウンロードします
wget https://dl.google.com/go/go1.10.3.linux-armv6l.tar.gz # urlはコピーしたものを貼り付けましょう

goバイナリの展開

以下のコマンドで展開します

sudo tar zxvf go1.10.3.linux-armv6l.tar.gz -C /usr/local

goにパスを通す

以下のコマンドで .bashrc にPATH設定を出力する。
zshなど他シェルの場合には適宜ファイルを変更してください

echo -e '\n# Go settings\nexport GOHOME=/usr/local/go\nexport PATH=$PATH:$GOHOME/bin' >> ~/.bashrc

PATHを反映する

source ~/.bashrc

goコマンドを実行してみる

go

Go is a tool for managing Go source code. のような感じでメッセージが出ればokです。

Raspberry Pi : OSの初期設定を行う(Raspbian)

前回の記事

ターミナルへのログイン

Raspberry Piを起動するとCUIで起動した状態になるはず。
そこで、デフォルトのユーザでログインする。

ID : pi
PASSWORD : raspberry

のデフォルトアカウントでログインできる。

多分文字化けするので日本語表示しないように

ターミナルで以下を実行する

LANG=C

パッケージのアップデート

sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade

を実行し、諸々アップデートされるまで待ちます。
(環境にもよりますが結構時間かかります。)

Raspberry Piのファームのアップデートをする

アップデートするツールのインストール

sudo apt-get -y install rpi-update

アップデートの実行

sudo rpi-update

注) 公式には rpi-update で最新のファームウェアのアップデートは推奨されていないようです!!

ホスト名の変更

avahiを利用して ホスト名.localSSH接続したいので以下のファイルのホスト名を変更する

  • /etc/hostname
  • /etc/hosts

ホスト名変更したあとは一旦再起動

sudo reboot

注) raspi-config からも変更できるようですね。

SSHの有効化

sudo raspi-config
  • 5 Interfacing Options を選択
  • P2 SSH を選択
  • YES を選択(文字化けしていた場合には左。LANG=Cしましょう)

SSH接続の確認

他の端末(Mac)からSSH接続してみる

ssh pi@{HOSTNAME}.local

まとめ

これで外部からSSHができる状態(しかもホスト名指定で)になったので、ここから必要なアプリケーションなどをインストールして利用できる状態。

Raspberry Pi : OSのインストール(Raspbian)

インストールイメージのダウンロード

イメージをガッツリダウンロードするとSDカードの書き込みに時間がかかって個人的にはイライラするので、NOOBSを使ってネットワーク経由でインストールする。

NOOBS のダウンロードページから NOOBS LITE をzipでダウンロードする。

今回はMacでダウンロードしたので、標準のunzipツールでダウンロードしたzipファイルを解答し、 解凍したフォルダ内の すべてのファイルをSDカードの直下に全部コピーする。

(2018/08/22時点のファイルで21ファイルあった。それ全て。)

インストーラの起動

先程書き込んだSDカードをRaspberry Piに差し込み、起動する。

ネットワークの設定

基本的にはインストールするされるイメージもろもろはネットワーク経由でダウンロードしインストールされるので、最初にWi-Fiの設定をする。
(有線でやりたい方はLANケーブル刺すだけかな?多分)

インストールイメージの選択

GUIがあると16GBのSDカードだとあとあと容量が足りなくなって自分の場合困ることが多いので、GUIがインストールされない LITE を選択し、「インストール」を実行する

インストールが終わるまで暫く待つ

まちますまちます。

まとめ

インストール自体はこんな感じ。調子良ければ20分ぐらいで終わるかな。

githubのパスワード変更をした際にSourceTreeでpushしようとすると「fatal: Authentication failed for~」のようなエラーが出る

タイトルの通りだが、
どうやらSourceTreeはPreferenceなどからアカウント設定してもHTTP接続の認証はキャッシュされているようで、いくら設定を変更してもgithubのパスワード変更をした際にSourceTree側の設定が反映されなくてハマったのでメモ。

キャッシュはここにいる

~/Library/Application Support/SourceTree

ディレクトリ配下に、見覚えのあるドメインがファイル名になっているので、
パスワード変更を反映したいドメインのファイルを削除するのが正解。

githubの場合には

{ユーザ名}@STAuth-github.com

のようなファイルがあるはず。

Bitbucket, GitLab, Githubのいずれでもパスワード変更をした際に、SourceTreeで保存するようになっている人はみんなハマるのでは??

自分のPCのキーボードがリコール対象になっているのでメモ

以下の時期のMacはキーボードの無償修理対象になっています。

MacBook (Retina, 12-­inch, Early 2015)
MacBook (Retina, 12­-inch, Early 2016)
MacBook (Retina, 12-­inch, 2017)
MacBook Pro (13­-inch, 2016, Two Thunderbolt 3 Ports)
MacBook Pro (13-­inch, 2017, Two Thunderbolt 3 Ports)
MacBook Pro (13-­inch, 2016, Four Thunderbolt 3 Ports)
MacBook Pro (13-­inch, 2017, Four Thunderbolt 3 Ports)
MacBook Pro (15-­inch, 2016)
MacBook Pro (15-­inch, 2017)

これを確認するためには、

Apple () メニュー >「この Mac について」 を実行し確認することができます。

自分のMacの場合には

MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)

だったので対応機種のようです。

↓のリンクから詳細は確認できます。

MacBook および MacBook Pro キーボード修理プログラム - Apple サポート

Colaboratoryの環境の情報を漁ってみたメモ

Colaboratory環境の情報を取得してみたのでメモ

CPU情報

!cat /proc/cpuinfo
processor    : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 63
model name  : Intel(R) Xeon(R) CPU @ 2.30GHz
stepping    : 0
microcode   : 0x1
cpu MHz     : 2300.000
cache size  : 46080 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 1
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms xsaveopt
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 4600.00
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 63
model name  : Intel(R) Xeon(R) CPU @ 2.30GHz
stepping    : 0
microcode   : 0x1
cpu MHz     : 2300.000
cache size  : 46080 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 1
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm pti fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms xsaveopt
bugs        : cpu_meltdown spectre_v1 spectre_v2
bogomips    : 4600.00
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

OS情報

!cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=17.10
DISTRIB_CODENAME=artful
DISTRIB_DESCRIPTION="Ubuntu 17.10"
NAME="Ubuntu"
VERSION="17.10 (Artful Aardvark)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 17.10"
VERSION_ID="17.10"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=artful
UBUNTU_CODENAME=artful

ubuntuかな。

実行ユーザ

!whoami
root

ホスト名

!hostname
1f9a2dff11bb

多分コンテナの中なのかな?

メモリの情報

!cat /proc/meminfo
MemTotal:       13335192 kB
MemFree:          637404 kB
MemAvailable:   12670100 kB
Buffers:          151300 kB
Cached:         11508280 kB
SwapCached:            0 kB
Active:           527420 kB
Inactive:       11398616 kB
Active(anon):     245308 kB
Inactive(anon):      312 kB
Active(file):     282112 kB
Inactive(file): 11398304 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:               224 kB
Writeback:             0 kB
AnonPages:        264476 kB
Mapped:           146428 kB
Shmem:               792 kB
Slab:             712112 kB
SReclaimable:     678420 kB
SUnreclaim:        33692 kB
KernelStack:        3376 kB
PageTables:         4344 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     6667596 kB
Committed_AS:    1661232 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
AnonHugePages:      4096 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       67532 kB
DirectMap2M:     4126720 kB
DirectMap1G:    11534336 kB

メモリ使用量

!free -m
              total        used        free      shared  buff/cache   available
Mem:          13022         349         618           0       12054       12375
Swap:             0           0           0

人権ありすぎる・・・w

/配下のディレクトリ構成

!ls /
bin
boot
colabtools
content
datalab
dev
etc
gpu-tensorflow-1.10.0-cp27-cp27mu-linux_x86_64.whl
gpu-tensorflow-1.10.0-cp36-cp36m-linux_x86_64.whl
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tensorflow-1.10.0-cp27-cp27mu-linux_x86_64.whl
tensorflow-1.10.0-cp36-cp36m-linux_x86_64.whl
tf_deps
tmp
tools
usr
var

ユーザ

!cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologinp
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/bin/false

プロセス

!ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  39148  6652 ?        Ss   18:53   0:00 /bin/bash -e /d
root        60  0.0  0.3 674764 41232 ?        Sl   18:54   0:00 node /tools/nod
root        70  0.1  0.3 679668 45436 ?        Sl   18:54   0:00 /tools/node/bin
root        76  0.1  0.4 182140 56144 ?        Sl   18:54   0:01 /usr/bin/python
root        84  0.5  1.0 644688 136036 ?       Ssl  18:54   0:04 /usr/bin/python
root       140 98.0  0.0  33960  5060 pts/0    Ss+  19:08   0:00 /bin/sh -c ps a
root       141  0.0  0.0  63300  6772 pts/0    R+   19:08   0:00 ps aux

ざっくりとこんな感じ。