পৃথক পার্টিশনে হোম / ভার্চ / হোম মুভিং করা হচ্ছে


59

আমি এই গাইডটি পড়ার পরে কিছু ফোল্ডার (যেমন /varএবং /home) আলাদা পার্টিশনে স্থানান্তরিত করার চেষ্টা করছি :

৩.২.১ একটি বুদ্ধিমান পার্টিশন স্কিম চয়ন করুন

আমি এই ফোল্ডারে সফলভাবে একটি ফোল্ডার সরাতে সক্ষম হয়েছি ।

তবে একাধিক ফোল্ডারের জন্য এটি কাজ করে বলে মনে হচ্ছে না, এবং আমার সমস্ত ফোল্ডারগুলি যথাযথ ফোল্ডার ছাড়াই বিভাজনে ফেলে দেওয়া হয়েছে।

আমি মাউন্ট করতে চাই /var, /homeএবং /tmpপৃথক পার্টিশন সম্মুখের; কেউ কি আমাকে এ সম্পর্কে গাইড করতে পারেন?


আপনি কি প্রতিটি ডিরেক্টরি বা কেবল একটির জন্য একটি অতিরিক্ত পার্টিশন তৈরি করেছেন?
মরিথুব

@ মরিথুব আমি চাই যে এটি আদর্শভাবে সমস্ত একই পার্টিশনের মধ্যে সঞ্চয় করা থাকে এবং কেবল ফোল্ডারে পরিবর্তিত হয়। এইভাবে জায়গাটি নিয়ে চিন্তা করার দরকার নেই, এটি আমার পক্ষে অনেক সহজ।
টফি.বিনেন্স

1
আমি /varআলাদা পার্টিশন দেওয়ার পরামর্শ দিচ্ছি না । এটির কোনও লাভ নেই। সম্পূর্ণ ওএসকে একটি একক পার্টিশনে ( /) রাখুন। কেবল ওএস নয় এমন জিনিসের জন্য পৃথক পার্টিশন ব্যবহার করুন - ব্যবহারকারী ডেটা /home, মেল স্পুল (যদি আপনার একটি বড় থাকে) /var/mail, যেমন ডাটাবেস /var/lib/mysqlবা /srv
গিলস

7
@ গিলস " এর কোনও লাভ নেই " ?????? (সম্ভবত আমার আরও প্রশ্ন চিহ্ন প্রয়োজন)। অবশ্যই এটি একটি সুবিধা আছে। / বেশিরভাগ স্থির হয়। / var প্রায় সম্পূর্ণ গতিশীল। যদি আপনি পৃথক পার্টিশনে মাউন্ট / ভার করেন, তবে আপনি কেবলমাত্র পার্টিশনটি পড়তে পারবেন mount এমন অনেকগুলি পরিস্থিতি রয়েছে যেখানে এটি একটি ভাল জিনিস ™
অস্পেক্স

উত্তর:


73

1. প্রতিটি মাউন্টপয়েন্টের জন্য পার্টিশন তৈরি করার জন্য প্রথমে আপনার কিছু অবৈধ জায়গা প্রয়োজন (/ var, / home, / tmp)। এর জন্য জিপিআর্ট ব্যবহার করুন।

২. তারপরে আপনাকে সেই পার্টিশনগুলির জন্য ফাইল সিস্টেমগুলি তৈরি করতে হবে (জিপিটারেট দিয়েও করা যেতে পারে) বা ব্যবহার করুন:

mkfs.ext4 /dev/sdaX

উদাহরণস্বরূপ / dev / sdaX ডিভাইসে একটি নতুন এক্সট 4 ফাইল সিস্টেম তৈরি করতে (আপনার নিজের ডিভাইসের সাথে / dev / sdaX প্রতিস্থাপন করুন)

3. / mnt এর অধীনে নতুন ফাইল সিস্টেমটি মাউন্ট করুন

mkdir /mnt/var        
mount /dev/sdaX /mnt/var

৪. একক-ব্যবহারকারী মোডে যান যাতে প্রক্রিয়া চলাকালীন ডিরেক্টরিতে কোনও rw ক্রিয়াকলাপ না থাকে

init 1

5. আপনার মূল পাসওয়ার্ড লিখুন।

Only. কেবলমাত্র ভারে ব্যাকআপ ডেটা (/ var ডিরেক্টরি নিজেই নয়)

cd /var
cp -ax * /mnt/var

Your. আপনার ডেটা সফলভাবে স্থানান্তরিত হওয়ার পরে / var ডিরেক্টরিটির নতুন নাম দিন।

cd /
mv var var.old

8. নতুন var ডিরেক্টরি তৈরি করুন

mkdir var

9. নতুন পার্টিশন আনমাউন্ট করুন।

umount /dev/sdaX

10. এটি / বার হিসাবে পুনঃনির্মাণ করুন

mount /dev/sdaX /var

১১. নতুন পার্টিশনটি অন্তর্ভুক্ত করার জন্য / etc / fstab ফাইলটি সম্পাদনা করুন, যার সাথে / var মাউন্ট পয়েন্ট হবে, যাতে এটি স্বয়ংক্রিয়ভাবে বুটে যাবে।

/dev/sdaX       /var     ext4    defaults    0 0

12. / হোম এবং / টেম্পের জন্য 1-11 ধাপ পুনরাবৃত্তি করুন।

13. শেষ পর্যন্ত মাল্টিটাস্কিং মোডে ফিরে আসুন।

init 5

হ্যাঁ আমি জিপিআরটি ব্যবহারের কথা ভাবছিলাম। উত্তরের জন্য ধন্যবাদ. আমি এই কয়েকটি ফোল্ডারটি আসলে / হোম, / টিএমপি, / ভেরি /, / অপ্ট, / ইউএসআর / এর জন্য 30 জিবি স্থান আলাদা করে রাখার পরিকল্পনা করছি, সেই অনুযায়ী আমার কতটা দিতে হবে তার কোনও মোটামুটি গেজ আছে (সাধারণ হোস্টিং সার্ভারের জন্য) ?
টফি.বিনেন্স

1
আমি lvm ব্যবহারের দিকে তাকিয়ে ছিলাম, জিপিটারের তুলনায় এটি কি আরও ভাল হবে?
টফি.বিনেন্স

এলভিএম সম্পূর্ণ ভিন্ন বিষয়। LVM শারীরিক হার্ডডিস্কের শীর্ষে লজিক্যাল ভলিউম তৈরি করতে স্তর হিসাবে ব্যবহৃত হয়। জিপিআর্টড কেবলমাত্র এলভিএম শারীরিক ভলিউম তৈরির সরঞ্জাম।
cioby23

1
আসলে cp -ax * /mnt/varএটি একটি খারাপ ধারণা , কারণ এটি লুকানো ফাইল / ডায়ারগুলিকে উপেক্ষা করবে। পছন্দ cp -ax . /mnt/var। (@ সিওবি 23, আমি মনে করি আপনার উত্তরটি আপডেট করা উচিত)
বার্বট

6
init 5উত্তরে একটি চূড়ান্ত যোগ করুন ।
রবার্ট পোলাক

16

আপনি যদি সেগুলি একই পার্টিশনে ব্যবহার করতে চান তবে আপনি LVMতিনটি সাধারণ বাঁধাই মাউন্ট ব্যবহার করতে পারেন ।

একটি বাইন্ড ভিত্তিক সমাধান তৈরি করতে আপনার

  1. একটি ফাইল সিস্টেমের সাথে একটি পার্টিশন তৈরি করুন
  2. রেসকিউ মোডে যান (একক ব্যবহারকারীর এখনও কিছু ফোল্ডার প্রয়োজন)
  3. এটি হিসাবে মাউন্ট /mnt/data
  4. আপনি যে সকল ফোল্ডার সরাতে চান তা সরান। ব্যবহার করা cpএবং mv dir dir.oldএটি আরও নিরাপদ হতে পারে, তবে যেহেতু আমি ইনস্টল করার পরে এটি করেছি এটি আমার কোনও বিষয় নয়।

    mv /home /mnt/data/
    mv /var  /mnt/data/
    
  5. fstab এ উপযুক্ত বাঁধাই মাউন্ট এন্ট্রি তৈরি করুন, উদাহরণস্বরূপ আমার কাছে

    UUID=01234567-89abc-def0-1234-567890abcde /mnt/data         ext4          noatime,nodiratime,relatime                           0       0
    
    # Binds
    /mnt/data/opt                             /opt              none          bind                                                  0       0
    /mnt/data/home                            /home             none          bind                                                  0       0
    /mnt/data/usr                             /usr              none          bind                                                  0       0
    
  6. পুনরায় বুট করার


এর mount(8)অধীনে থাকা ম্যান পৃষ্ঠাতে nodiratimeবলা হয়েছে: If noatime option is set, this option is not needed.যাইহোক এটি অন্তর্ভুক্ত করার ক্ষেত্রে কি কোনও অতিরিক্ত কাজ করার সুবিধা রয়েছে?
ব্র্যানারচিনিজ

5

আমি ব্যক্তিগতভাবে @ ফাবিয়ানের বাঁধাই-মাউন্ট সমাধান সহ যাব বা সিমলিংকগুলি ব্যবহার করব:

  1. /etc/fstabনতুন পার্টিশনের জন্য এন্ট্রি তৈরি করুন ( blkidআপনার নতুন পার্টিশনের জন্য সঠিক ইউআইডি পাওয়ার জন্য ব্যবহার করুন এবং ভুলে যাবেন না mkdir /mnt/data):

    UUID=01234567-89abc-def0-1234-567890abcde  /mnt/data  ext4  defaults  0 0
    
  2. mount -aনতুন পার্টিশন মাউন্ট করার অনুরূপ কিছু ব্যবহার করুন

  3. মূল ফোল্ডারগুলি আপনার নতুন পার্টিশনে স্থানান্তর করুন:

    mv /var /mnt/data/
    mv /home /mnt/data/
    # ... (you get the point)
    
  4. সিমলিঙ্কগুলি তৈরি করুন

    ln -s /mnt/data/var /var
    ln -s /mnt/data/home /home
    # ...
    

যদিও বাইন্ড-মাউন্ট পদ্ধতিটি সম্ভবত সর্বোত্তম অনুশীলন সমাধান হ'ল আমার ধরণের এটিকে পছন্দ হয় কারণ আপনি অহেতুক দীর্ঘ dfএবং mountপার্টিশনের তালিকাগুলি শেষ করেন না ।


1
কোনও কিছু বসানোর আগে / var চাইলে সংশ্লিষ্ট পদ্ধতিগুলির সাথে কী ঘটে? আমি বরং সন্দেহ করি যে বাঁধাইয়ের পদ্ধতিটি আরও পরিষ্কার হবে, তবে আমি সত্যি জানি না।
অস্পেক্স

@ অ্যাসপেক্স এই ক্ষেত্রে দুটি পদ্ধতির মধ্যে কোনও পার্থক্য হওয়া উচিত নয় (যেমন আফিকের সমস্ত স্থানীয় পার্টিশন /etc/fstabবুট করার সময় একই সময়ে মাউন্ট করা থাকে)। /mnt/dataমাউন্টিং হওয়ার আগে আপনার সমস্ত সিমলিংকগুলি 'মৃত' হয়ে উঠবে, সুতরাং তাদের (এবং অস্তিত্বহীন সাবডায়ার্সগুলিতে) যে কোনও পড়ার / লেখার প্রচেষ্টা ব্যর্থ হবে (ENOENT সহ যদি আমি সঠিকভাবে মনে করি তবে)। বাইন্ড-মাউন্টগুলির সাহায্যে আপনি প্রায় একই ফলাফল পাবেন তবে প্রোগ্রামগুলি সম্ভবত মূল পার্টিশনে লিখতে পারে (যদি তারা অস্তিত্বহীন ডিরেক্টরিগুলি সম্পর্কে স্মার্ট হওয়ার চেষ্টা করে)
ম্রিথুব

1
ঠিক আছে, এটি কঠোরভাবে সত্য নয়। রুটটি প্রথমে মাউন্ট হয়ে যায় এবং আমি বিশেষভাবে জিজ্ঞাসা করেছি কারণ দেবিয়ানের "কেবলমাত্র পঠনযোগ্য রুট" পরামর্শে এটি মাউন্ট হওয়ার আগে প্রক্রিয়াগুলি অ্যাক্সেস / var দেখতে পাওয়ার সম্ভাবনা উল্লেখ করেছে। তবে আমার ক্ষেত্রে, যেখানে আমার একটি রাস্পবেরি পাই রয়েছে এবং / / এ একটি পঠনযোগ্য ফাইল সিস্টেম সেটআপ করেছি (কারণ মেশিনে বিদ্যুৎ চলে যাওয়ার সাথে সাথে এসডি কার্ডটি দূষিত হতে থাকে), আপনি আমাকে উত্সাহ দিচ্ছেন যে কোনও পদ্ধতিই কার্যকর হবে । রুট ফাইল সিস্টেমে কিছুই লিখতে যাচ্ছে না, কারণ এটি আরও, সুতরাং উভয় ক্ষেত্রেই ত্রুটি ঘটবে।
অস্পেক্স

0

Cioby23 প্রদত্ত পদ্ধতিটি ছাড়াও, আমাকে আরও করতে হয়েছিল:

  restorecon -R /var

sshd শুরু করার জন্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.