নতুন পার্টিশনে কীভাবে / usr সরানো যায়?


26

আমার /usrফোল্ডারটি একটি নতুন পার্টিশনে স্থানান্তরিত হওয়া দরকার। সামগ্রীগুলি মোছা না করে আমি কীভাবে এটি করতে পারি?

উবুন্টু চলার সময় এটি করা যেতে পারে, বা এর জন্য আমার লাইভসিডি ব্যবহার করা দরকার?

উত্তর:


27

লাইভ সিডি ব্যবহার করা সবচেয়ে নিরাপদ হবে তবে আপনি এটি করতে পারেন:

  • সমস্ত ফাইলগুলি একটি নতুন বিভাজনে অনুলিপি করুন, নিশ্চিত করে নিন যে /usrআপনি যখন এটি করছেন তখন বিষয়বস্তুগুলি পরিবর্তন হয় না।
  • সম্পাদনা করুন /etc/fstabযাতে /usrপরবর্তী পুনরায় বুট করা হবে
  • পুনরায় বুট করার
  • পুরানো ফাইল মুছুন

প্রতিটি পদক্ষেপের বিশদ জন্য নীচে দেখুন।

নোট করুন যে /usrচলমান অবস্থায় আপনি নতুন পার্টিশনটি মাউন্ট করতে পারবেন না কারণ এতে প্রচুর ফাইল /usrখোলা থাকবে।

ফাইলগুলি অনুলিপি করা হচ্ছে

আমি ব্যবহার করব cp -a-aসংরক্ষণাগার বিকল্প। থেকে man পৃষ্ঠা :

-a, --archive
          same as -dR --preserve=all
...
-d     same as --no-dereference --preserve=links
...
-P, --no-dereference
          never follow symbolic links in SOURCE
...
--preserve[=ATTR_LIST]
          preserve      the      specified      attributes       (default:
          mode,ownership,timestamps),  if  possible additional attributes:
          context, links, xattr, all
...
-R, -r, --recursive
          copy directories recursively

সম্পাদনা / ইত্যাদি / fstab

আপনার নতুন পার্টিশনের ইউইউডি জানতে হবে। আপনি ম্যাপিংটি করে দেখতে পারেন:

$ ls -l /dev/disk/by-uuid/

এবং তারপরে এই লাইনটি যুক্ত করুন /etc/fstab:

UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr           ext4    defaults        0       2

আপনার ইউআইডি-তে ইউআইডি পরিবর্তন করুন এবং ext4আপনি যে ফাইল ফাইলটি ব্যবহার করছেন তা রূপান্তর করুন - আপনি যদি পার্টিশনটি সেট আপ করেন তবে আপনার এটি জানা উচিত।

পুরানো ফাইলগুলি মুছুন

পুনরায় বুট করার পরে, /usrরুট পার্টিশনের পুরানো ফাইলগুলি নতুন পার্টিশনটি মাউন্ট করা দ্বারা আড়াল করা হবে /usr। তবে আমরা পুরানো ফাইলগুলিতে পৌঁছতে এবং তারপরে মুছে ফেলার জন্য কিছু মাউন্ট বাইন্ড কৌশল ব্যবহার করতে পারি।

$ sudo mount --bind / /mnt
$ sudo rm -rf /mnt/usr/*
$ sudo umount /mnt

তবে কিছুটা সামান্য ভুল টাইপিং (বলুন, যখন আপনি কেবল টাইপ করবেন তখন এন্টার চাপলে sudo rm -rf /mnt) বিপর্যয় ঘটতে পারে, সুতরাং আপনি কেবলমাত্র এই পদ্ধতিটিই ব্যবহার করতেন যদি আপনি যা করছেন তার প্রতি খুব আত্মবিশ্বাসী ছিলেন, সত্যিই কোনও ডাউনটাইম মোকাবেলা করতে পারবেন না, বা না থাকতেন মেশিনে শারীরিক অ্যাক্সেস এবং সেইজন্য একটি লাইভ সিডি বা লাইভ ইউএসবি স্টিকটি বুট করতে অক্ষম।


4
rsyncএর চেয়ে আরও বেশি উপযুক্ত এটিcp
মার্কো সেপ্পি

1
@ মারকোচিপি আপনি কি তার উপর প্রসারিত করতে পারেন? rsyncপরিবর্তে পরিবর্তিত একটি বৈকল্পিক উত্তর দিতে পারেন ?
কাজার্ক

6
এর সাথে সিপি কমান্ড প্রতিস্থাপন করুন rsync -avz। Rsync আপনাকে অনুলিপিগুলি পুনরায় আরম্ভ করার অনুমতি দেয় এবং সাধারণত পার্টিশন, ব্লক ডিভাইস বা মেশিনগুলির মধ্যে যাওয়ার সময় ব্যবহার করা উচিত।
মার্কো Ceppi

2
ব্যবহার করবেন না cp। এটি হার্ড লিঙ্কগুলি সংরক্ষণ করে না। এটি ভবিষ্যতে প্যাকেজ আপগ্রেডগুলি ভঙ্গ করবে । উদাহরণস্বরূপ /usr/bin/s2pএবং /usr/bin/psedএকই ফাইল। সাথে সরানো cpসেই ফাইলটির 2 টি স্বতন্ত্র সংস্করণ তৈরি করবে। কি rsync -aHপরিবর্তে।
oᴉɹǝɥɔ

1
প্রথমত, -z পতাকাটি এড়িয়ে চলুন - এটি সংক্ষেপণ সক্ষম করে, যার ফলে আপনি কোনও নেটওয়ার্কের মাধ্যমে ফাইলগুলি প্রেরণ করছেন না তা অপ্রয়োজনীয় ওভারহেড (ব্যতীত আরএসসিএনসি সাধারণত এটি উপেক্ষা করার মতো যথেষ্ট স্মার্ট, তবে তবুও, সম্ভবত এটি ফেলেও দিতে পারে) । @ AleksandarStefanović আপনি স্পষ্টভাবে সেখানে বিষয়বস্তু চাই না ফোল্ডার এবং কারন এটা ঘটেছে পথ কিছু rsync quirks কারণে যে: এটা একইরূপে rsync -avH a/ bথেকে ভিন্নভাবে rsync -avH a b, কপি বিষয়বস্তু ফোল্ডার a(যে, a/*প্রথম ক্ষেত্রে) ও ফোল্ডারের নিজেই দ্বিতীয় মধ্যে। আপনি এখানে স্ল্যাশ ব্যবহার করেছেন তা নিশ্চিত করুন।
দারেল

7

যেহেতু বেশিরভাগ লাইব্রেরি ব্যবহার করা হয় সেগুলি / usr তে অন্তর্ভুক্ত তাই আমি উবুন্টু চালানোর সময় এই ডিরেক্টরিটি স্থানান্তরিত করার পরামর্শ দেব না। বাস্তবে, আপনি সম্ভবত এটি করার চেষ্টা করার সময় ত্রুটি বার্তা পাবেন। অতএব, লাইভসিডিটি ব্যবহার করা ভাল।

আপনি সিপি, আরএসএনসি ইত্যাদি ফাইল সরিয়ে / অনুলিপি করতে বিভিন্ন সম্ভাবনা ব্যবহার করতে পারেন আপনি যে কোনও প্রতিলিঙ্ক তৈরি করেছেন এবং কেবল অনুলিপি করা হয়নি তা নিশ্চিত করতে চান। সিপি এবং আরএসএনসি উভয়েরই এর জন্য বিকল্প রয়েছে।

ফাইলগুলি অন্য পার্টিশনে স্থানান্তরিত করার পরে নতুন পার্টিশনটি / usr এ মাউন্ট করতে আপনাকে / etc / fstab এ অন্য মাউন্ট যুক্ত করতে হবে।


2

মনোযোগ: আমি জানি না আমি কী করছি, আমি কেবল কমান্ডগুলি অনুলিপি করছি এবং অন্যদের পরামর্শ অনুসারে করছি। এটি করার জন্য এটি ভুল উপায় হতে পারে তবে এটি আমার পক্ষে কাজ করে (আপাতত, কমপক্ষে)।

আমি এটি এভাবেই করেছি (হামিশের উত্তর এবং মন্তব্যগুলি অনুসরণ করে):

  1. নতুনভাবে নির্মিত পার্টিশনটি সমস্ত ফাইল অনুলিপি করুন (আপনার পার্টিশনের অবস্থানের সাথে প্রতিস্থাপন করুন, এটি আমার মতো দেখা উচিত):

    rsync -avz /usr /media/aleksandar/750b84e2-e65f-4309-ade5-5af0033a937c 
    
  2. এই মুহুর্তে আমি বুঝতে পেরেছি যে এটি /usrপার্টিশনের ফোল্ডারে সমস্ত কিছু অনুলিপি করেছে, যা কাজ করছে না , তাই আমি ফোল্ডার থেকে পার্টিশনের মূলটিতে সমস্ত কিছু (ফাইল ম্যানেজার সহ) অনুলিপি করেছিলাম এবং খালি মুছে ফেলেছি ফোল্ডার পরে।

  3. সম্পাদনা করুন /etc/fstab(হামিশের উত্তরের মতোই, অবশ্যই আপনার ইউইউডি দিয়ে প্রতিস্থাপন করুন)

    UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr           ext4    defaults        0       2
    
  4. একটি পদক্ষেপ যা খুব জ্ঞানী না হয়ে পরিণত হয়েছিল: আমি বর্তমানে মাউন্ট করা /usrপার্টিশনের নামটি পরিবর্তিত করেছিলাম /usrBACKUP, যাতে আমি জানতে পারি যে, আমি যখন সিস্টেমটি পুনরায় বুট করি তখন এটি নতুনভাবে নির্মিত পার্টিশনে পুনরায় বুট হয়, না পুরানোটি । এরপরে, পর্দায় সমস্ত কিছু গ্লিট হয়েছে এবং পাওয়ার কীটি (আমি যেমন প্রতিভা) তেমন চাপ দিয়ে আমাকে এটিকে বন্ধ করে দিতে হয়েছিল । আপনি যদি আপনার সিস্টেমে ভুল করতে না চান তবে এই পদক্ষেপটি এড়িয়ে যান।

  5. সিস্টেমটি পুনরায় বুট করুন

  6. রিবুট করার পরে, আপনার নতুন /usrপার্টিশনটি মাউন্ট হয়েছে কিনা তা দেখতে সিস্টেম মনিটর বা অনুরূপ অ্যাপ্লিকেশনটি খুলুন এবং সবকিছু পরিকল্পনা মতো হয়েছে কিনা তা সুরক্ষা-পরীক্ষা করতে পারেন।

  7. সবকিছু ঠিক আছে কিনা তা যাচাই করার পরে, আপনি আপনার পুরানো /usrপার্টিশনটি মুছতে পারেন । কিছু ভুল হয়ে গেলে আমি ঠিক রাখব।


5 বছরের পুরানো কোনও প্রশ্নের উত্তর দেওয়া কেন যদি এর মধ্যে ইতিমধ্যে স্বীকৃত উত্তর থাকে এবং আপনি কী জানেন যে আপনি কী জানেন?
সেমিএসস

2
@ সিএমসিএস কারণ আমার মনে হয়েছে যে অন্যান্য উত্তরগুলি অসম্পূর্ণ ছিল - আমি একটি উত্তর থেকে সম্পূর্ণ সমাধান পাইনি, এবং উত্তরগুলির কোনওটির কাছেই তাদের বিশদ বিশদ নেই। আমি মনে করি যে ব্যবহারকারীরা এই প্রশ্নে আসবেন তাদের সাহায্যের প্রয়োজন হবে। এই প্রশ্ন থেকে যদি কারও এখনও তথ্যের প্রয়োজন হয় তবে এটি পাঁচ বছর বয়সে গুরুত্বপূর্ণ নয়।
আলেকসান্দার স্টেফানভিভিć

1
সবাই কেন তাদের সিস্টেমটি রিবুট করছে? sudo mount -aএটি কি চালিয়ে যেতে দেওয়া উচিত নয় ?
হেগেন ভন ইটজেন

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