শাটডাউনে সিডি বের করুন


12

ঠিক আছে, তাই আমার একটি সাধারণ সমস্যা রয়েছে: আমার একটি লাইভ সিডি রয়েছে এবং কম্পিউটারটি পুনরায় বুট করার সময় বা থামানো অবস্থায় আমি সিডিটি বের করে দিতে চাই।

এক্সিকিউট করা /usr/bin/eject -mসিডিটিকে ঠিক উত্তম করে তোলে ... সমস্যাটি যেমনটি আপনি আশা করতে পারেন, এটি তখন ওএসকে ক্র্যাশ করে কারণ এটি এখন কোনও ফাইল পড়তে পারে না। রিবুট কখনই ঘটে না কারণ /sbin/rebootঅ্যাক্সেসযোগ্য। (আমি reboot --help > /dev/nullরিবুট করার ঠিক আগে সম্পাদন করার চেষ্টা করেছি , তবে এখনও অন্যান্য ফাইল রয়েছে যা এখনও পড়া যায় না ...)

সংক্ষেপে, এটি প্রদর্শিত হয় যে আমার বহির্গমনটি হ'ল শেষ জিনিস হতে হবে। সুতরাং এটির সাথে systemdআমার খেলতে হবে এমন কুকুরছানাটি মনে হচ্ছে ... তবে আমি আক্ষরিক অর্থে আমার জীবনের ঘন্টাগুলি নষ্ট করেছিলাম এবং এটি উত্সাহিত করেছি এবং আমি যা কিছু করি না কেন, এটি কোনও অবস্থাতেই আসলে সিডিটি বের করে না। এবং কেন আমি জানি না। আমি অনুরোধ করার এক ডজন বিভিন্ন উপায়ে চেষ্টা করেছি eject, কিন্তু কিছুই কখনও ঘটে না।

কেউ কি আমাকে চালানোর সহজতম উপায় বলতে পারেন eject? (আমি কল্পনা করি ঠিক umount.targetতখনই বুদ্ধিমান হবে ...)


আমি এটি নিয়েছি আপনার কম্পিউটারে অন্য একটি ওএস আছে বা আপনি কেন পুনরায় বুট করার সময় সিডি বের করতে চান? যদি এই কারণ হয়, আপনি সম্ভবত বুট মেনু স্থাপন করেন যেখানে আপনি সিডি থেকে বা ডিস্ক থেকে বুট করবেন কিনা তা বেছে নিতে পারলে আপনি আরও ভাল করতে পারেন।
ইমানুয়েল বার্গ

আপনি সিডি আনমাউন্ট করার পরে, আপনি কি এখনও আপনার থ্রিমের সামগ্রীগুলি রেখে যান না? যদি সেখানে কিছু ejectথাকে, আপনি ভাল থাকবেন?
উলরিচ শোয়ার্জ

অপেক্ষা কর. উদ্ভট ব্যাপার. লিনাক্স মিন্ট, এবং আমি মনে করি উবুন্টু এটি ডিফল্টরূপে করে।
লিনাকিনিও

উত্তর:


4

শেষ পর্যন্ত আমার সহকর্মী নীচের নিবন্ধটি খুঁজে পেয়েছিলেন:

http://lists.freedesktop.org/archives/systemd-devel/2012-September/006573.html

সংক্ষেপে, আমি একটি ফাইল তৈরি করেছি /lib/systemd/system/eject.serviceযার মধ্যে রয়েছে

[Unit]
Description=Eject the DVD
Before=final.target
After=shutdown.target
DefaultDependencies=no

[Service]
Type=oneshot
ExecStart=/usr/bin/eject -m
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit

[Install]
WantedBy=shutdown.target

আমিও চালানোর জন্য ছিল systemctl enable eject.serviceআসলে এই করতে করতে কিছু। তবে এখন systemdসিডিটি বন্ধ করার ঠিক আগেই বের করে ফেললাম, ঠিক যেমনটি আমি চেয়েছিলাম।

... দুর্ভাগ্যক্রমে যখন সিডি বের করে দেওয়া বাকি ফাইলগুলি খুঁজে না পায় তখন ওএস এখনও সেগফাল্ট করে। আমি উপরের ফাইলটি সামঞ্জস্য করার চেষ্টা করেছি যাতে আমাদের রয়েছে After=unmount.targetযা আপনার মনে হয় ফাইল সিস্টেমগুলি আনমাউন্ট করার পরে স্ক্রিপ্টটি চালায় runs কিন্তু না, এখনও এটি segfaults।

দেখে মনে হচ্ছে যে আমি কীভাবে লাইভ সিডি চিত্রটি বুটে র‍্যামে অনুলিপি করতে পারি - তবে এটি একটি সম্পূর্ণ অন্যান্য প্রশ্ন ...


1

নিম্নলিখিতগুলি আপনাকে সহায়তা করতে পারে:

  • আপনার নির্গত আদেশটি /etc/init.d/halt.local এ যুক্ত করুন

  • আপনি /etc/init.d/skeleton টেমপ্লেটটি দেখতে পারেন এবং এটি কাস্টমাইজ করে কিছু আউটপুট যেমন সিস্টেম শাট ডাউন করতে পারেন, সিড্রোম বের করার জন্য কোনও কী টিপুন ইত্যাদি press

  • /Etc/init.d এ স্ক্রিপ্টগুলি পরীক্ষা করুন যা রানলেভ ডিরেক্টরিতে /etc/rc0.d (থামানো) এর সাথে যুক্ত রয়েছে।


0

/etc/init.dরানলিভ ডিরেক্টরি /etc/rc0.d(হল্ট) এবং /etc/rc6.d(রিবুট) এর সাথে লিঙ্কযুক্ত স্ক্রিপ্টগুলি পরীক্ষা করে দেখুন । উদাহরণস্বরূপ, আমি ইজেক্ট কমান্ডটি ভিতরে রেখেছি /etc/init.d/rebootএবং এটি দুর্দান্ত কাজ করেছে।

তবে, আমি লাইভ সিডিতে নেই তাই কী কাজ করবে তা পরীক্ষা করতে পারছি না।

আপনি যদি এটির মতো চিন্তা করেন তবে কোনও স্ক্রিপ্ট বা একটি সংকলিত বাইনারি রেখে এটি কল্পনা করা শক্ত। এমনকি বাইনারিটির জন্য কিছু বরাদ্দ / ডিওলোকেশন ওভারহেডের প্রয়োজন হয় এবং আপনি সিডিটি বের করার সাথে সাথেই আপনার কাজ শেষ হয়ে যায়। বরং এটি কোনও পতাকা ও মেশিনের নির্দেশের পয়েন্টারের মতো হওয়া উচিত যা কিছু অতি-অবিরাম স্মৃতিতে সঞ্চিত থাকে ...

সম্ভবত কেবল কমান্ডটি চালানো এবং ইচ্ছাকৃতভাবে ওএসকে ক্র্যাশ করা সহজ, তবে যখন প্রায় সমস্ত জিনিস অফলাইনে থাকে তখন এটি করা আপনার পক্ষে আপনার অবশিষ্ট সিস্টেমটি ক্র্যাশ করার কোনও বিষয় নয়।

(সম্পাদনা) আরেকটি চিন্তা: আপনি কি কোনওভাবে আপনার ফাইল সিস্টেমটি পার্টিশন করে কেবল ইজেক্ট কমান্ডের জন্য একটি পার্টিশন তৈরি করে পুনরায় বুট করতে পারবেন, অন্য সমস্তকে আনমাউন্ট করতে পারেন, তারপরে কমান্ডটি চালাতে পারেন? (তবে, সম্ভবত তখন fsck কে প্রতিবার অভিযোগ না করার জন্য বলতে হবে, ইজেক্ট-পার্টিশনটি সঠিকভাবে আনমাউন্ট করা হয়নি।) অথবা, আপনি এটি ইউএসবি স্টিকের উপর লাগাতে পারেন? (এটি একটি খুব আকর্ষণীয় সমস্যা; আপনি যদি এটি সমাধান করেন তবে আমাদের বলুন!)

(সম্পাদনা 2) সম্পর্কে কি মার্জ বের করে নিন এবং রিবুটের, তাই আপনি পেতে এক বাইনারি, এটা মেমরিতে লোড হয়, বের করে নিন সিডি ejects, কিন্তু কোনো ফাইল সিস্টেম থেকে লোড রিবুট করতে হবে না, এটি প্রধান মেমরি আগে থেকেই?


0

উবুন্টু ব্যবহার করতে পারেন eject -m; reboot -f

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