unknown public key <KEY> と怒られた場合
gpgをsudoやrootで実行してはいけない、これでいれる公開鍵はユーザーごとの管理なので
1 | sudo pacman -S archlinux-keyring |
unknown public key <KEY> と怒られた場合
gpgをsudoやrootで実行してはいけない、これでいれる公開鍵はユーザーごとの管理なので
1 | sudo pacman -S archlinux-keyring |
AURヘルパーのインストール
xrdpはAURのパッケージなので手動でやるとめんどくさい。AURヘルパーを導入する。
AURヘルパーで検索するとyaourt入れてる人が多いがこいつはもうメンテされてないらしいので別のをいれる。
ArchWikiのAURヘルパーのページを参考になんか名前がかっこいいtrizenを入れる。
1 | $ git clone https://aur.archlinux.org/trizen.git |
xrdpのインストール
バックエンドにxorgを使うつもりなのでxorgxrdpもインストール
1 | $ trizen -S xrdp xorgxrdp |
そのほか必要なものインストール
1 | $ sudo pacman -S xorg xterm xorg-twm |
設定
/etc/X11/Xwrapper.configを作成、中身は以下
1 | allowed_users = anybody |
xinitrcをホームにコピー
1 | $ cp /etx/X11/xinit/xinitrc ~/.xinitrc |
サービスの有効化
1 | $ sudo systemctl enable xrdp |
1 | sudo certbot certonly --server https://acme-v02.api.letsencrypt.org/directory -d *.<ドメイン> -m <メールアドレス> --preferred-challenges dns-01 --manual |
.gradleの下のcachesを消す。
前の続き
NFSサーバーのインストールと動作までできたけど、まだ問題があったのでメモ
まずその前に前回のコマンドラインでの接続だとエクスプローラーで見れなかったので、
エクスプローラー開いて左PCを選択してメニューに出てくるネットワークドライブの割り当てでエクスプローラーに表示されるように。
んで試しにファイルをドラッグ&ドロップでなんかエラーが出て書き込めない。
新規作成でフォルダを作ってみる。
これはできた。
よくわからないのでサーバーの方を確認。
nfs rpc fragment too large ~ ってなのが流れてきてる。
ググってみると書き込みのサイズが大きすぎるっぽい。んで調べた結果windows側でnfsadminなるコマンドで設定を変えれるみたい
以下で現在の設定を確認
1 | > nfsadmin client config |
1024KBらしいとりあえず半分にしてみる.
1 | #書き込み |
これで書き込みができるようになりました。
GUIでもWindows管理ツールにNFSの設定できるのがあったんでだけど変更できるのはプロトコルとか再試行回数とかで、
書き込み、読み込みサイズはCUIからしかできないみたい。
よしできたってことmusicフォルダをドラック&ドロップでぶち込んで、Volumoの方でも一度初期化してネットワークドライブの設定して音楽ファイルのスキャンを実行。
なんだけどなぜか一部の曲しか認識されない、エクスプローラーで確認してもちゃんと全部書き込まれてるし、再生もできる。
なんでじゃ???って思ってたんだけどサーバ側でファイル見たら一発解決ファイル名がめっちゃ文字化けしてる!!!
文字コードはWindowsはShft-JISでLinuxはUTF8なんでそりゃそうだですよねー。
ってとでファイル名の文字コード変換コマンドで変換。
1 | # cd /mnt/hdd1/music |
再度Volummioでスキャンしてみると全曲認識された。
で解決したとおもいきや、今度はWindows側で文字化け。
ですよねーってことでどうするか?
Linuxはmountコマンドのオプションで文字コード指定とかできるみたいだけど、Windowsはできないらしい。
クライアント側でどうにかできないならサーバー側でどうにかするしかないってことで調べるとfuse-convmvfsなるものが使えそう。
https://ja.osdn.net/projects/sfnet_fuse-convmvfs/
これは 1 つの文字セットから別にファイル名を変換するファイルシステムです。それはヒューズ (ユーザランドファイルシステム) を使用して実装されます。
これでsjisでマウントしたものをWindowsようにエクスポートすればいい。
ここでまた問題CentOSはこれのパッケージがない。。。
自分でビルドしなきゃなんだけどサーバー運用するマシンにビルド環境いれるのはなんか気持ち悪い。
なのでrpm作ってインストールしよう。
別のSDカードにもっかいCentOS焼いてラズパイにさしてそっちで作業。
http://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/f/fuse-convmvfs-0.2.6-16.fc28.x86_64.html
幸いfedora向けのrpmパッケージはあるみたいののでfuse-convmvfs-0.2.6-16.fc28.src.rpmをもらってくる。
1 | # curl -O -L https://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/f/fuse-convmvfs-0.2.6-16.fc28.src.rpm |
展開1
2
3
4
5
6
7
8# rpm -ivh fuse-convmvfs-0.2.6-16.fc28.src.rpm
warning: fuse-convmvfs-0.2.6-16.fc28.src.rpm: Header V3 RSA/SHA256 Signature, key ID 429476b4: NOKEY
Updating / installing...
1:fuse-convmvfs-0.2.6-16.fc28 ################################# [100%]
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
ビルドに必要なパッケージのインストール
1 | # yum install gcc gcc-c++ make fuse-devel libattr-devel rpm-build |
ビルド
1 | # cd ~/rpmbuild |
fuse-convmvfs-0.2.6-16.el7.centos.armv7hl.rpm
こっちをいったん別マシンに引き上げて、またNFSサーバをインストールしたSDカードにいれかえて持ってきます。
インストール
1 | # yum localinstall fuse-convmvfs-0.2.6-16.el7.centos.armv7hl.rpm |
/binの下にインストールされました~。
使ってみる。
1 | # mkdir /mnt/hdd1_sjis |
これだと一回こっきりなので/etc/fstabに追記で自動マウントするように
1 | UUID=29b74cbb-382b-49ea-91c8-f1dcb9cae36c / ext4 defaults,noatime 0 0 |
/etc/exportsに追記1
2/mnt/hdd1 192.168.0.0/24(rw)
/mnt/hdd1_sjis 192.168.0.0/24(rw,fsid=1)
エクスポートもとがfuseだとfsidの指定が必要らしい。
これでようやく目的の環境が完成。
うちにラズパイ2と3の2台あって、2の方はVolumio入れて運用してたんだけど3は去年買ったままずっと放置してたんでこの前ようやくファイルサーバーとして使いだしたのでその構築メモ。
結構四苦八苦した。
すでにファイルサーバは普通のマシン上で構築してて、そこに音楽ファイルをおいてVolumioから接続して使っておりました。
けど適当に組んだマシンなんで結構ファンとかうるさい、なのでラズパイで運用すれば静かになるかなーと。
Debian系になれてないのでCentOSを入れてみた。
なんか調べるとCentOSだとwifi使うのにgithubからファームウェアとってきてカーネルアップデートしてとかめんどくさいこと書いてあったんだけど、はその辺必要なくなったらしい。
ここの”Minimal image for RaspberryPi 2/3”をとってきて焼いてみてネットワークインターフェース確認してみた結果
1 | # ip link |
wlan0いるじゃん!!
てわけでwifiつないでみる&固定ip設定。
1 | # nmcli d wifi connect aterm-******-g password ************ |
このために新しく買った4TBのUSBポータブルHDDをつないでみるNTFSでフォーマットされてるみたい、NTFSのマウントにはntfs-3gなるパッケージが必要らしい。
1 | # yum install ntfs-3g |
いない。
調べたらepelにはいってるらしい
1 | # yum install epel-release |
いない。
調べたらarm向けのepelリポジトリはないらしい。
じょうがないので新しくext4でフォーマット,blkidでUUID調べる
1 | # mkfs.ex4 /dev/sda1 |
/etc/fstabに追記
1 | UUID=29b74cbb-382b-49ea-91c8-f1dcb9cae36c / ext4 defaults,noatime 0 0 |
ファイルサーバのソフトをインストール前はsambaを使ってたので今回は勉強がてらnfsを使ってみる。
1 | # yum install nfs-utils |
/etc/exportsに追記
1 | /mnt/hdd1 192.168.0.1/24(rw) |
公開したいディレクトリ 公開対象(オプション)
の形式らしい。
公開対象の部分は家のネットワークにいるマシンみんなから繋ぎたいのでネットマスクで範囲指定
とりあえずファイヤーウォールを切る
1 | # systemctl stop firewalld |
nfsの起動
1 | # systemctl start nfs |
Windowsから繋いでみるぞ!
コントロールパネルのプログラムのWindousの機能の有効化または無効化
から
NFS用サービスのNFSクライアントと管理サービスを有効化
1 | >mount \\192.168.0.100\/mnt/hdd1 X:\ |
できた。
この後まだまだ色々めんどくさかったけどとりあえずここ迄。