কেবল "পঠনযোগ্য" হিসাবে মাউন্ট করার চেষ্টা করার সময় "মাউন্ট: / ব্যস্ত" যাতে আমি জিরোফ্রি চালাতে পারি


36

আমি zerofreeউবুন্টু ১১.০৪ তে চালানোর চেষ্টা করছি যাতে আমি ভার্চুয়ালবক্স ভিডিআই চিত্রটি ব্যবহার করে কমপ্যাক্ট করতে পারি:

VBoxManage modifyhd Ubuntu.vdi --compact

zerofreeডিস্ক চালানোর জন্য চিত্রটি কেবল পঠনযোগ্য হিসাবে মাউন্ট করা হয়েছে। আমি এই নির্দেশাবলী অনুসরণ করছি যা পুনরুদ্ধার মোড থেকে কেবল পঠনযোগ্য হিসাবে পুনঃমাউন্ট করতে এটি ব্যবহার করতে বলছে (শেল প্রম্পটে ছেড়ে দিন):

mount -n -o remount,ro -t ext2 /dev/sda1 /

তবে আমি যখন এটি করি তখন ত্রুটিটি পাই:

mount: / is busy

এটি করার জন্য কোনও ধারণা?

ফলোআপ করুন : জারি এর উত্তর অনুসরণ করে এবং এই পোস্টগুলি এই আদেশগুলি পরিচালনা করে সমস্যার সমাধান করে।

service rsyslog stop
service network-manager stop
killall dhclient

4
জেরোফ্রির জন্য ম্যান পেজটি চলমান প্রস্তাব দেয় telinit 1এবং এটি আমার জন্য সমস্যার সমাধান করে।
অ্যালেক্স রায়ান

উত্তর:


23

কিছু প্রক্রিয়া লেখার জন্য ফাইলগুলি খোলা রাখছে। এটি উদাহরণস্বরূপ, এমন প্রোগ্রামগুলি হতে পারে যা লগগুলি লিখতে পারে, যেমন rsyslogd, নেটওয়ার্কিং সরঞ্জামগুলি, পছন্দ dhclientবা অন্য কিছু or এগুলিকে একে একে বন্ধ করে দেওয়া এবং পুনঃমাউন্ট চেষ্টা করে কাজ করতে পারে।

আপনি প্রোগ্রামটি ব্যবহার করে নির্দিষ্ট ফাইলগুলি ব্যবহার করে এমন প্রক্রিয়াগুলি সন্ধান করতে পারেন fuser। উদাহরণস্বরূপ, fuser -v -m /প্রক্রিয়াগুলির একটি তালিকা ফিরে আসবে। তবে, আমি নিশ্চিত নই যে এটির মধ্যে একটি এটি ফাইল সিস্টেমকে ব্যস্ত রাখে।


2
রাইটিং মোডে ফাইলগুলি খোলা রয়েছে এমন প্রক্রিয়াগুলির আউটপুটটিতে Fঅ্যাক্সেস ফ্ল্যাগের মূলধন থাকবে fuser
জানু হুডেক

21

লেখার জন্য কোনও ফাইল খোলা আছে এমন কোনও প্রক্রিয়া না থাকলে আপনি কেবল ফাইল-সিস্টেম কেবল পঠনযোগ্য পুনরায় গণনা করতে পারবেন। চালান lsof /কি প্রসেস ফাইল আছে রুট ফাইল সিস্টেম খোলার দেখতে। লেখার জন্য উন্মুক্ত ফাইলগুলি FDকলামে নির্দেশিত হবে । আপনি এগুলি দিয়ে ফিল্টার করতে পারেন

lsof / | awk '$4 ~ /[0-9].*w/'

প্রক্রিয়া আইডিগুলি স্বয়ংক্রিয়ভাবে ফিল্টার করতে, এর আউটপুটটিকে পার্স করুন lsof -F pa:

lsof -F pa /home | awk '/^p/ {pid = substr($0, 2)} /^a.*w/ {print pid}'

1
এই সমাধানটি দিয়ে চেষ্টা করা, এখনও ব্যস্ত, বেকোজ হতে পারে কিছু সংস্থান এইভাবে দেখাতে পারে না। কিছু চলমান পরিষেবাদি বন্ধ করার পরে, কেবলমাত্র পঠিত হিসাবে এফএসটিকে পুনঃনির্মাণ করতে পারে।
স্যাম লিয়াও

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

12

পিটার উত্তর উন্নতি:

আমি আমার মাউন্ট পয়েন্ট ব্যবহার করে এমন প্রক্রিয়াগুলিকে হত্যা করতে পারি না। সুতরাং, আমি এটি করেছি:

  • /etc/fstabপরবর্তী বুটে কেবল পঠনযোগ্যতে শুরু করতে সম্পাদনা করুন । উদা:/dev/sda1 / ext2 ro 0 1
  • একটি শেলটি পুনরায় বুট করুন এবং খুলুন (উদাহরণস্বরূপ হোস্ট কী + F2)
  • জিরোফ্রি চালান

আপনার সিস্টেমটিকে "পুনরুদ্ধার" করতে:

  • পঠন-লেখার বিকল্প সহ মাউন্ট করুন: $ mount -o remount,rw /dev/sda1
  • /etc/fstabআপনার মূল মানটি পুনরুদ্ধার করে আবার সম্পাদনা করুন

অতিরিক্ত: প্রয়োজনে যে কোনও পদক্ষেপে ওপেন রিকভারি মোড :

  • রিবুট
  • ভিএম লোড হওয়ার সময় শিফটটি ধরে রাখুন
  • উন্নত বিকল্পগুলি> পুনরুদ্ধার মোডের সাথে কার্নেল বিকল্প> রুট শেল প্রম্পটে ড্রপ করুন

2
ক্যাপ্টেন ওবিশ যুক্ত করতে চান: রো মোডে রিবুট করার আগে আপনি জিরোফ্রি ইনস্টল করার বিষয়টি নিশ্চিত করুন
জোসোফক্স

"ড্রপ টু রুট শেল প্রম্পট" এবং জিরোফ্রি ব্যবহার করে: ফাইল সিস্টেম মাউন্ট করা rw। তবে অন্য ভিএম
পাভেল সিওচে

এটি কেবল তখন আমার পক্ষে কাজ করেছিল যখন /dev/sda1 / ext2 ro 0 1তালিকার শীর্ষে এন্ট্রি ছিল। আমি যখন এটি প্রথম এন্ট্রি হিসাবে রেখেছিলাম তখন আমার মাউন্ট পয়েন্টটিতে ব্যস্ত ত্রুটি ছিল।
আফিলিনা

6

মাউন্টটি ব্যস্ত রাখার জন্য অনেক সময় অনেকগুলি প্রক্রিয়া থাকে, কেবল পঠনযোগ্য মাউন্ট দিয়ে পুনরায় বুট করা সহজ হতে পারে।

রুট ফাইল সিস্টেমের জন্য এন্ট্রি পরিবর্তন করুন /etc/fstab, উদাহরণস্বরূপ:

/dev/sda1 / ext2 relatime,rw,errors=remount-ro 0 1

হয়ে:

/dev/sda1 / ext2 noatime,ro 0 1

পুনরায় বুট করার সময় ফাইল সিস্টেমটি কেবল পঠনযোগ্য হিসাবে মাউন্ট করা হবে, যাতে আপনি এটি চালাতে zerofreeপারেন।

আপনি শেষ হয়ে গেলে, ফাইল সিস্টেমটি পুনরায় পড়ুন / লিখুন ( mount -o remount,rw /) পুনরায় গণনা করুন এবং এতে আপনার পরিবর্তনগুলি পূর্বাবস্থায় ফিরিয়ে আনুন /etc/fstab

Https://wiki.debian.org/ দ্বারা রিডনলি রুট দ্বারা অনুপ্রাণিত


গ্রেট! এফওয়াইআই, আমি এটি কেবল ব্যবহার করেছি /dev/sda1 / ext2 ro 0 1এবং আমি কেবল পাঠযোগ্য মোডে বুট করতে পারি।
তোপেরা

5

আপনি যদি এখনও খোলা ফাইলগুলি সহ সমস্ত পরিষেবা এবং প্রক্রিয়া বন্ধ করার পরে আপনার ডিভাইসটিকে আনমাউন্ট বা পুনঃনির্মাণ করতে না পারেন তবে আপনার ডিভাইসটি ব্যস্ত রেখে কোনও অদলবদল বা অদলবদল বিভাজন থাকতে পারে। এটি fuserবা দিয়ে প্রদর্শিত হবে না lsof। এর সাথে অদলবদল বন্ধ করুন:

sudo swapoff -a

আপনি আগে যাচাই করতে পারেন এবং যে কোনও স্ব্যাপ পার্টিশনের সংক্ষিপ্তসার বা ফাইলগুলির সাথে অদলবদল প্রদর্শন করতে পারেন:

swapon -s

বা:

cat /proc/swaps

কমান্ডটি ব্যবহারের বিকল্প হিসাবে sudo swapoff -a, আপনি কোনও পরিষেবা বা সিস্টেমড ইউনিট বন্ধ করে অদলবদল অক্ষম করতে সক্ষম হতে পারেন । উদাহরণ স্বরূপ:

sudo systemctl stop dphys-swapfile

বা:

sudo systemctl stop var-swap.swap

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


4

আপনি যদি সিস্টেমড ব্যবহার করেন তবে ডিস্ক রাইটিংগুলি সিস্টেমড-জার্নাল্ড বন্ধ করে বন্ধ করা হবে।

# systemctl stop systemd-journald.socket
# systemctl stop systemd-journald.service
# mount -o ro,remount /

1
আমার জন্য উভয় ইউনিট তাত্ক্ষণিকভাবে পুনরায় চালু হবে।
rld।

"উন্নত বিকল্পগুলি> পুনরুদ্ধার মোডের সাথে কার্নেল বিকল্প> রুট শেল
প্রম্পটকে ফেলে দিন

3

ঠিক আছে, আমি যা করেছি তা আছে

প্রথমত, আমার লক্ষ্যটি ছিল আমার ডিস্কে আরও একটি যুক্ত করার জন্য আমার ( ) পার্টিশন হ্রাস করা/ROOT

  • চলমান সেশন থেকে একবার সবকিছু পরিষ্কার হয়ে যায় এবং ব্যাকআপ হয়ে যায়:

    init 1
    

    আমার ডেস্কটপ চলে গেছে এবং আমি এখন লিনাক্স কনসোলে রয়েছি ...

    ...
    Give root password for maintenance or press CTRL+D to continue
    TheRootPassword_SomethingLike1234
    
  • এখন, মাউন্ট বের করার চেষ্টা /মধ্যে শুধুমাত্র পাঠযোগ্য মোড:

    mount -o remount,ro /
    mount: / is busy
    
  • ঠিক আছে, এখন থেকে, আমি তাত্ত্বিকভাবে একক-ব্যবহারকারী মোডে আছি তবে ps axঅন্যান্য প্রচুর প্রক্রিয়া দেখায় !!

    তাদের হত্যা করা সত্যই সম্ভব নয়, বা বিপজ্জনক ... ( নিষেধ করাkill 1 হয়েছে ... আমার পিছুডুম খেলার সময় নেই :-)

    আমি কেবল একটাই করতে পারি এটির System Requestজন্য, আমি দুটি উপায় জানি: ( Documentation/sysrq.txtকার্নেল ডক্সে ফাইল দেখুন ):

    1. প্রথমে magic SysRq keyকীবোর্ড কার্নেল ট্র্যাপ ব্যবহার :

      • চেপে ধরে রাখুন AltGr, তারপরে চাপুন,
      • PrtScnশুধু একবার আঘাত , কিন্তু মুক্তি না AltGr,
      • sশুধু একবার আঘাত, এটি Emergency syncকার্নেল এবং অনুরোধ প্রেরণ করবে
      • হিট u, এটি Umount allঅনুরোধ প্রেরণ করবে , এটি সমস্ত মাউন্ট করা ফাইল সিস্টেমগুলি কেবল পঠনযোগ্য পুনরায় গণনা করবে,
      • তারপর মুক্তি AltGr
    2. অথবা কমান্ড লাইনের মাধ্যমে:

      echo s >/proc/sysrq-trigger
      echo u >/proc/sysrq-trigger
      
  • তারপর এখন, আমি পারলাম

    fsck -fC0 /dev/mapper/MyDisk-ROOT
    

    ....

...


দ্রষ্টব্য: আমার fsckসফলতার সাথে যদি করা হয়ে থাকে তবে চালাতে সক্ষম হয়ে আমি একটি লাইভ ইউএসবি বুট করেছি resize2fs... এই বৈশিষ্ট্যটি ইতিমধ্যে প্রয়োগ করা হয়নি ...
এফ হৌরি

আমার fsckজানা নেই -f; শূন্য নিরপেক্ষ ব্লকগুলি কী করবে?
21

1
@ ᴠɪɴᴄᴇɴᴛ: I'ts ext2এর fsckসুইচ: -f ফোর্স চেক ফাইল সিস্টেম পরিষ্কার মনে হয় এমনকি যদি।
এফ। হাউরি

1

অন্য কারও জন্য যারা কেবল আপনার টার্মিনালে পেস্ট করার জন্য দ্রুত সমাধানের সন্ধান করছেন ...

(নীচের কমান্ডগুলি অনুসরণ করার আগে, আপনি অন্যান্য পদক্ষেপগুলি যেমন সম্পন্ন করেছেন তা নিশ্চিত করুন telinit 1))

এটি পাওয়া গেছে :

fuser -mv /dev/sda1 > /tmp/sda1.pids
kill `cat /tmp/sda1.pids`

কমান্ডগুলি আপনার অধিবেশনটিকে হত্যা করতে পারে, তবে আপনি ফিরে আসার পরে আপনার পার্টিশনটি পুনঃসমাজ করার জন্য প্রস্তুত।


1

অন্য ভার্চুয়ালবক্সে অতিরিক্ত এবং অ-সিস্টেম ভলিউম হিসাবে ভিডিআই ফাইল সংযুক্ত করুন। সেখানে আপনি এটি প্রয়োজন হিসাবে পুনরায় মাউন্ট করতে পারেন এবং জিরোফ্রি করতে পারেন।

আমাদের বলুন যে আপনি ভিএম 1 (ভার্চুয়াল মেশিন 1) এর ভিডিআই ডিস্কটি সংযোগ করতে চান । তারপরে আপনার একটি দ্বিতীয় ভিএম 2 দরকার । এটাই, :

  • নিশ্চিত হয়ে নিন যে ভিএম 1 বা ভিএম 2 চলছে না;
  • ভার্চুয়ালবক্স ম্যানেজার থেকে:

    • ভিএম 2 নির্বাচন করুন,
    • "সেটিংস" -> "সংগ্রহস্থল" -> "হার্ড ডিস্ক যোগ করুন": "এটি অতিরিক্ত ডিস্ক হিসাবে নির্বাচন করুন",

    • আপনি কম্প্যাক্ট করতে চান ভিএম 1 এর ভিডিআই ফাইলটি নির্বাচন করুন। ইঙ্গিত: নিশ্চিত হয়ে নিন যে ভিএম 2-তে কেবল যুক্ত হার্ড ডিস্ক ভিএম 2 এর মূল ডিস্কের পরে বুট-ক্রমে দ্বিতীয় হয়।

    • ভিএম 2 শুরু করুন: এখন আপনি ভিএম 2 এর ভলিউম ভিএম 2 এর জন্য অতিরিক্ত ডিস্ক হিসাবে মাউন্ট করতে পারবেন, কারণ কোনও প্রক্রিয়া এটি ভিএম 2 এ ব্যবহার করছে না। ইঙ্গিত: প্রথমে লিনাক্সের ফোলব্রোজার দিয়ে ভলিউমটি খুলুন, যা স্বয়ংক্রিয়ভাবে ভলিউমটি মাউন্ট করে। তারপরে, কমান্ডটিতে mount -lকোনটি রয়েছে তা দেখতে ব্যবহার করুন । আমার ক্ষেত্রে এটি ছিল / dev / sdb1 । সুতরাং আদেশটি ছিল (1) এবং তারপরে (2) ।_Device_sudo mount -o remount,ro _Device_sudo mount -o ro,remount /dev/sdb1sudo zerofree /dev/sdb1

ভিএম 2 এর পরিবর্তে যে কোনওটি থেকে .iso ইমেজটি থেকে বুট করা এবং ডিস্কটি ইনস্টল করতে সক্ষম হওয়া উচিত এবং আমি এটি চেষ্টা করি নি তবে একই বিট অর্জন করতে হবে।


0

আমি ধরে নিলাম আপনি mountভিএম-তে কমান্ড চালানোর চেষ্টা করছেন । যাইহোক আপনার সম্ভবত ফোরাম পোস্টের লেখকের চেয়ে পৃথক মূল বিভাজন রয়েছে।

চেষ্টা করুন:

mount -o ro,remount /

যা fs বা মাউন্ট বিকল্পের উপর নির্ভর করে না। যদি এটি কাজ না করে তবে আপনি আপনার মূল Fs grep " / " /proc/mountsবা এর সাথে নির্ধারণ করার চেষ্টা করতে পারেন cat /proc/cmdline। যদি আপনার রুট ফাইল সিস্টেমটি উদাহরণস্বরূপ হয় / dev / mapper / system-rootfs আপনি ব্যবহার করতে পারেন:

mount -o ro,remount /dev/mapper/system-rootfs /

0

আমার এই সমস্যাটি ছিল যা আমার মেশিনকে কেবল পঠন মোডে রাখে না। সমস্যা সমাধানে আইডি স্বীকৃতি দেওয়ার চেয়ে অনেক বেশি সময় নিল ... আমার বিশ্বাস আমার সমস্যাটি হ'ল আমি আপাচি-জেপেলিনকে চালিয়ে রেখেছিলাম এবং এটি ভুলে গেছি। আপনি অন্য হোস্টিং টাইপ পরিষেবার সাথে একই করছেন না তা নিশ্চিত করুন। সমস্যা সমাধানের জন্য আমি fuser -kill /সমস্ত প্রক্রিয়াগুলি শেষ করে দিয়েছিলাম যা সমস্যার কারণ হতে পারে এবং এটি আমাকে আরও মোডে ফিরে যেতে দেয়।


0

আমার জন্য সমাধানটি হ'ল OS পুনরায় বুট করা এবং GRUB এর বুট মেনু থেকে "পুনরুদ্ধার মোড" চয়ন করা। "পুনরুদ্ধার মোড" থেকে, এখানে কম প্রক্রিয়া চলছে এবং রিমউন্টিং কেবল পঠনযোগ্য কাজ করে।

সিস্টেমে রুট ফাইল সিস্টেমে (অদলবদলের পরিবর্তে) একটি অদলবদল থাকে, তবে অস্থায়ীভাবে অদলবদল করে সোয়াপ ফাইলটি স্যুইচ করাও প্রয়োজন swapoff -a

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