মাউন্ট করা ভাগ করা ফোল্ডারে আমি কীভাবে ফাইলগুলি সঞ্চয় করতে পারি?


18

আমি একটি উবুন্টু হোস্টে ফেডোরা ওয়ার্কস্টেশন ভার্চুয়াল মেশিন চালাচ্ছি।
আমি অতিথিতে একটি ফোল্ডার তৈরি করেছি /home/cl/shareএবং লিনাক্স-কেভিএমের/media/cl/system/virtual/share নির্দেশাবলী অনুসরণ করে ভাগ করা ফোল্ডারটিকে মূল হিসাবে স্থাপন করেছি :

mount -t 9p -o trans=virtio,version=9p2000.L /host /home/cl/share

আমি ভাগ করা ফোল্ডারগুলি থেকে ফাইল এবং ফোল্ডারগুলি অ্যাক্সেস করতে (পড়তে) সক্ষম হয়েছি, তবে আমি সেগুলিতে লিখতে পারি না।

একটি উদাহরণ: আমি mount-share.txtফোল্ডারে ফাইলটি সংরক্ষণ করার চেষ্টা করছি /home/cl/share

উভয় ফোল্ডারে (হোস্ট এবং অতিথি) পড়ার-লেখার অনুমতি রয়েছে, তবুও আমি ত্রুটিটি পেয়েছি

Error opening file '/home/cl/share/mount-share.txt': Operation not permitted.
  • হোস্ট অপারেটিং সিস্টেম: উবুন্টু 15.10 ডেস্কটপ 64৪-বিট
  • অতিথি অপারেটিং সিস্টেম: ফেডোরা 23 ওয়ার্কস্টেশন -৪-বিট
  • ভার্চুয়ালাইজেশন সফ্টওয়্যার: qemu qemu-kvm virt-manager
  • হোস্ট সিস্টেমের অবস্থান: 1 ম অন্তর্নির্মিত এসএসডি - ext4 ফর্ম্যাট
  • ভার্চুয়াল স্টোরেজ অবস্থান: দ্বিতীয় বিল্ট ইন এইচডিডি - এনটিএফএস ফর্ম্যাট
  • ভাগ করা ফোল্ডারগুলির অবস্থান: দ্বিতীয় বিল্ট-ইন এইচডিডি - এনটিএফএস ফর্ম্যাট

virt-manager- র

আমি কীভাবে অতিথি এবং হোস্টের মধ্যে একটি ডিরেক্টরি ভাগ করতে পারি এবং অতিথিকে পঠন-লেখার অ্যাক্সেসের অনুমতি দিতে পারি?

sudo chmod a+x /media/clএবং sudo chmod -R 777 /mediaপরিস্থিতি পরিবর্তন করেনি।

অতিথি সিস্টেম:

ls -la /home/cl/share  
total 16  
drwxrwxrwx.  1 cl cl 4096 20. Jan 14:41 .  
drwx------. 18 cl cl 4096 24. Jan 19:11 ..  
drwxrwxrwx.  1 cl cl 4096 17. Dez 09:49 fedora  
drwxrwxrwx.  1 cl cl    0  5. Jan 11:43 solus  
drwxrwxrwx.  1 cl cl    0  6. Jan 12:10 ubuntu  
drwxrwxrwx.  1 cl cl 4096 24. Jan 16:58 various    

stat /home/cl/share  
  File: ‘/home/cl/share’  
  Size: 4096         Blocks: 8          IO Block: 4096   directory  
Device: 25h/37d    Inode: 135       Links: 1  
Access: (0777/drwxrwxrwx)  Uid: ( 1000/     cl)   Gid: ( 1000/      cl)  
Access: 2016-01-27 10:11:12.566303000 +0100  
Modify: 2016-01-26 21:34:48.647707300 +0100  
Change: 2016-01-26 21:34:48.647707300 +0100  
 Birth: -  

হোস্ট সিস্টেম:

ls -ld /media /media/cl/ /media/cl/system /media/cl/system/virtual/ /media/cl/system/virtual/share  
drwxr-xr-x  3 root root 4096 Okt 22 16:06 /media  
drwxr-x---+ 6 root root 4096 Jan 24 10:49 /media/cl/  
drwxrwxrwx  1 cl   cl   4096 Jan 19 15:28 /media/cl/system  
drwxrwxrwx  1 cl   cl   4096 Jan 22 13:43 /media/cl/system/virtual/  
drwxrwxrwx  1 cl   cl   4096 Jan 20 14:41 /media/cl/system/virtual/share  

getfacl /media/cl/  
getfacl: Removing leading '/' from absolute path names  
# file: media/cl/  
# owner: root  
# group: root  
user::rwx  
user:libvirt-qemu:--x  
user:cl:r-x  
group::---  
mask::r-x  
other::---

ps aux | grep virt
root       988  0.0  0.2 1207024 39888 ?       Ssl  12:48   0:01 /usr/sbin/libvirtd  
libvirt+  1204  0.0  0.0  45268  2720 ?        S    12:48   0:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper  
root      1207  0.0  0.0  45240   368 ?        S    12:48   0:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper  
cl        4204  0.0  0.0  15184  2532 pts/2    S+   14:06   0:00 grep --color=auto virt

আপনি দুটি লিনাক্স সিস্টেমের মধ্যে ভাগ করতে এনটিএফএস ব্যবহার করছেন কেন? আপনি কি আরও দেশীয় ফাইল ফর্ম্যাট দিয়ে একই সেট আপ চেষ্টা করেছেন?
ক্লাতাতু ভন শ্ল্যাকার

2
@ ক্লাটোভনস্ল্যাকার: দ্বিতীয় এইচডিডিতে অপারেটিং সিস্টেম সম্পর্কিত নয় এমন সমস্ত কিছু রয়েছে এবং উইন্ডোজ এর মতো অন্যান্য অপারেটিং সিস্টেমের সাথে ডেটা অ্যাক্সেস করতে চাইলে নমনীয় হওয়ার জন্য এনটিএফএস দ্বারা ফর্ম্যাট করা হয়। আমি যখন ভার্চুয়ালাইজেশনের জন্য ভার্চুয়ালবক্স ব্যবহার করি তখন ফোল্ডার ভাগ করে নেওয়ার বিষয়ে সবকিছু সঠিকভাবে কাজ করে।
cl-নেটবক্স

ফাইল সিস্টেমে লেখার চেষ্টা করার সময় ত্রুটি বার্তাটি সম্পর্কে: আপনি হোস্টের কাছ থেকে লেখার চেষ্টা করার সময়, বা কেবল অতিথির কাছ থেকে লেখার চেষ্টা করার সময়ই কি ত্রুটিটি পাওয়া যায়?
ওয়াইল্ডকার্ড

@ উইল্ডকার্ড: অতিথির মধ্যে থেকে কিছু (স্টোর) লেখার চেষ্টা করার সময় আমি ত্রুটি বার্তাটি পেয়েছি।
cl-নেটবক্স

উত্তর:


14

আমি আমার সিস্টেমে সমস্যাটি পুনরুত্পাদন করতে পারি।
আপনার প্রধান সমস্যা হ'ল আপনার হোস্টের এসিএল বিধিনিষেধ।
এই কারণে libvirt-qemuব্যবহারকারীর এসিএল বৈশিষ্ট্যগুলি পরিবর্তন করুন :

sudo setfacl -R -m u:libvirt-qemu:rwx /media/cl

পরিবর্তন Modeএর জন্য সেটিংস Filesystem /host থেকে Passthroughকরতে Mapped


কেন? এ কারণেই:

আপনার অতিথি সিস্টেমটি libvirt-qemuব্যবহারকারী হিসাবে চলে এবং আপনার এসিএল সেটিংস এই ব্যবহারকারীর অনুমতিগুলি সীমাবদ্ধ করে।

user:libvirt-qemu:--x

এর সঠিক আউটপুট হওয়া getfaclউচিত:

user:libvirt-qemu:rwx

2

যদি আপনার প্রাথমিক লক্ষ্যটি কেবল ফাইলগুলি সামনে পিছনে ভাগ করা হয় এবং আপনি টিসিপি ব্যবহারের জন্য উন্মুক্ত হন তবে আপনি কেবল এসএসএস বা অনুরূপ ফাইল ভাগ করতে পারেন।

উদাহরণস্বরূপ, আপনি যদি কোনও স্থানীয় বন্দরটি অতিথির কোনও বুদ্ধিমান বন্দরে পুনরায় নির্দেশ করেন তবে আপনার সেই বন্দরটি অ্যাক্সেসের জন্য ব্যবহার করতে সক্ষম হওয়া উচিত। আমি এসএসএইচ / এসসিপি ব্যবহার করি।

আমার ভিএম চালু করার সময়:

qemu-kvm [all your usual qemu options] -net nic -net user -redir tcp:22122::22

এবং তারপরে ভিএম অ্যাক্সেস করতে আমি এসএসএইচ ব্যবহার করি; আমি আমার হোস্ট মেশিনে একটি টার্মিনাল খুলি:

scp -P22122 myfile.txt klaatu@localhost:~/ssh-share-dir

fishবা sshfsআপনি যে কোনও জিইআইআই ফাইল ম্যানেজার ব্যবহার করেন ঠিক তেমন কাজ করে, যতক্ষণ আপনি বন্দরটি সেট করেন।


1
আমি যা করব: আপনার উবুন্টু হোস্টে, ভাগ করা দিরের জন্য এনএফএস সার্ভারটি কনফিগার করুন (আপনি এটি ক্লায়েন্টকে পঠন-লিখন করতে পারেন)। এবং এটিকে কেবল ফেডোরা ভিএম ক্লায়েন্টে মাউন্ট করুন। আপনার আইপি কানেক্টিভিটি হওয়ায় এটি সম্ভবত মনোমুগ্ধকর মতো কাজ করবে।
কেউউবুফুটোউইচজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.