ম্যাক ওএস এক্সের এক্সট 4 ফাইল সিস্টেমগুলি থেকে পড়া এবং লেখার জন্য কি নিরাপদ, স্থিতিশীল অ্যাপ্লিকেশন রয়েছে ?
যদি তা না হয় তবে ম্যাক ওএস এক্সে এক্সট 4 ফাইল সিস্টেমের সামগ্রীগুলি অ্যাক্সেস করার সর্বোত্তম উপায় কী?
ম্যাক ওএস এক্সের এক্সট 4 ফাইল সিস্টেমগুলি থেকে পড়া এবং লেখার জন্য কি নিরাপদ, স্থিতিশীল অ্যাপ্লিকেশন রয়েছে ?
যদি তা না হয় তবে ম্যাক ওএস এক্সে এক্সট 4 ফাইল সিস্টেমের সামগ্রীগুলি অ্যাক্সেস করার সর্বোত্তম উপায় কী?
উত্তর:
উত্তরটি আপনার বাণিজ্যিক সফ্টওয়্যারে বিনিয়োগের আগ্রহের উপর নির্ভর করে:
আপনি যদি বাণিজ্যিক পণ্যটিতে কিছু অর্থ ব্যয় করতে আপত্তি করেন না , ম্যাকের জন্য প্যারাগনের এক্সট্রাফগুলি আপনাকে ext2 / ext3 / ext4 ফাইল সিস্টেমে পড়তে এবং লেখার অ্যাক্সেস দেয়। বর্তমান সংস্করণটি 10.10 ওপরের থেকে ওএস এক্স / ম্যাকোসের সমস্ত সংস্করণ সমর্থন করে।
আপনি যদি কোনও নিখরচায় সমাধানের সন্ধান করে থাকেন তবে আপনি একটি লিনাক্স ভার্চুয়াল মেশিন সেটআপ করতে পারেন, সেখানে আপনার ভলিউম (গুলি) মাউন্ট করতে পারেন এবং এটি সাম্বা বা (এস) এফটিপি-র মাধ্যমে সেগুলি ভাগ করতে পারেন । এই পোস্টটি কিভাবে এই ব্যবহার অর্জন করা কিছু হয়ে গেছে VirtualBox , একটি বিনামূল্যে ভার্চুয়াল মেশিন আবেদন। মনে রাখবেন এটি ঠিক একটি হালকা ওজনের সমাধান নয়, এমনকি যদি একটি প্রিল বিল্ট ভার্চুয়ালবক্স ভিএম ব্যবহার করা আপনাকে স্ক্র্যাচ থেকে লিনাক্স ডিস্ট্রো ইনস্টল এবং কনফিগার করতে সহায়তা করে।
কেনের উত্তরের উপর ভিত্তি করে: আমি ফিউজ 4 এক্স এবং ফিউজ- এক্স 2 সফলভাবে ব্যবহার করেছি এবং আমি এক্সট 4 ফিউজের চেয়ে ফিউজ- এক্সট 2 সুপারিশ করি।
ext4fuse আমার জন্য ঝামেলা ছিল, কারণ এটির জন্য ম্যানুয়াল সংকলন প্রয়োজন এবং ফিউজ 4 এক্স বিকল্পগুলির জন্য কোনও সমর্থন নেই যা আমাকে অ্যাক্সেস নিয়ন্ত্রণ সেট করার অনুমতি দেয়। ফিউজ-এক্সট 2 ডাউনলোডযোগ্য প্যাকেজ সরবরাহ করে এবং 0.0.7 সংস্করণটি ঠিক কাজ করেছে। আমি কোনও সমস্যা ছাড়াই কয়েকটি বড় আইএসপি অনুলিপি করেছি।
ব্রিউ কমান্ড লাইন প্যাকেজ ম্যানেজারের মাধ্যমেও ওএসএক্সএফইউএস সম্পূর্ণরূপে ইনস্টল করা যায় :
brew install homebrew/fuse/ext4fuse
নোট করুন যে ইনস্টলেশনটি নির্দিষ্ট কমান্ডগুলি এর পাশাপাশি 'sudo' হিসাবে চালানোর প্রয়োজন বলে।
ইয়োসেমাইট সাথে উন্নত কটাক্ষপাত আছে এই । এবং তারপর নিশ্চিত ডিরেক্টরির করে আপনার ব্যবহারকারী দ্বারা পাঠযোগ্য হয় এই । এটি কাজ করার জন্য আমাকে হুইল গ্রুপটি এই জাতীয়ভাবে ব্যবহার করতে হয়েছিল:
sudo dscl . append /Groups/wheel GroupMembership $(whoami)
হোমব্রিউতে সাম্প্রতিক পরিবর্তনগুলির সাথে, এটি এতটা সহজ হওয়া উচিত:
brew cask install osxfuse
brew install ext4fuse
আপনাকে পুনরায় বুট করতে হবে।
দুর্ভাগ্যক্রমে, ext4fuse কেবল পঠনযোগ্য। এবং এটি একটি সাধারণ ব্যবহারকারী হিসাবে কাজ করার জন্য আপনাকে একটি পতাকা ব্যবহার করতে হতে পারে ।
অন্যেরা এই প্রশ্নটি দেখছেন লিবাগুয়েস্টফে আগ্রহী হতে পারে । আমি কোনও ওএস এক্স পোর্ট সম্পর্কে সচেতন নই, তবে ভার্চুয়ালবক্সের একটি এপিআই রয়েছে তা বিবেচনা করে এটি প্রশ্ন থেকে যায় না।
আমি অবাক হয়েছি কেন কেউ লিনাক্স কার্নেল ফাইল সিস্টেম কোডটিকে ইউজারস্পেস / ফিউজে চালানোর অনুমতি দেওয়ার জন্য কোনও সামঞ্জস্যতা স্তরটি লেখেনি। নাকি কেউ আছে?
আপনি যদি ভাবছেন যে ফিউজ এবং এক্সটুফিউজ (উদাহরণস্বরূপ ম্যাকপোর্টস ব্যবহার করে ইনস্টল করা হয় port install ext2fuse
) ব্যবহার করে একটি এক্সট 4 পার্টিশন মাউন্ট করার জন্য কমান্ড লাইনটি কী - তবে প্রথমে আপনাকে লিনাক্স পার্টিশনটি কোথায় কাজ করা উচিত:
diskutil list
এটি সমস্ত ডিস্কের জন্য সমস্ত পার্টিশন তালিকাভুক্ত করবে এবং এর মধ্যে আপনার উচিত টিওয়াইপি কলামের অধীনে তালিকাভুক্ত প্রবন্ধগুলি লিনাক্স হিসাবে। ডিস্কএক্স এবং পার্টিশন নম্বর Y এর মতো / ডিভ / ডিস্কএক্সওয়াই সংযুক্ত করুন - যেমন:
mount -t fuse-ext2 /dev/disk1s2 ~/my_mount_point
এটি লগ ফাইলে লিখতে না পারার অভিযোগ করতে পারে তবে এটি আপনার হোম মাউন্ট পয়েন্টে পার্টিশনটি মাউন্ট করা উচিত। আপনি যদি একটি ডিরেক্টরি ডিরেক্টরিতে পার্টিশনটি মাউন্ট করতে চান তবে আপনাকে এটি অবশ্যই মূল হিসাবে চালনা করতে হবে:
sudo mount -t fuse-ext2 /dev/disk1s2 /sys_mount_point
যদি এটি কাজ করে না তবে চেষ্টা করুন:
sudo ext2fuse /dev/disk1s2 /sys_mount_point
আপডেট : খুব সাম্প্রতিক আমি খুঁজে পেয়েছি যে ফিউজ- এক্সট 2 এর আরও কয়েকটি নতুন এক্সট 4 বৈশিষ্ট্যগুলির সাথে সমস্যা রয়েছে, সুতরাং পরিবর্তে এটি ext4fuse ( port install ext4fuse
বা brew install ext4fuse
) ব্যবহার করা ভাল । Ext4fuse কমান্ডটি সরাসরি ব্যবহার করুন:
ext4fuse /dev/disk1s2 ~/mount_point
টিমোথির মন্তব্যে যেমন উল্লেখ করা হয়েছে আপনি সাধারণত তখনই ব্যবহার করতে পারেন sudo
যখন আপনি নিজের হোম ডিরেক্টরি থেকে বাইরে চলে যাচ্ছেন বা ডিস্ক (/ dev / डिस्कএক্স) কেবল রুট দ্বারা অ্যাক্সেসযোগ্য:
sudo ext4fuse /dev/disk1s2 /sys_mount_point
এটি অবশ্যই লক্ষ করা উচিত যে আপনি কেবল সেই মাউন্ট করা ফাইল সিস্টেমকে রুট / সুডো হিসাবে অ্যাক্সেস করতে পারেন। যেমন
sudo ls /sys_mount_point
এবং ফাইল সিস্টেমটি আনমাউন্ট করার জন্য আপনি কেবল সাধারণ umount
কমান্ড ব্যবহার করেন (পার্টিশন মাউন্ট করার জন্য sudo সহ):
umount ~/mount_point
cd ~
, mkdir mnt
, ext4fuse /dev/diskXsY mnt
, ls -la mnt
উবুন্টু / রুট ছাড়াই।
কেবল রেকর্ডের জন্য, আমি লিনাক্সে এক্সট্রোশন পার্টিশনে লিখতে আমার ম্যাকবুক প্রোতে প্যারাগন এক্সএফএস ড্রাইভার (পরীক্ষামূলক সংস্করণ) পরীক্ষা করেছি। আমি দেখতে পেলাম যে ড্রাইভারটি খুব অস্থিতিশীল ছিল এবং এটি ফাইল সিস্টেমে দুর্নীতি সৃষ্টি করেছিল যা fsck
লিনাক্স এবং ডিস্ক ইউটিলিটিতে মেরামত করতে সক্ষম হয় নি।
আমার ধারণাটি ছিল /home
এই প্যারাগন ড্রাইভারটি ব্যবহার করে ম্যাক ওএস এক্স থেকে আমার পার্টিশনটি অ্যাক্সেস করা , তবে আমি এই সেটআপটি করার পরামর্শ দিই না। এখনও অবধি আমার /home
লিনাক্সে আমার বিভাজনটি জার্নাল না করে ফর্ম্যাট করা আছে hfsplus
এবং তারপরে আমি ম্যাক ওএস এক্স থেকে আমার ফাইলগুলি অ্যাক্সেস করতে পারি course অবশ্যই সময়ে সময়ে আমি আমার এফএসে কিছু সমস্যা পাই তবে খুব ঘন ঘন হয় না। যাইহোক, আমি এই সেটআপটিকে প্রস্তাব দিই না (কমপক্ষে আপনার প্রতিদিনের কাজের জন্য আপনার আপ টু ডেট ব্যাকআপ রয়েছে)।
অবশেষে, আমি বিশ্বাস করি যে প্যারাগন সম্ভবত বাহ্যিক হার্ড ডিস্কগুলির জন্য ব্যবহার করার জন্য আরও উপযুক্ত তবে যাইহোক লাইসেন্সটি ব্যয়বহুল এমন সফ্টওয়্যার হওয়ার পক্ষে এটি খুব নির্ভরযোগ্য নয়।
আপডেট: ২০১৫ সালের মে পর্যন্ত আমি আমার / হোমটি এক্সট 4 এ ফর্ম্যাট করেছি এবং আমি ওএস এক্স-এর জন্য ফুস-এর সাথে মিশ্রিত করে ফিউজ-এক্সট 2 ব্যবহার করে ফাইল-সিস্টেমটি মাউন্ট করেছি read আমি পড়তে ও লিখতে ext4 পার্টিশনটি অ্যাক্সেস করতে পারি। আমি পূর্বে উপরে বর্ণিত একটিটির চেয়ে এটি আরও শক্ত সেটআপ।
Vagrant ব্যবহার করে আপনি আপনার ওএস এক্সে লিনাক্স ভিএম দ্রুত বুট করতে পারেন । আপনি যেমন VM- র প্রদানকারী ইনস্টল করার প্রয়োজন VirtualBox এবং দ্য ভাগ্রান্ট পারেন সাইট থেকে .dmg ফাইল বা ব্যবহার মাধ্যমে চোলাই পিপা ।
vagrant
কমান্ড ইনস্টল হয়ে গেলে এটি যে কোনও নির্বাচিত ফোল্ডারে চালাও:
vagrant init ubuntu/trusty64; vagrant up --provider virtualbox
এটি Vagrantfile
কনফিগার ফাইল এবং .vagrant
ফোল্ডার তৈরি করবে ।
এবং আপনার কয়েক মিনিটের মধ্যে লিনাক্স বক্স বুট হয়ে যাবে ( অ্যাটলাস হ্যাশিকর্প সংগ্রহস্থল থেকে ডাউনলোড )।
তারপরে কমান্ডের মাধ্যমে বাক্সের সাথে সংযুক্ত করুন : vagrant ssh
এবং লিনাক্সের মধ্যে আপনার ডিভাইসটিকে মাউন্ট করার চেষ্টা করুন ।
ডিফল্টরূপে আপনার বর্তমান ফোল্ডারটি /vagrant
ভিএম-তে ফোল্ডারের সাথে সিঙ্ক হবে । আরও উন্নত বিকল্পের জন্য, আপনি Vagrantfile
প্রয়োজনীয় কনফিগারেশন দিয়ে সংশোধন করতে পারেন ।
সুতরাং আপনি যদি নিজের ফাইল সিস্টেমটি /vagrant
ফোল্ডারের মধ্যে মাউন্ট করেন তবে এটি স্বয়ংক্রিয়ভাবে আপনার ম্যাকোজে সিঙ্ক হয়ে যাবে।
বিকল্প হিসাবে আপনাকে কেবল ভার্চুয়ালবক্স ইনস্টল করতে হবে , জিইউআই অ্যাপ চালাবেন, লিনাক্সের একটি নূন্যতম সংস্করণ ইনস্টল করুন এবং বুট করতে হবে যেমন উবুন্টু উপরে বর্ণিত হিসাবে একই অর্জন করতে পারে।
অ-নেটিভ সমাধানগুলির উপরে আদর্শ নয়, তবে কমপক্ষে আপনার ম্যাকোস অস্থিতিশীল কার্নেল এক্সটেনশানগুলি ইনস্টল করার চেয়ে আরও স্থিতিশীল হতে পারে যার ফলে অনেকগুলি সিস্টেম ক্র্যাশ হতে পারে।
vagrant init ubuntu/xenial64; vagrant up --provider virtualbox
যেমন ubuntu/vivid64
আর পাওয়া যায় না।
ubuntu/trusty64
পরিবর্তে ব্যবহার করার চেষ্টা করুন ।
আমার কাছে একটি এক্সট 4 ফর্ম্যাটযুক্ত ইউএসবি ড্রাইভ ছিল যা আমি অক্সফিউজ ইনস্টল করার পরে মাউন্ট করতে সক্ষম হয়েছি । এ থেকে পড়া দুর্দান্ত কাজ করে তবে আমি নিশ্চিত না যে লেখাটি নিরাপদ কিনা।
এছাড়াও, ওএস এক্স এর ফাইল সিস্টেম ( এইচএফএস + ) থেকে ফাইলগুলি এক্সট ext-তে স্থানান্তরিত করার জন্য , আপনি প্রথমে those লুকানো। ডিডিএসএসএস ফাইলগুলি ওএস এক্স ফাইল সিস্টেমের স্নিকগুলিকে মাঝে মধ্যে খারাপ ইনোডের কারণে সরিয়ে ফেলতে চাইতে পারেন ।
find /my/data/to/move -name '*.DS_Store' -type f -delete
Fsck কমান্ড দিয়ে এগুলি ঠিক করার পরে ভাল ।
সিয়েরা এবং উচ্চ সিয়েরার জন্য ext4fuse কেবল পঠন অ্যাক্সেসের জন্য ভাল কাজ করছে বলে মনে হয় এবং তাই এটি সম্ভবত পছন্দসই বিকল্প হিসাবে বিবেচনা করা যেতে পারে। অন্য উত্তরগুলি ইতিমধ্যে কিছু ব্যবহারের উদাহরণ দিয়েছে যদিও আমি এটি আবার কিছু গুরুত্বপূর্ণ বিশদ দিয়ে পুনরাবৃত্তি করব:
এর সাথে ext4fuse ইনস্টল করুন :
brew install ext4fuse
আপনি একটি সাধারণ ব্যবহারকারী হিসাবে মাউন্ট করতে পারেন তবে সেই ক্ষেত্রে আপনি কেবল বিশ্ব-পঠনযোগ্য ফাইল অ্যাক্সেস করতে সক্ষম হবেন, এজন্য আপনাকে সম্পূর্ণ অ্যাক্সেসের জন্য ব্যবহার করতে হবে sudo
, যেমন:
sudo ext4fuse -o allow_other /dev/disk2s1
এখানে একটি বাশ স্ক্রিপ্ট রয়েছে যা প্রক্রিয়াটি আংশিকভাবে স্বয়ংক্রিয়ভাবে চলে। যখন চালু হবে এটি আপনাকে প্রদর্শিত ডিভাইস সনাক্তকারীগুলির মধ্যে একটিতে প্রবেশ করার অনুরোধ জানানো হওয়ার পরে স্বয়ংক্রিয়ভাবে মাউন্ট পয়েন্ট তৈরি করবে disk2s1
:
diskutil list
read -p "Please type the EXT4 device identifier: " disk_id
MOUNT_POINT=~/mnt/$disk_id
mkdir -p ${MOUNT_POINT}
sudo ext4fuse -o allow_other /dev/$disk_id ${MOUNT_POINT}
echo "***TO UNMOUNT USE***: 'diskutil umount ${MOUNT_POINT}'"
open ${MOUNT_POINT}
আনমাউন্ট করতে আপনি উদাহরণস্বরূপ ব্যবহার করতে পারেন diskutil umount /dev/disk2s1
- যদি আপনি কোনও বার্তা পান যে আনমাউন্টিং ব্যর্থ হয় তবে আপনি আনমাউন্টিংকে জোর করতে পারবেন diskutil umount force /dev/disk2s1
, যদিও ডিস্কের মধ্যে ফাইলগুলি ব্যবহার করা অ্যাপ্লিকেশনগুলি বন্ধ করে দেওয়া এবং বাইরে আনমাউন্টিংয়ের পুনরায় চেষ্টা করা আরও পরিষ্কার হবে force
।
যদি আপনার মালিকানাধীন ফাইলগুলি থাকে _lpoperator
(আপনি যখন গ্রুপ রিজার্ভ গ্রুপ বিকল্পের সাথে rsync ব্যবহার করেন তখন দৃশ্যত এগুলি তৈরি করা হয়), তবে নিম্নলিখিত আদেশটি আপনাকে সেই ফাইলগুলি অ্যাক্সেস করার অনুমতি দেবে:
/usr/sbin/dseditgroup -o edit -a everyone -t group _lpoperator
ওএসএক্সে এক্সটি 2/3/4 সমর্থন সক্ষম করতে দুটি প্যাকেজ দরকার: ওএসএক্সএফইউএসই এবং ফুস- এক্সটি 2 ।
Homebrew OSXFUSE ও ফিউজ-, EXT2 জন্য সূত্র কাজ করে নি পারেন মাভারিক্স বা Yosemite উপর আমার জন্য।
কাজটি কী ছিল তা নিম্নলিখিত:
OSXFUSE এবং FUSE-EXT2 উভয় ইনস্টল হয়ে গেলে আপনি অন্যান্য উত্তরে উল্লিখিত ext2 / ext3 / ext4 পার্টিশনটি মাউন্ট করতে পারেন:
আপনি যে মাউন্ট করতে চান সেই EXT পার্টিশনের জন্য ডিভাইসের নামটি সন্ধান করুন ( disk0s2
উদাহরণস্বরূপ নীচের উদাহরণে, (আপডেট) পরে ম্যাকোস সংস্করণে ext3 / ext4 পার্টিশনগুলিতে মাইক্রোসফ্ট বেসিক ডেটা লেবেলযুক্ত থাকতে পারে এবং লিনাক্স নয় ):
# diskutil list | grep Linux
1: Linux_Swap 8.2 GB disk0s1
2: Linux 119.9 GB disk0s2
বিদ্যমান মাউন্ট পয়েন্টে পার্টিশনটি মাউন্ট করুন:
sudo mkdir -p /Volumes/ext4
sudo mount -t fuse-ext2 /dev/disk0s2 /Volumes/ext4
নিয়মিত ব্যবহারকারী হিসাবে মাউন্ট করা আমার পক্ষে কাজ করে না। সম্ভবত অনুমতিগুলির সাথে ফিড করে এটি ঠিক করা যেতে পারে, তবে আমি এটিতে সন্ধান করিনি।
দ্রষ্টব্য: আমার সন্দেহ হ'ল হোমব্রু সূত্রগুলি কার্যকর হয়নি কারণ ম্যাকফিউএসই সামঞ্জস্যতা স্তরosxfuse
ছাড়াই হোমব্রিউ ইনস্টল হয়েছে ।
osxfuse
হোমব্রিউতে দুটি প্যাকেজ রয়েছে:
# brew search osxfuse
>>> osxfuse
>>> Caskroom/cask/osxfuse
দুটি সংস্করণই এক্সটি পার্টিশন মাউন্ট করতে ব্যর্থ। সম্ভবত, ডিএমজি সংস্করণ ( Caskroom/cask/osxfuse
) ব্যর্থ হয়েছে কারণ হোমব্রুউ ডিফল্ট সেটিংস সহ প্যাকেজটি ইনস্টল করে, যার অর্থ ম্যাকফিউএস সামঞ্জস্যতা স্তরটি অন্তর্ভুক্ত নয়। মূল osxfuse
সংস্করণটির সম্ভবত ম্যাকফিউএসই সামঞ্জস্য সক্ষম করতে কিছু বিশেষ ইনস্টলেশন প্যারামিটার প্রয়োজন, সুতরাং এটি হোমব্রুতে স্থির না হওয়া পর্যন্ত ম্যানুয়াল ডিএমজি পদ্ধতিটি ব্যবহার করা উচিত।
এই পদ্ধতিটি আমার জন্য ম্যাভেরিকস, ইয়োসেমাইট, এলকাপিটান এবং সিয়েরা নিয়ে কাজ করেছিল।
কিছু অতিরিক্ত টাইপিং সংরক্ষণ করতে আমি একটি ছোট স্ক্রিপ্ট ব্যবহার করি যা পার্টিশনের নাম গ্রহণ করে disk0s2
এবং এটির অধীনে মাউন্ট করে /Volumes/disk0s2
, প্রয়োজনে ফোল্ডারটি তৈরি করে:
### mount_ext4.sh
sudo mkdir -p "/Volumes/$1"
sudo mount -t fuse-ext2 "/dev/$1" "/Volumes/$1"
open "/Volumes/$1"
স্ক্রিপ্টটি পার্টিশনের নামের সাথে ডাকা হয় যা আপনি দেখেন diskutil list
যেমন mount_ext4.sh disk2s3
।
FUSE-EXT2 could not mount /dev/disk2s2 at /Volumes/ext4 because the following problem occurred:
(তবে কোনও সমস্যার বিবরণ বা রেফারেন্স নেই)। আমি সামঞ্জস্যতা স্তর অ্যাডন ইনস্টল করেছি have আমি ম্যাকস সিয়েরায় আছি তাই গিথুব জিজেপি 500 সংস্করণটি চেষ্টা করে দেখলাম।