การติดตั้ง CLI กับการติดตั้ง GUI


21

ใน Ubuntu 12.10 เมื่อฉันต้องการติดตั้งฮาร์ดไดรฟ์ฉันสามารถคลิกที่ไดรฟ์ที่ไม่ต่อเชื่อมและทุกอย่างก็ทำงานได้ดี (โดยติดตั้งที่/media/username/partitionlabel)

โดยทั่วไปฉันต้องการทำอย่างนั้นผ่านทางบรรทัดคำสั่ง (สำหรับสคริปต์ที่ฉันทำงานอยู่)

เนื่องจากฉันไม่ต้องการที่จะติดตั้งอัตโนมัติในการบูต fstab เป็นคำถาม (ใช่ไหม?)

เมื่อฉันใช้ mount บน CLI ฉันต้องระบุจุดเมานท์ (ซึ่งต้องมีจุดเมานต์ที่สร้างขึ้นก่อนหน้านี้ฉันต้องดูแลสิทธิ์และอะไร) - สิ่งที่ฉันไม่เข้าใจก็คือ GUI ใช้เวลาทั้งหมดที่ไหน มันมาจากไหน? Mountpoint ดูเหมือนจะขึ้นอยู่กับฉลากของพาร์ติชัน แต่ไม่มีไดเรกทอรีดังกล่าวก่อนที่จะติดตั้ง นอกจากนี้วิธี GUI ดูเหมือนจะไม่สนใจมากเกินไปเกี่ยวกับผู้ใช้ที่ไม่ได้รูท

มีวิธี "ง่าย" ในการติดตั้งผ่าน CLI เช่นเดียวกับที่ทำบน GUI โดยคลิกที่ไดรฟ์ที่ไม่ต่อเชื่อมหรือไม่

คำตอบ:


16

Nautilus และตัวจัดการไฟล์อื่น ๆ ที่เมาท์ไดรฟ์ (เช่นGUI ) ใช้udisksคำสั่ง

นี่คือการเมานต์แบบไดนามิกที่จุดเมานท์ถูกสร้างขึ้นสำหรับไดรฟ์ on-the-fly และเมื่อไดรฟ์ถูกถอดออกแล้วจุดเมานท์จะหายไป

ดูman 1 udisksรายละเอียดเกี่ยวกับวิธีใช้คำสั่งนี้ (ด้วยตนเองหรือเรียกจากสคริปต์ / แอปพลิเคชัน) ต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานให้ดูudisksman 7 udisks

ในการติดตั้งอุปกรณ์ด้วยudisksคุณต้องระบุชื่ออุปกรณ์ที่ถูกต้องสำหรับอุปกรณ์ การระบุชื่อโวลุ่มของอุปกรณ์จะไม่ทำงาน ดังนั้นคุณสามารถใช้udisksสิ่งนี้:

udisks --mount /dev/sdb1

เมื่อใช้งานด้วยตนเองudisksจากบรรทัดคำสั่งคุณอาจจะดีที่สุดในการเสียบอุปกรณ์จากนั้นเรียกใช้dmesg | tailหลังจากนั้นไม่นาน (ดูman dmesgและman tail) เพื่อค้นหาชื่ออุปกรณ์ของอุปกรณ์ที่เชื่อมต่อใหม่

นี้ไม่อาจจะเป็นวิธีที่ดีที่สุดในการเขียนสคริปต์ว่าอุปกรณ์ที่เมาท์ที่มีudisksแต่ ฉันไม่ทราบว่าคุณควรทำอย่างไรและจะรู้ได้ยากเนื่องจากคุณไม่ได้บอกเราอย่างชัดเจนว่าคุณต้องการให้สคริปต์นี้ทำอะไรและเมื่อใดที่คุณต้องการติดตั้งอุปกรณ์


ขอบคุณมาก - udisksเป็นสิ่งที่ฉันกำลังมองหา! สำหรับเหตุผลใดฉันได้รับ "เมาล้มเหลว: ไม่ Aouthorized" เมื่อทำงานผ่านทางssh; ถ้าฉันไม่ผลักดันโชคของฉันพอยน์เตอร์จะได้รับการชื่นชมว่าจะแก้ไขได้อย่างไร ^^
NicApicella

2
@NicolaApicella คุณเป็นอย่างไรบ้าง? คุณจะได้รับข้อความไม่ได้รับอนุญาตหากคุณพยายามเรียกใช้จากเซสชันระยะไกล (รวมถึง SSH) หรือจาก crontab โดยดีฟอลต์ผู้ใช้ที่ไม่ใช่รูทสามารถเมานต์ไดรฟ์ด้วยudisksจากการเข้าสู่ระบบแบบโต้ตอบภายในเครื่องเท่านั้น (พวกเขายังคงสามารถเรียกใช้สคริปต์จากการเข้าสู่ระบบแบบอินเทอร์แอคทีฟท้องถิ่นที่ใช้udisks)
Eliah Kagan

ใช่ขอโทษสังเกตเห็นเพียง (และแก้ไข) ความคิดเห็นก่อนหน้าของฉัน: sshฉันจริงทำงานได้จาก (และปัจจุบันกำลังแก้ไขปัญหา
Google

6

เนื่องจากฉันไม่ต้องการที่จะติดตั้งอัตโนมัติในการบูต fstab เป็นคำถาม (ใช่ไหม?)

Nope noautoคำหลักทำให้มันข้ามการติดตั้งในเวลาบูต

มีวิธี "ง่าย" ในการติดตั้งผ่าน CLI เช่นเดียวกับที่ทำบน GUI โดยคลิกที่ไดรฟ์ที่ไม่ต่อเชื่อมหรือไม่

ที่ง่ายที่สุดที่จะเพิ่มเข้าไป/etc/fstabด้วยnoautoและการใช้งาน ...

mount /dir

/etc/fstabนี้จะมีการติดสอบสวนสำหรับจุดเมานท์และถ้าไม่พบแล้วสำหรับอุปกรณ์ใน /dirจำเป็นต้องมีอยู่แม้ว่า

หากไม่ได้ระบุอุปกรณ์หรือ UUID /etc/fstabไว้ ชอบมาก ...

mount /dev/sda1 /media/directory

หรือใช้udisks (ฉันจะให้เอลียาห์จัดการเรื่องนั้น> :-))


การเมานท์เป็นผู้ใช้ขั้นสูงเท่านั้น

ตัวเลือกตัวอย่าง:

  • rw,noauto,user เมานต์เป็นการอ่าน + เขียน แต่ไม่สามารถบู๊ตได้และคุณสามารถทำได้ในฐานะผู้ใช้

  • นอกจากนี้คุณยังสามารถเพิ่มสิทธิ์สำหรับผู้ใช้ใน/etc/fstabสำหรับไฟล์ คุณสามารถใช้umaskสำหรับการที่

  • umask = 0444: ทุกคนอ่านไม่มีเขียนไม่ดำเนินการ

  • umask = 0333: ทุกคนอ่านดำเนินการ
  • umask = 0338: เจ้าของกลุ่มอ่านและดำเนินการ อื่น ๆ ไม่มีอะไรเลย

ตกลงฉันอาจจะไปข้างหน้าและลองเพราะมันดูเหมือนจะเป็น "วิธีที่จะทำ" อย่างไรก็ตาม :-) ดังนั้นฉันเดาว่าฉันจะต้องสร้าง mountpoint-directory (ที่มีสิทธิ์ที่ถูกต้อง) อยู่ดี ;-)
NicApicella

@Rinzwind ผู้ใช้ที่ไม่ใช่รูทจะสามารถเชื่อมต่ออุปกรณ์ได้หรือไม่
Eliah Kagan

1
@EliahKagan ใช่ถ้าคุณตั้งค่าตัวเลือกที่เหมาะสมใน fstab (uid, user, ... )
NicApicella

@NicolaApicella ฉันหวังว่าคำตอบนี้อาจถูกขยายเพื่อรวมข้อมูลเกี่ยวกับสิ่งนั้น :)
Eliah Kagan

@NicApicella เขาชอบที่จะเป็นหัวหน้าฉันรอบ ๆ : =)
Rinzwind

3

ในหนึ่งในความคิดเห็นที่คุณพูดว่า:

ไม่ว่าจะด้วยเหตุผลใดก็ตามฉันได้รับ "การติดตั้งล้มเหลว: ไม่ถูกต้อง" เมื่อใช้งานผ่าน ssh

ฉันใช้pmountแทนudisksแทนมันทำงานผ่าน ssh

ถ้าฉันจำได้ถูกต้องนี่เป็นไวยากรณ์ / etc ที่ฉันใช้กับมันส่วนใหญ่ของฉันจะถูกซ่อนอยู่หลังนามแฝง ณ จุดนี้:

pmount /dev/sdb1 my_usb
ls /media/my_usb/
eject /media/my_usb

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.