বুট করার পরে আমি কীভাবে এইচডিপিআরএম কমান্ড চালাতে পারি এবং ফেডোরা 19-এ পুনরায় শুরু করতে পারি?


10

আমি একটি নতুন এইচডি (ডাব্লুডি 5000 বিপিভিটি) কিনেছি যা দুর্ভাগ্যক্রমে প্রতি 5-8 সেকেন্ডে ঘুমানোর চেষ্টা করে। ক্লিকের শব্দটি কেবল শ্রুতিমধুরই নয়, 1-সেকেন্ডের স্পিনআপ সময় দিনের ব্যবহারের ক্ষেত্রে খুব লক্ষণীয় বিলম্বকে যুক্ত করে।

আমি খুঁজে পেয়েছি hdparm -B 254 /dev/sdaখুব ছোট ঘুম নিষ্ক্রিয় করবে তবে প্রতিবার ড্রাইভ চালিত হওয়ার পরে কীভাবে এই সেটিংটি প্রয়োগ করতে হয় তা আমি জানি না। dconf-editorএবং 'পাওয়ার ম্যানেজমেন্ট পছন্দসমূহ' এইচডি সেটিংস ব্যাপারে উভয় কী করেন ভাইসাহেব অ্যাপ। আমার কোনও পথ /etc/hdparmবা /etc/acpiপথ নেই। মেট হ'ল উইন্ডো ম্যানেজার।

ফেডোরা ১৯-তে, যখনই ড্রাইভ সক্রিয় হয় তখন আমি কীভাবে এই আদেশটি চালাতে বাধ্য করব?

উত্তর:


12

আমার একই সমস্যা ছিল এখানে সমাধানগুলির কোনওোটাই আমার প্রয়োজন অনুসারে নয়। ক্রোন ব্যবহার করা প্রকৃতপক্ষে একটি সমাধান, সমাধান নয়, ইউদেব নিয়মগুলি চালিত হয় যখন পাওয়ার সংযুক্ত / সংযোগ বিচ্ছিন্ন হয় তবে স্থগিত / পুনরায় চালু করার পরে নয় pm-utilsএবং ফেডোরা ১৯-এ ডিফল্টরূপে আর ব্যবহার করা হয় না যখন আপনি উদাহরণস্বরূপ আপনার ল্যাপটপের নিকটবর্তী idাকনা রাখবেন।

যেহেতু systemdএখন স্থগিতকরণ / হাইবারনেটিংয়ের জন্য দায়ী, তাই আমি মনে করি যে এই পরিস্থিতিটি পরিচালনা করার একমাত্র সঠিক উপায় হ'ল একটি systemdইউনিট তৈরি করা যা বুট করার পরে এবং স্থগিতাদেশ থেকে পুনরায় শুরু করার পরে উভয়ই চলবে।

মন্তব্য:

  • /dev/disk/by-id/...পরিবর্তে ব্যবহার করে /dev/sda, আপনি সর্বদা সঠিক ডিস্ক প্রাপ্ত নিশ্চিত হন (sda, b, c কার্নেল দ্বারা সনাক্ত করা ক্রমের উপর নির্ভর করে)
  • আপনার একাধিক ExecStartলাইন থাকতে পারে যাতে আপনি একাধিক ডিস্ক কনফিগার করতে পারেন

আমি যে ইউনিটটি লিখেছি তা এখানে:

[Unit]
Description=Silence HD
After=suspend.target

[Service]
Type=oneshot
# Disable automatic head parking for the main disk
ExecStart=/sbin/hdparm -B 254 /dev/disk/by-id/ata-ST3250824AS_4N127FD1
# Enable automatic spin down after 30 seconds for the second, infrequently used disk
ExecStart=/sbin/hdparm -S 6 /dev/disk/by-id/ata-ST31000528AS_BVP5H5X1

[Install]
WantedBy=suspend.target basic.target

এই ফাইলটি সংরক্ষণ করুন /etc/systemd/system/hdsilence.serviceএবং তারপরে এটি সক্ষম করুন:

systemctl enable hdsilence.service
systemctl daemon-reload

ফেডোরা ২০-তেও এখানে দুর্দান্ত কাজ করে। ধন্যবাদ!
Jakob

সুতরাং এটি অপ্রচলিত /etc/hdparm.conf এ পরিবর্তন করে?
ডোমিহ

@ মমিঃ যতদূর আমি hdparm.conf বলতে পারি একটি ডেবিয়ান জিনিস এবং এটি ফেডোরায় সমর্থিত নয়।
ক্রিজিসটফ অ্যাডামস্কি

6

বুট করার সময় আপনি সিস্টেমটি নিজস্ব সিস্টেমড সার্ভিস তৈরি করে বা /etc/rc.d/rc.local এ কমান্ডটি যুক্ত করতে পারেন।

আপনি যখন ঘুম / হাইবারনেটের পরে সিস্টেমটি জাগ্রত প্রতিটি সময় কমান্ডটি চালাতে চান , আপনি একটি স্ক্রিপ্ট যোগ করতে পারেন যা 2 ডিজিটের সাথে /etc/pm/sleep.d/ এ শুরু হয়, অন্যান্য স্ক্রিপ্টগুলিতে / usr / lib64 / এ দেখুন আরও তথ্যের জন্য pm-utils / ঘুম.d (অনুমান x86_64)। মূলত, এটি কোন অবস্থায় প্রবেশ করছে তার উপর নির্ভর করে এটি একটি পরামিতি নেয়। প্লাগ ইন করার সময় এর তুলনায় আপনি যদি ব্যাটারি পাওয়ারে অন্যভাবে পরিচালনা করতে চান তবে একই প্যারেন্ট ডিরেক্টরিতে আপনাকে পাওয়ার.ড / ডিটিতে কিছু লগইন যুক্ত করতে হবে।


1
creating your own systemd serviceআপনি আরো নির্দিষ্ট হতে পারে? আমার কাছে /etc/rc.d/rc.local ফাইল নেই।
পিট

1
Systemd হল ডকুমেন্টেশন একটি systemd হল সেবা ইউনিট সিনট্যাক্স ব্যাখ্যা করে। /etc/rc.d/rc.localফাইল শুধু একটি শেল স্ক্রিপ্ট, এটি তৈরি এবং নিশ্চিত তার এক্সিকিউটেবল নেওয়াতে সহায়তা করা।
jsbillings

3

এসি / ব্যাটারি চলাকালীন বিভিন্ন সেটিংসের জন্য, আমি এটি একটি সাধারণ udevনিয়মের মাধ্যমে করব , যেমন
/etc/udev/rules.d/98-apmsettings.rules:

SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/usr/bin/hdparm -B 128 /dev/sda"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/usr/bin/hdparm -B 254 /dev/sda"

ল্যাপটপ প্লাগ ইন করা হয় এবং যথাক্রমে প্লাগ ইন apmকরা 254থাকলে এটি সেট হয়ে যায় 128। এছাড়াও, স্থগিত হওয়া থেকে পুনরায় শুরু করার পরেও এটি সর্বদা কাজ করা উচিত।


1
যারা ভারব্যাটিম অনুলিপি করতে চান তাদের জন্য নতুন রিলিজ hdparmরয়েছে /usr/sbin, তাই পাথগুলি সামঞ্জস্য করুন।
রোমান

2

আমার একই ডিস্ক আছে (এবং একই সমস্যা)। আমার বোকা কিন্তু কার্যক্ষম সমাধান: আমি এটি এতে রেখেছি /etc/crontab:

-*/5  * * * *   root  hdparm -B 254 /dev/sda

এটি কি প্রতি 12 সেকেন্ডের মধ্যে কেবল ড্রাইভ অ্যাক্সেস করে না? আমি এই লাইনের সাথে কিছু বিবেচনা করেছি তবে আমি আনডকৃত অবস্থায় কিছুটা ঘুম চাইব।
পিট

প্রতি পাঁচ মিনিটে। আপনি একটি মোড়ক স্ক্রিপ্ট লিখতে পারেন যা সিস্টেমের পাওয়ারের অবস্থাটি পরীক্ষা করে।
হউক লেগেছে

1

উদেব নিয়মগুলি প্লাগ ইভেন্টগুলিতে ভাল কাজ করে তবে স্থগিত থেকে পুনরায় শুরু করার পরে সঠিক আচরণ পেতে আমার এই জাতীয় কিছু দরকার /etc/pm/sleep.d:

#!/bin/sh

case "${1}" in
    resume|thaw)
    if grep -q 1 /sys/class/power_supply/ADP1/online; then
      /usr/sbin/hdparm -B 254 /dev/sda
    else
      /usr/sbin/hdparm -B 128 /dev/sda
    fi
;;
esac
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.