私は私に多くの時間を費やしている何かを尋ねるためにここにいます、そして今私はどのように続けるべきかわかりません、そしてこれは本当に大きな(そして素晴らしい)コミュニティです。
問題は、学校や大学向けの分散Linuxシステムを実行しようとしていることです。SquashFSをApacheサーバーから取得し、initrdとカーネルをTFTP経由でロードし、起動すると、すべてのシステムをRAMにロードします。 。アイデアは可能な限り安全にすることであり、コンピュータの電源を切ると、システムのすべてのデータはクリーンになりますが、問題はホームフォルダにあります...
ホームフォルダはNFSサーバーにあり、コンピュータのMACアドレスを使用してNFSサーバーにフォルダを作成して接続し、ユーザーごとに異なるフォルダを作成しようとしていますが、方法がわかりません。起動時にMACアドレスを渡して、最初にフォルダーを作成します。このMACのホームフォルダーが存在する場合は、ユーザープルーフフォルダーで今のようにfstabを使用して接続します。
前もって感謝します!
私はMythTVシステムに対して非常によく似たことをしました。各ディスクレスフロントエンドマシンは、DHCPPXEとTFTPを使用してネットブートします。システムはUbuntu16.04LTSを実行しています。 (IP 1.1.1.1はクライアントマシンで、2.2.2.2はサーバーです)
/etc/dhcp/dhcpd.confでは、IPとホスト名はMACに基づいて割り当てられます。
group {
use-Host-decl-names on; #forces hostname to Host
Host bedroom {
hardware ethernet 00:00:00:00:00:00;
fixed-address 1.1.1.1;
}
}
TFTPは、ブート初期化時にマウントスクリプトを呼び出し、ホスト名に基づいてNFSホームをマウントします。フォルダ構造を参照するときに読みやすくするためにホスト名を使用しました。 MACを解析して、フォルダー名に使用できます。 TFTP pxelinux.cfgデフォルトファイル:
LABEL linux
DEFAULT vmlinuz-4.4.0-53-generic root=/dev/nfs initrd=initrd.img-4.4.0-53-generic nfsroot=2.2.2.2:/pxeroot init=/boot/mountscript.sh ip=dhcp rw
mountscript.sh:
#!/bin/bash
HOSTNAME=`hostname`
MOUNT_OPTS="rw,intr,async,bg,tcp"
mount -t nfs 2.2.2.2:/path/to/homes/home-${HOSTNAME} /home -O MOUNT_OPTS
exec /sbin/init </dev/console >/dev/console 2>&1
また、/ etc/exportsには、必要なホームフォルダを一意の静的IPアドレスにマップするNFSエクスポート設定があります。
/path/to/homes/home-bedroom 1.1.1.1(rw,async,insecure)
新しいホームフォルダと各新しいマシンのNFSエクスポートエントリは手動で追加する必要があります。
注意:この例は、いくつかの一意の構成情報(主に接続されているテレビのIRコマンド)をホームフォルダーに保存するシングルユースのシングルユーザーマシンに適用されます。 MACごとのホームフォルダというあなたの述べた目標を達成しますが、joeqwertyが言及しているように、ユーザーごとのホームフォルダが実際に探しているものだと思います。このソリューションはユーザーが任意のマシンにログインすることを許可せず、は )ユーザーごと、マシンごとにホームフォルダを作成する必要があります。これは、シンボリックリンクの乱雑なWebがなければ、異なるコンピューター上の同じファイルにアクセスする簡単な方法がないことも意味します。