วิธีที่ง่ายที่สุดในการติดตั้ง Windows ให้เป็นโฟลเดอร์ในเครื่องในโฮมไดเร็กตอรี่คืออะไร?


26

ผ่าน Gnome Nautilus ฉันสามารถติดตั้ง Samba ที่แบ่งปันได้อย่างง่ายดายจากเซิร์ฟเวอร์ Ubuntu ของฉัน อย่างไรก็ตาม "mounts" เหล่านี้เป็นของปลอม แอปพลิเคชันจำนวนมากที่ฉันเรียกใช้ไม่รู้จักว่า Gnome ติดตั้งโฟลเดอร์เซิร์ฟเวอร์เหล่านี้ดังนั้นจึงไม่สามารถเปิดไฟล์จากเซิร์ฟเวอร์ของฉันได้

ในอดีตที่ผ่านมาฉันสร้าง/etc/fstab รายการและติดตั้งพวกเขาทั่วโลกที่/mntโฟลเดอร์ แต่ตอนนี้ไม่ได้ไปทำงานเป็นคนอื่นแบ่งปันแล็ปท็อปของฉันอูบุนตู

วิธีที่ง่ายที่สุดในการสร้างแซมบ้า "ของจริง" ในไดเรกทอรีบ้านของฉัน (และของคนอื่น ๆ ) คืออะไร? ไม่เป็นไรถ้าเป็นคำสั่งหรือแอปพลิเคชัน GUI ที่สามารถทำงานเมื่อฉันเข้าสู่ระบบโฟลเดอร์เซิร์ฟเวอร์เหล่านี้ไม่จำเป็นต้องติดตั้งอยู่ตลอดเวลา


ทำไมคุณถึงต้องการใช้ Samba เพื่อเข้าถึงไฟล์บนเซิร์ฟเวอร์Linuxของคุณ? แซมบ้ามีไว้สำหรับเข้าถึงเครือข่ายและบริการของWindows
kynan

1
เนื่องจาก NFS เป็นปัญหาในการติดตั้งบนเซิร์ฟเวอร์และยิ่งทำงานได้มากขึ้นจากไคลเอนต์ Windows เหมือนกันกับ sshfs และอื่น ๆ
HDave

sshfs ไม่จำเป็นต้องตั้งค่าใด ๆ บนเซิร์ฟเวอร์อื่น ๆ นอกเหนือจากการsshdทำงานที่คุณต้องการอยู่แล้ว ดังนั้นแม้ว่าคุณจะใช้แซมบ้าเพื่อให้บริการลูกค้า Windows ฉันจะไม่ใช้มันสำหรับลูกค้า Linux Dokanบังเอิญเป็นลูกค้า sshfs ที่ยอดเยี่ยมสำหรับ Windows ซึ่งง่ายต่อการติดตั้ง
kynan

ฉันตั้งค่า sshfs บน Windows ... มันใช้งานได้ดี แต่ทำไมต้องปรับแต่งเครื่อง windows / mac หลายเครื่องเมื่อเซิร์ฟเวอร์ samba ทำงานได้ดีและติดตั้งได้ง่าย?
HDave

Samba เป็นตัวเลือกที่เหมาะสมสำหรับการให้บริการไฟล์กับไคลเอนต์ Windows / Mac ฉันไม่คิดว่ามันจำเป็นเมื่อให้บริการเฉพาะลูกค้า Linux ซึ่งเป็นวิธีที่ฉันอ่านคำถามของคุณ
kynan

คำตอบ:


27

สมมติว่าคุณมีไดเร็กตอรี่ที่เรียกว่าmountsในโฮมไดเร็กตอรี่ของคุณ, ซึ่งคุณต้องการให้เมานต์แชร์ของ Samba ต่างๆ สมมติว่าคุณมีความสนใจโดยเฉพาะในการติดตั้งส่วนแบ่งที่เรียกว่าsharenameจากเครื่องระยะไกลที่เรียกว่าhostname(นี้ยังอาจจะเป็นที่อยู่ IP) usernameและบนเครื่องระยะไกลชื่อผู้ใช้ของคุณ ก่อนอื่นให้สร้างจุดเมานท์:

mkdir ~/mounts/sharename

จากนั้นติดตั้งส่วนแบ่ง:

sudo mount.cifs //hostname/sharename ~/mounts/sharename -o user=username

ใน Ubuntu 12.04 LTS และก่อนหน้าถ้าคุณไม่มีmount.cifsคำสั่งคุณสามารถติดตั้งแพ็กเกจcifs-utilsติดตั้ง cifs-utilsหรือใช้smbmountแทน (ซึ่งในทางกลับกันจะได้รับจากแพ็คเกจsmbfsติดตั้ง smbfs )

sudo smbmount //hostname/sharename ~/mounts/sharename -o user=username

( smbmountคือไม่สามารถใช้ได้ใน Ubuntu 12.10 หรือสูงกว่าอย่างน้อยเพื่อให้ห่างไกลแต่คุณสามารถใช้mount.cifsแทน. ขอขอบคุณที่HDaveสำหรับชี้นี้ .)

คุณอาจได้รับแจ้งให้ใส่รหัสผ่านของคุณในเครื่องท้องถิ่นเพื่อเรียกใช้คำสั่งในฐานะรูท จากนั้นคุณจะได้รับแจ้งให้ใส่รหัสผ่านของคุณบนเครื่องระยะไกลเพื่อเข้าสู่ระบบเพื่อให้คุณสามารถเมานต์แชร์


ต้องทำsudo apt-get install smbfsก่อนว่า
HDave

ยังต้องการsudo apt-get install smbfsก่อน จากนั้นภูเขาก็ทำงานอย่างถูกต้องในตอนท้ายของฉัน โปรดทราบว่าฉันแทนที่ชื่อโฮสต์ด้วยที่อยู่ IP ของเซิร์ฟเวอร์ (เซิร์ฟเวอร์เป็นกล่อง WinXP) ไม่แน่ใจว่าทำไมชื่อคอมพิวเตอร์ของกล่อง XP ไม่ทำงานสำหรับฉัน ขอบคุณเพื่อน!
Logi

ตอนนี้เสียใน 12.10 ค้นหาข้อผิดพลาดและวิธีแก้ปัญหาที่นี่: bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1095294
HDave

ฉันได้รับ: ข้อผิดพลาดของเมานต์ (12): ไม่สามารถจัดสรรหน่วยความจำได้ (พวกเขาบอกว่าฉันต้องการแฮ
กรี

@HDave ขอบคุณฉันได้อัปเดตคำตอบแล้ว ตั้งแต่ฉันใช้smbmountตอนแรก (ไม่ใช่mount -t smbfs) ฉันใช้mount.cifsตอนนี้ (มากกว่าmount -t cifs) เพื่อรักษาสไตล์ดั้งเดิมของฉัน mount -t cifsจะแน่นอนว่าทำงานได้ (ตามที่จะmount -t smbfs12.04 และก่อนหน้านี้)
Eliah Kagan

4
  • เปิดตัวจัดการไฟล์ของคุณเช่นคลิกที่ไอคอนสำหรับโฮมโฟลเดอร์
  • สังเกตที่ด้านบนของหน้าจอคือเมนูสำหรับตัวจัดการไฟล์ (ตรงข้ามกับที่ด้านบนของหน้าต่าง)
  • คลิกไฟล์เชื่อมต่อกับเซิร์ฟเวอร์ ... ; หน้าต่างควรเปิดหัวข้อเชื่อมต่อกับเซิร์ฟเวอร์
  • คลิกลงในกล่องแบบหล่นลงที่ชื่อประเภท ; เลือกWindows share (เช่นเปลี่ยนจากค่าเริ่มต้นของ Public FTP)
  • ป้อนเซิร์ฟเวอร์ (ชื่อหากสามารถแก้ไขได้โดย DNS หรือที่อยู่ IP ของมัน
  • ป้อนการแชร์ (เช่นรายการที่คุณเห็นในวินโดว์แชร์เป็นองค์ประกอบแชร์ของ '\\ Server \ Share')
  • ป้อนชื่อโฟลเดอร์ของไดเรกทอรีเฉพาะใด ๆ ในส่วนแบ่งที่คุณต้องการให้ตำแหน่งติดตั้งที่
  • ป้อนรายละเอียดผู้ใช้ใดก็ได้ / ไม่จำเป็น
  • แชร์ควรเมานต์และปรากฏในหน้าต่างตัวจัดการไฟล์ในรายการด้านซ้ายภายใต้เครือข่าย
  • คุณอาจต้องการสร้างบุ๊กมาร์กสำหรับการเมานต์นั้น อีกครั้งจากเมนูตัวจัดการไฟล์ที่ด้านบนของหน้าจอ: ที่คั่นหน้า→เพิ่มที่คั่นหน้าเว็บ (หลังจากคลิก / เน้นรายการที่คุณเพิ่งติดตั้ง)

1
การทำสิ่งนี้ผ่าน Nautilus คือสิ่งที่ฉันหมายถึงโดยการเมานท์เป็นเมานต์ "ปลอม" "เมานท์" นี้ได้รับการยอมรับโดยแอปพลิเคชัน Gnome จำนวนเล็กน้อยเท่านั้น ลองไปที่บรรทัดคำสั่งและทำ "ls" หรือลองเปิดไฟล์บนเมานต์จาก VLC หรือแอปอื่น ๆ ที่ไม่ได้ใช้กล่องโต้ตอบไฟล์ Gnome และคุณจะพบว่าการเมานต์ของคุณไม่อยู่ที่นั่น
HDave

2
@HDave lsทำงานให้ฉันได้ cd ~/.gvfsแล้วlsและควรจะมีภูเขา คุณสามารถเชื่อมโยงไปทุกที่ที่คุณต้องการจากที่นั่น
การชดเชย จำกัด

สิ่งนี้ถูกต้อง แต่จะไม่อยู่ที่นั่นเมื่อคุณลงชื่อเข้าใช้ครั้งแรกคุณต้องเรียกดูพวกเขาใน Nautilus ก่อนซึ่งเป็นสิ่งที่น่าอึดอัดใจ
HDave

3

ไม่แน่ใจว่าคุณยังคงมองหาสิ่งที่ง่ายฉันพบมัน:

หุ้นทั้งหมดที่คุณได้เปิดจะติดตั้งโดยอัตโนมัติ/home/.gvfsในโฟลเดอร์ที่บ้านของคุณภายใต้

แอปพลิเคชันใด ๆ สามารถรับรู้และเข้าถึงการใช้ร่วมกันราวกับว่าเป็นโฟลเดอร์ปกติตราบใดที่คุณชี้แอปพลิเคชันไปยังไฟล์หรือโฟลเดอร์ที่คุณต้องการ /home/.gvfs


1

ทำไมคุณถึงต้องการใช้ Samba เพื่อเข้าถึงไฟล์บนเซิร์ฟเวอร์Linuxของคุณ? แซมบ้ามีไว้สำหรับเข้าถึงเครือข่ายและบริการของWindows

ใช้sshfsแทนโดยไม่จำเป็นต้องตั้งค่าใด ๆ เลยและคุณจะได้รับจุดเชื่อมต่อที่ "เหมาะสม" ซึ่งเป็นที่รู้จักโดยแอปพลิเคชันใด ๆ :

sudo apt-get install sshfs

เมานต์ระบบไฟล์รีโมตด้วย

sshfs user@host:/path /local/mount/point

และยกเลิกการต่อเชื่อมกับ

fusermount -u /local/mount/point

เพราะคุณมีไคลเอนต์ Windows อื่น ๆ ใน LAN ของคุณ และใช่พวกเขาสามารถเรียกใช้ sshfs ได้เช่นกัน แต่ Samba ก็ใช้งานได้ดีและง่ายกว่า
HDave

ยุติธรรมพอที่ไม่ชัดเจนจากคำถามของคุณ นอกจากนี้ไม่มีอะไรหยุดคุณจากการเข้าถึงเซิร์ฟเวอร์ Linux ของคุณผ่าน SSHFS จาก Linux และผ่าน Samba จาก Windows / Mac คุณสามารถเข้าถึงแชร์เดียวกันได้หลายวิธี
kynan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.