最近のディストリビューションにはなぜそんなに多くのファイルシステムがインストールされていますか?

最近のディストリビューションにはなぜそんなに多くのファイルシステムがインストールされていますか?

私は1996年頃からサーバーでLinuxを使用してきました。

$ mount
proc on /proc type proc
/dev/sda1 on / type ext3
/dev/sda2 on /usr type ext3
/dev/sdb1 on /home type ext3

(ここでは関係がないので「オプション」を削除しました。)

最近、私は次のことを見始めました。

$ mount
proc on /proc type proc
/dev/sda1 on / type ext3
/dev/sda2 on /usr type ext3
/dev/sdb1 on /home type ext3
devtmpfs on /dev type devtmpfs 
tmpfs on /run type tmpfs 
tmpfs on /run/lock type tmpfs 
sysfs on /sys type sysfs
tmpfs on /run/shm type tmpfs 
devpts on /dev/pts type devpts 

これらの追加項目の一部はすべて重複する可能性がありますが、一部は理解できると思いますproc...

私は最近デスクトップディストリビューション(この場合はLinux Mint、Debian、Kali、その他のディストリビューションで見たことがあります)のライブISOイメージを取得しました。これクレイジー:

$ mount
sysfs on /sys type sysfs 
proc on /proc type proc 
udev on /dev type devtmpfs 
devpts on /dev/pts type devpts 
tmpfs on /run type tmpfs 
/dev/sda1 on / type ext4 
securityfs on /sys/kernel/security type securityfs 
tmpfs on /dev/shm type tmpfs 
tmpfs on /run/lock type tmpfs 
tmpfs on /sys/fs/cgroup type tmpfs 
cgroup on /sys/fs/cgroup/systemd type cgroup 
pstore on /sys/fs/pstore type pstore 
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup 
cgroup on /sys/fs/cgroup/pids type cgroup 
cgroup on /sys/fs/cgroup/hugetlb type cgroup 
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup 
cgroup on /sys/fs/cgroup/blkio type cgroup 
cgroup on /sys/fs/cgroup/freezer type cgroup 
cgroup on /sys/fs/cgroup/perf_event type cgroup 
cgroup on /sys/fs/cgroup/cpuset type cgroup 
cgroup on /sys/fs/cgroup/memory type cgroup 
cgroup on /sys/fs/cgroup/devices type cgroup 
systemd-1 on /proc/sys/fs/binfmt_misc type autofs 
mqueue on /dev/mqueue type mqueue 
debugfs on /sys/kernel/debug type debugfs 
hugetlbfs on /dev/hugepages type hugetlbfs 
fusectl on /sys/fs/fuse/connections type fusectl 
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc 
cgmfs on /run/cgmanager/fs type tmpfs 
tmpfs on /run/user/1000 type tmpfs 
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse 

「マウント」が急増する理由は何だろうか?このようなものをcgroupsプログラミングAPIなどを介してアクセスするのではなく、「マウントされた」ファイルシステムで処理するのが特に便利ですか?

ベストアンサー1

APIタイプを選択することです。

以前のシステムでは、そのデバイスでデバイスとIOCTLを使用するのが一般的です(たとえば、仮想端末の作成)。問題は、特定のサービスに接続するために数字を使用する必要があるため、改善/アップグレードが容易ではないことです。また、同じ要求番号が異なるデバイスではまったく異なる意味を持つ可能性があるため、デバイス名を変更した場合(より説明的、仮想マシンなど)、誤ったコマンドが実行される可能性があります(たとえば、プログラムにどのデバイスを提供する必要があるかを混同する場合など)。 )。

だから別のオプションがあります。時には新しいシステムコールが生成されることもありますが、これは通常一般的なケースに当てはまり、新しいシステムコールをたくさん生成することも理想的ではありません。/procまた、汎用インターフェイスになりますが、このファイルシステム(カーネル側)へのインターフェイスはすべてのサービスで同じであるため、いくつかの問題があります。 APCI とネットワーキングはこれらのインターフェイスを広く使用しています。他のプログラムがprocのファイルにアクセスできる場合は、モジュールを削除する際にいくつかの問題があります。モジュール(メモリを確保するために削除)はもはや問題になりません。

Webソケットはほとんど試みられませんが、使い捨てではあまり便利ではありません。

これにより、新しいファイルシステムを作成するのが簡単になり、ドライバ/サービスにそれを実装するためのより多くの自由が提供されます。もう一つの利点は、データの取得と抽出に使用できるcatことです。echo新機能を簡単にテストして使用できます。

おすすめ記事