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

ラズパイ4 初期設定

はじめに

ラズパイ4を購入したので個人ユーザー環境作成までの備忘録を書く。途中経過だけど公開しちゃう。
別に複数ユーザーを作るわけじゃないが、個人的にRoot Userを直接使うのに抵抗があるためこういう方針に。ごっちゃごちゃやで。

作業中にPi削除+新規ユーザ作成で対応しようと思っていたがPi UserをRenameして使うことに。
pi userをRootだと思ってたゾ
この記事で基本的に引用の形式で書かれている部分はただの感想。

OSの準備

OSはMicro SDへ書き込み、本体に差し込むだけでいいらしい。すごい。

OS Imageの取得と書き込み

まぁ何でもいいやってことでRaspbian(Debian base)を選択。

Wifi設定

IP固定(未対応)

Pi Userでの作業(特にPiである必要はない。)

Debian baseとのことなのでapt系はDebian項目を見る。

apt の更新

TODO: 詳細書く

key bindの設定

emacs likeにしたい。内容は割愛。編集までの手順を記載。
全体への設定は /etc/.inputrc, ユーザ別の設定は ~/.inputrcに書く

基本的な設定は /etc/.inputrcを見て、ユーザ別の.inputrcで上書きする形なのかな。
わかったら更新する。

ファイルの更新が終わったら、bind -f ~/.inputrc で読み込む
~/.inputrc
set bell-style none

最新版のソフトウェアビルド

既存でGitはあったがなんとなーくアップデートしたかったのもあって更新。

apt search <package name>(部分一致検索) or apt list(完全一致検索) で検索する。
ヒットしたVersionは2020/04/20 時点でのLatest versionではなかったのでソースコードからビルドすることに。

基本は以下の手順

  curl -LO <url /filename.gz>
  tar -zxvf <filename.gz> -C /usr/local/src
  cd /usr/local/src/<filename>
  ./configure
  make
  make install

ソースコードからビルドしたものは /usr/local/src へ入れて、makeはデフォルトの /usr/local/bin を使う。
にわかなのでここらへんもっと適切な手法があるんじゃないかな

Emacs

  sudo apt install gcc make ncurses-dev
  ...build...
  systemctl --user enable emacs
  emacs ./.bashrc
~/.bashrc
  alias e='emacsclient -t'

Git

./configure --prefix=/usr の記述はオプションを外している。

  sudo apt install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
  tar -zxf git-2.0.0.tar.gz
  cd git-2.0.0
  make configure
  ./configure
  make all doc info
  sudo make install install-doc install-html install-info

tmux

  apt install libevent-dev ncurses-dev build-essential bison pkg-config
  ...build...

ラズパイ設定

基本的には参考サイトに則って進めた。気になった点は別途調査。

SSH host keyの更新

この作業って何やってんだろってことでしらべた。

4種の暗号化方式のキーを作成してくれるらしい。秘密鍵しか作ってなかったので学び。

  sudo rm -v /etc/ssh/ssh_host*
  sudo dpkg-reconfigure openssh-server

SSH Public key / Private keyの作成

秘密鍵って英語でどういうの

  mkdir ~/.ssh
  chmod 700 .ssh
  cd .ssh
  ssh-keygen -t ed25519
  >>> input passphrase 
  cat id_ed25519.pub >> authorized_keys // 初回のみ有効 2回め以降の鍵登録の場合は追記?  

local machineから認証鍵を転送する。

ここはラズパイからでもいいのでは?

  scp pi@<hostname>:/home/.ssh/id_ed25519 ~/.ssh

Configファイル作成

認証鍵が複数ある場合には、./config/*みたいなのだけ書くと確か管理しやすかった気がする

  Host <local hostname>
    HostName <remote hostname>
    User <username>
    IdentityFile ~/.ssh/id_ed25519

Bashの設定

情報まとめるために末尾に入れたが、必要なときに追加すればいい

.bashrc

  alias ll="ls -l"
  alias la="ls -a"

参考サイト

先駆者、公式へ陳謝。太字リンクはめっっっちゃくちゃ参考にした。

Qiita

おまけ

Autohotkeyの設定

Windows機からアクセスしているが、WindowsのキーバインドがきついのでAutohotkeyでEmacs likeな設定をしている。

Terminal/Editor関連を操作しているときだけバインドを外したい設定でハマったのでメモ。

script.ahk
  ;IfWinNotActive に複数のクラスを設定したい
  ;ファイル冒頭にGroupを設定する、キーバインドよりもあとに書くとうまく行かない
  GroupAdd, <GroupName>, ahk_class <ClassName>
  GroupAdd, <GroupName>, ahk_class <ClassName>
  GroupAdd, <GroupName>, ahk_class <ClassName>
  ...

  #IfWinNotActive, ahk_group <GroupName>
  ...処理...
  #IfWinNotActive ;これで閉じる

外部

matuya
ここ編集時ゴシック体なのもやもやする
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
ユーザーは見つかりませんでした