GNU/Linux >> Belajar Linux >  >> Linux

Symlink dari satu workstation ke workstation lain tanpa mount

Anda tidak dapat:

Sebuah symlink hanyalah sebuah inode tambahan (struktur yang menunjuk ke file) dan inode ini terdiri dari, antara lain, sebuah deviceId dan inode pointer . deviceId secara efektif menunjuk ke file khusus perangkat di dalam /dev direktori dan inode pointer menunjuk ke blok di perangkat itu.

Lokasi jaringan Anda 10.0.1.103 tidak dan tidak dapat memiliki deviceId (tidak ada di /dev ) oleh karena itu Anda tidak mungkin memiliki symlink ke lokasi jaringan.

Di sisi lain, jaringan bersama yang terpasang akan memiliki deviceId itulah sebabnya Anda dapat membuat symlink ke lokasi yang terpasang.


Windows memiliki sintaks khusus \\MACHINE\DIRECTORY…\FILE artinya file tersebut terletak di \DIRECTORY…\FILE pada mesin bernama \\MACHINE melalui protokol SMB. Ini dibangun ke dalam sistem operasi dan dikhususkan untuk satu protokol jaringan.

Linux memiliki sistem file yang fleksibel berdasarkan gagasan pemasangan. Sistem file dilampirkan ke direktori yang ada, dan administrator dapat memilih cara mengatur hierarki direktori. Untuk latar belakang lebih lanjut, baca Apa yang dimaksud dengan memasang perangkat di Linux?, Mengapa sistem file Linux dirancang sebagai pohon direktori tunggal? dan Titik pemasangan apa yang ada pada sistem Linux biasa?. Linux mendukung banyak sistem file jaringan (yaitu sistem file yang memungkinkan satu mesin mengakses file di komputer lain), termasuk NFS, SMB, SSHFS, dll.

NFS dapat dianggap sebagai sistem file jaringan asli Linux, seperti halnya SMB di Windows. Namun Linux tidak mengekspor filenya secara default:Anda perlu menginstal server NFS. Server NFS tersedia di semua distribusi Linux, tetapi memerlukan sedikit pengaturan (Anda perlu mendaftarkan direktori yang ingin Anda ekspor dalam file /etc/exports ). Selain itu NFS berasal dari waktu yang lebih lembut ketika penyerang di jaringan lokal tidak menjadi perhatian, dan mengamankannya memerlukan sedikit pengetahuan tentang firewall yang berada di luar cakupan jawaban ini. Untuk membuat direktori /some/where dari mesin jarak jauh foo.example.com tersedia di lokasi /local/dir (yang harus merupakan direktori yang sudah ada), dengan asumsi bahwa itu diekspor oleh mesin jarak jauh, jalankan perintah berikut sebagai root:

mount foo.example.com:/some/where /local/dir

Cara mudah untuk mengakses file jarak jauh tanpa pengaturan adalah melalui SSHFS. Yang Anda butuhkan hanyalah menginstal server SSH di mesin jarak jauh, dan sshfs paket pada mesin lokal. Anda juga harus membuat kunci (lihat Cara membuat login tanpa kata sandi berfungsi), meskipun Anda tidak memilikinya untuk melakukannya jika Anda tidak keberatan memasukkan kata sandi setiap saat. SSH juga berguna untuk menjalankan perintah pada mesin jarak jauh. Untuk membuat direktori /some/where dari mesin jarak jauh foo.example.com tersedia di lokasi /local/dir (yang harus berupa direktori yang sudah ada) melalui SSHFS, jalankan perintah berikut (sebagai pengguna biasa):

sshfs foo.example.com:/some/where /local/dir

Linux dapat menjadi server atau klien untuk protokol SMB (berkomunikasi dengan mesin Windows, atau bahkan dengan mesin Linux lainnya meskipun kurang terintegrasi dengan baik dibandingkan protokol lain) melalui perangkat lunak Samba.

Anda dapat menyiapkan automounter (seperti autofs ) sehingga mengakses direktori tertentu secara otomatis me-mount direktori dari beberapa mesin jarak jauh. Misalnya, konfigurasi umum mengatur agar sistem file autofs dipasang pada direktori /net , dan mengakses /net/MACHINE/DIRECTORY menyebabkan direktori jarak jauh /DIRECTORY dari /net/MACHINE untuk dipasang melalui NFS di lokasi tersebut (dan akan dilepas setelah periode tidak aktif tertentu). Mesin jarak jauh tentu saja harus menyiapkan server NFS dan mengizinkan koneksi itu.

Dimungkinkan untuk menyiapkan automounter dengan SSHFS. Lihat SSHFS yang Benar-Benar Mulus di Linux menggunakan Fuse dan Autofs dan Autofs dan sshfs – pasangan sempurna untuk tutorial singkat; singkatnya:

  1. Instal autofs dan sshfs .
  2. Tambahkan baris berikut ke /etc/auto.master :

    /mnt/sshfs /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost
    

    Ganti dua kemunculan 1000 dengan id pengguna dan id grup Anda (jalankan id -u dan id -g untuk menunjukkan nilai-nilai ini). Buat direktori /mnt/sshfs .

  3. Buat file /etc/auto.sshfs berisi baris seperti berikut:

    machinename -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#machinename.example.com\:
    

    di mana machinename.example.com adalah nama host (atau alamat IP) mesin jarak jauh dan machinename adalah nama yang ingin Anda akses secara lokal, melalui jalur /mnt/sshfs/machinename .

Autosshfs menyediakan penyiapan autofs+sshfs yang lebih nyaman.

Terakhir, mengenai bagian simbolik:Anda dapat membuat tautan simbolis ke jalur yang tidak ada. Tautan simbolik adalah argumen kedua, jadi Anda memerlukan sesuatu seperti

ln -s /net/10.0.1.103/sharedFolder/symlinkFile.mov /link/to/local/file.mov

Anda harus mengatur secara manual atau otomatis untuk /sharedFolder dari 10.0.1.103 untuk dipasang di /net/10.0.1.103/sharedFolder .


Linux
  1. Cara menyalin tabel dari satu database mysql ke database mysql lainnya

  2. Apa cara tercepat untuk memindahkan sejuta gambar dari satu direktori ke direktori lain di Linux?

  3. Menjalankan skrip dari direktori lain

  1. Bagaimana Cara Menyalin Pengaturan Dari Satu Mesin Ke Mesin Lainnya?

  2. Bagaimana cara seseorang mengubah symlink ke direktori di busybox?

  3. Bagaimana cara meneruskan port dari satu mesin ke mesin lainnya?

  1. Salin N-baris Terakhir Dari Satu File Ke File Lain?

  2. Salin struktur folder (tanpa file) dari satu lokasi ke lokasi lain

  3. Bagaimana cara memindahkan (dan menimpa) semua file dari satu direktori ke direktori lain?