GNU/Linux >> Belajar Linux >  >> Linux

Pada Sistem Apa //foo/bar Berbeda Dari /foo/bar?

Sepanjang spesifikasi POSIX, ada ketentuan (1, 2, 3…) untuk memungkinkan implementasi memperlakukan jalur yang dimulai dengan dua / khusus.

Aplikasi POSIX (aplikasi yang ditulis dengan spesifikasi POSIX agar portabel untuk semua sistem yang mendukung POSIX) tidak dapat mengasumsikan bahwa //foo/bar sama dengan /foo/bar (meskipun mereka dapat berasumsi bahwa ///foo/bar sama dengan /foo/bar ).

Sekarang apa saja sistem POSIX (bersejarah dan masih dipertahankan) yang memperlakukan //foo khususnya? Saya percaya (sekarang saya telah terbukti salah) bahwa ketentuan POSIX didorong oleh Microsoft untuk varian Unix mereka (XENIX) dan mungkin lapisan Windows POSIX (ada yang bisa memastikannya?).

Ini digunakan oleh Cygwin yang juga merupakan lapisan seperti POSIX untuk Microsoft Windows. Apakah ada sistem Windows non-Microsoft? OpenVMS?

Pada sistem di mana //foo/bar khusus, untuk apa itu digunakan? //host/path untuk akses sistem file jaringan? Sistem file virtual?

Lakukan beberapa aplikasi berjalan di Unix-likes —jika bukan API sistem— perlakukan //foo/bar jalur secara khusus (dalam konteks di mana mereka memperlakukan /foo/bar sebagai jalur pada sistem file)?

Sunting , saya telah mengajukan pertanyaan di milis grup austin tentang asal //foo/bar penanganan dalam spesifikasi, dan diskusi adalah bacaan yang menarik (setidaknya dari sudut pandang arkeologi).

Jawaban yang Diterima:

Ini adalah kompilasi dan indeks dari jawaban yang diberikan sejauh ini. Pos ini adalah wiki komunitas , itu dapat diedit oleh siapa saja dengan 100+ reputasi dan tidak ada yang mendapatkan reputasi darinya. Jangan ragu untuk memposting jawaban Anda sendiri dan menambahkan tautan ke sini (atau tunggu saya melakukannya). Idealnya, jawaban ini hanya berupa ringkasan (dengan entri pendek sementara jawaban lain individu memiliki detailnya).

Sistem yang saat ini dipelihara secara aktif:

  • Cygwin . Lapisan POSIX untuk Microsoft Windows. Digunakan untuk jalur UNC Windows.
  • UWIN sejak 1.3. Lapisan POSIX lain untuk Windows. Digunakan setidaknya untuk //host/file jalur berbagi file jaringan.
  • IBM z/OS seperti yang disebutkan dalam pelacak bug POSIX, z/OS menyelesaikan //pathname permintaan ke kumpulan data MVS , bukan ke file jaringan. Contoh.

Sistem mati

  • Domain/OS Apollo (dikonfirmasi). Juga disebutkan di Deskripsi Resmi UNC (Konvensi Penamaan Universal) sebagai kemungkinan asal //host/path notasi (lihat juga, halaman 2-15).

    Menurut Donn Terry, HP (yang mengakuisisi Apollo Computers)-lah yang mendorong dimasukkannya ketentuan tersebut dalam spesifikasi POSIX untuk Domain/OS.

  • Tektronix Utek (dikonfirmasi), di mana //host/path adalah jalur pada sistem file terdistribusi .

  • QNX 4 dengan sistem pemrosesan terdistribusi FLEET, di mana //123/path adalah /path pada node 123. (Disebutkan dalam dokumentasi QNX 6.)

  • AT&T SysV Rilis 3 (tidak diverifikasi). //host/path di (dihentikan di SVR4) sistem Berbagi File Jarak Jauh RFS.

  • SEL/Gould UTX-32 (tidak diverifikasi). Digunakan untuk //host/path .

Aplikasi yang menangani //foo/bar khusus untuk jalur

  • Paksa dimana //depot/A/B/C/D mengacu pada jalur di depot .
  • Blender . Dalam konfigurasinya Anda menggunakan // awalan untuk jalur relatif (ke campuran yang terkait dengan blok data).
  • Bazel membangun sistem menggunakan // awalan untuk label target dalam grafik build Bazel.
Terkait:Bagaimana cara menekan pesan dari suatu program saat menginstalnya untuk digunakan dalam program bash??
Linux
  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Bash =~ Regex Dan Https://regex101.com/?

  3. Debian – Memindahkan /var, /home Untuk Memisahkan Partisi?

  1. Django static_root di /var/www/... - tidak ada izin untuk mengumpulkan statis

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. Bagaimana cara mengetahui dari folder mana suatu proses sedang berjalan?

  1. Apa arti dari /usr/sbin, /usr/local/sbin dan /usr/local/bin?

  2. DD dari /dev/zero ke /dev/null...apa yang sebenarnya terjadi

  3. unix:///var/run/supervisor.sock tidak ada file seperti itu