20190502のLinuxに関する記事は3件です。

GWなのでラズパイと使わなくなったHDDで動画ファルサーバー作った

はじめに

技術者になって2年目のnoobなので何かおかしい記述があるかもしれません。

おかしい記述があれば教えていただけると嬉しいです。

最終目標

スパホ、パソコンからラズパイにアクセスしてHDD内の動画を観れるようにする

目次

  1. Raspbian OSインストール
  2. OSの設定
  3. sambaインストール
  4. ハードディスクのマウント
  5. 接続確認

1. Raspbian OSのインストール

  • 公式からイメージのダウンロード

https://www.raspberrypi.org/downloads/noobs/

  • NOOBSを入れておけばいいと思う

    • ダウンロード中にmicroSDカードのフォーマット

https://www.sdcard.org/jp/downloads/formatter/

  • 自分のOSにあったものを使おう

    • ダウンロードとmicroSDのフォーマットが終わったらダウンロードしてきたzipを解凍して中身をmicroSDに配置
    • ラズパイにmicroSDをさしてRapbianのインストール
    • デスクトップを見ることができればインストールは完了

2. OSの設定

  • 言語設定は英語の方が見やすい気がするが、そこは自分が使いやすいようにしよう
  • SSH接続でMacから操作したかったのでSSHの有効化

[ここ解説入れる予定]

3. sambaインストール&設定

sambaとは

読み方はサンバ

Linux上でWindowsのネットワーク機能を実現するソフトウェア


  • 後で使うフォルダを作成
  sudo mkdir /home/samba/public

  • sambaのインストールコマンド
sudo apt-get install samba
  • sambaの設定ファイルに追記する

    • 設定ファイルを開く
    sudo vim /etc/samba/smb.conf
    
    • 追記する(何か書いてある一番下に書いておけばいいはず)
    [わかりやすい名前]
            comment = This is File Server
            path = /home/samba/public
            force user = pi
            guest ok = Yes
    
    • 「path = /home/samba/public」は一つ前の手順で作ったフォルダのpath
    • きちんと設定できたか確認
    testparm
    
    • こうなればOK
    Load smb config files from /etc/samba/smb.conf
    rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
    WARNING: The "syslog" option is deprecated
    Processing section "[homes]"
    Processing section "[printers]"
    Processing section "[print$]"
    Processing section "[わかりやすい名前]"
    Loaded services file OK.
    
    • sambaを再起動
    sudo systemctl restart smbd
    sudo systemctl enable smbd
    

4. HDDのマウント

[注意] ここが原因でめちゃんこ詰まった

具体的には、fstabにUUIDとか追記する時に読み書きの権限を与えていなかったせいで、フォルダ自体にアクセスできなくなった


  • HDDをラズパイにさして認識しているか確認
  sudo fdisk -l
  • 一番下にこんなの(HDDの容量や種類によって変わる)が出ていればOK

    /dev/sda1          64 3907024335 3907024272  1.8T  7 HPFS/NTFS/exFAT
    
    • この後の設定で使うのでHDDのUUIDの確認
  sudo blkid /dev/sda1
  • 表示された文の「UUID」と「TYPE」をメモ

    /dev/sda1: LABEL="個体差ありの名前" UUID = "XXXXXXXXX(ここをメモ)" TYPE = "exfat(ここをメモ)"
    
    • 再起動した時に自動でマウントしてくれるように設定
  • 「fstab」を開く

    sudo vim /etc/fstab
    
    • これを最終行の下に追記
    • 一つ前の手順で確認した「UUID」と「TYPE」をここで使う
    UUID="(一つ前の手順で見たUUIDを記述 ->)XXXXXXXXX" /home/samba/public  
    (メモしたTYPE ->)exfat async,auto,dev,exec,gid=65534,rw,uid=65534,umask=007    0    0
    

ラズパイを再起動

5. 接続テスト

  • Windowsの場合

    • エクスプローラーのアドレスにどちらかを打ち込む
  ¥¥raspberrypi
  ¥¥ラズパイのIP
  • Macの場合

    • Finderで「Command + k」を押してサーバーアドレスにどちらかをいれて接続
  smb://raspberrypi
  smb://ラズパイのIP
  • ウィンドウが出てきたら、「ゲストを選択して接続」

    • IPhoneの場合
  • アプリの「FileExplorer」を使用

まとめと感想

コマンドプロンプト楽しい。

母が録画したドラマをIPhoneから見たい要望があったので作ってみたファイルサーバーだったが4時間ほど格闘してやっとこさ完成させた。

誰かのために何かを作るのは楽しいし、喜んでもらえると嬉しい。

忘れないうちに書きたかったので、雑になってしまったので、これからちょくちょく追記していく予定です。

参考

とても勉強になりました!ありがとうございました!

https://qiita.com/ryuichi1208/items/4420d40cac451a93228e

https://qiita.com/ryuichi1208/items/4420d40cac451a93228e

https://qiita.com/yamazakim/items/f9da183e912a5333d1e4

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Linux基本

プロセス

プロセスは実行中のプログラム
割り込みの概念がある

コマンド

top

マルチタスク

タスク = プロセス

プロセスのステータス

STAT:プロセスの状態を表示

S スリープやユーザからの入力待ち
D ディスクの入出力待
R 実行可能または実行中
T サスペンドシグナルを送られて実行中断
Z ゾンビ状態
< スケジュール優先度引き上げ
N スケジューリング優先度引き下げ
L メモリのページをロックして利用している
s セッションリーダである
+ フォアグラウンドプロセスグループ


オプション

よく使うやつ

オプション a
端末操作のプロセスを表示する。

オプション x
オプション u
CPUやメモリの使用率なども表示する。

https://eng-entrance.com/linux-command-ps

記事

https://eng-entrance.com/linux-process

アクセシビリティモニター
http://blog.livedoor.jp/info_clips/archives/27222182.html

メモリ

  • 意味
     記憶領域

  • スワップとは?
    一時避難メモリ領域 メモリが足りなくなったら使う

  • 確認コマンド
    top

 メモリの分類

  • 使用中のメモリ
  • キャッシュ
  • 空きメモリ
  • スワップ

HDD(Hard Disk Drive)

スワップ

https://webbibouroku.com/Blog/Article/linux-swap

https://qiita.com/kunihirotanaka/items/70d43d48757aea79de2d

topコマンド使い方

https://orebibou.com/2015/07/top%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7%E8%A6%9A%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E4%BD%BF%E3%81%84%E6%96%B914%E5%80%8B/

参考記事

https://qiita.com/zakiyamaaaaa/items/20d4dc4a3d587500e1f1

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

LDAPで快適Linux環境 #3 LDAPアカウントの追加

前回、LDAPサーバーの設定をしたので、今回はアカウントを登録していきます。

ou=peopleの中に作ったou=1thにユーザーを登録していくのですが、homeをNFS共有する都合でまずサーバー上にローカルユーザーを作ります。

root@deb:~# adduser hoge -u 10101 --home /home/ldap/hoge

uid10101、gid10101のユーザー「hoge」を作りました。
LDAPユーザーはuid10000番代、1thに所属するので10100番代という規則にしています。2thなら10200番代にします。
"/home/ldap"の中にホームディレクトリを作っているのは、NFS共有するときにサーバーの管理用アカウントがクライアントから見えないようにするためです。

次にサーバーに登録していきます。以下の内容をvimなりemacsなりでldifファイルに記述します。

hoge.ldif
dn: uid=hoge,ou=1th,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Hoge Fuga
sn: Hoge
gn: Fuga
userPassword: asdf12345
loginShell: /bin/bash
uidNumber: 10101
gidNumber: 10101
homeDirectory: /homes/hoge

dn: cn=hoge,ou=1th,ou=groups,dc=example,dc=com
objectClass: posixGroup
cn: hoge
gidNumber: 10101
memberUid: hoge

サーバーのローカルに作ったユーザーとuid、gidを一致させるのがミソです。ホームディレクトリをNFSマウントするときに役立ちます。
パスワードは、とりあえず平文で簡単なものを入れておきます。初めてログインしたときに、使う人に変えてもらいましょう。
snは「surname」のことなので姓、gnは「given name」のことなので名をいれて、cnが「名 姓」になるようにしています。(無くても登録できるらしいのですが。)"uid="のところが実際にログインするときに使われるので、そこは小文字で姓にします。
"homeDirectory"が"/homes"の中なのは、クライアントのローカルユーザーのホームディレクトリと区別するためです。

root@deb:~# ldapadd -x -D cn=admin,dc=example,dc=local -W -f hoge.ldif

で登録します。

学年ごとのグループも作っておきます。

root@deb:~# adduser --group 1th --gid 10100

gid10000を持つ1thグループができました。これをサーバーに登録します。

1th.ldif
dn: cn=1th,ou=1th,ou=groups,dc=example,dc=com
objectClass: posixGroup
cn: 1th
gidNumber: 10000
memberUid: hoge
memberUid: piyo

cnに書いたものがグループ名になります。memberUidにuidを書いたものがグループのメンバーになります。

root@deb:~# ldapadd -x -D cn=admin,dc=example,dc=local -W -f 1th.ldif

部活全体のグループも作っておきます。

root@deb:~# adduser --group all --gid 10000
all.ldif
dn: cn=all,ou=groups,dc=example,dc=com
objectClass: posixGroup
cn: all
gidNumber: 10000
memberUid: hoge
memberUid: piyo
memberUid: hage
root@deb:~# ldapadd -x -D cn=admin,dc=example,dc=local -W -f all.ldif

slapcatをして設定を確認しましょう。
次回に続きます。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む