Как запустить команду hdparm после загрузки и возобновить работу с Fedora 19?

Я купил новый HD (WD5000BPVT), который, к сожалению, пытается спать каждые 5-8 секунд. Мало того, что шум щелчка достаточно слышный, 1-секундное время спинупинга добавляет очень заметную задержку в повседневном использовании.

Я обнаружил, что hdparm -B 254 /dev/sda отключит очень короткий сон, но я не знаю, как применять этот параметр каждый раз, когда привод включен. Приложения dconf-editor и «Power Management Preferences» ничего не делают в отношении настроек HD. У меня нет путей /etc/hdparm или /etc/acpi . MATE – оконный менеджер.

  • Что такое «домашний каталог»?
  • Прокрутка колесика прокрутки в обоих направлениях
  • Fedora теперь пытается подключиться к беспроводной сети при загрузке?
  • Сбой внутреннего диска с плохим суперблоком, как исправить?
  • Загрузочный загрузчик Linux из Mac OSX
  • Есть ли программное обеспечение для программирования игровых мышек Logitech для любого Linux Distro?
  • На Fedora 19, как я могу заставить эту команду запускаться всякий раз, когда привод активирован?

  • Должен ли я беспокоиться об ошибке xauth: /home/user/.serverauth.535 не существует?
  • Как работает администратор / root / superuser в Linux?
  • Что касается .gvfs, не позволяющего удалить домашний каталог пользователя
  • Повторная выборка Alsa
  • Откройте вкладку URxvt со сдвигом вниз, а не ctrl-t
  • Почему procmail не запускается?
  • 5 Solutions collect form web for “Как запустить команду hdparm после загрузки и возобновить работу с Fedora 19?”

    У меня была та же проблема, ни одно из решений здесь не соответствовало моим потребностям. Использование cron на самом деле является обходным решением, а не решением, правила udev запускаются, когда питание подключено / отключено, но не после приостановки / возобновления, а pm-utils больше не используются по умолчанию в Fedora 19, когда вы, например, закрываете крышку своего ноутбука.

    Поскольку systemd теперь отвечает за приостановку / спящий режим, я считаю, что единственный правильный способ справиться с этой ситуацией – создать блок systemd который будет работать как после загрузки, так и после возобновления с suspend.

    Заметки:

    • Используя /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 того, как [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 

    Вы можете запустить систему во время загрузки, создав собственную службу systemd или добавив команду в /etc/rc.d/rc.local.

    Если вы хотите, чтобы команда запускалась каждый раз, когда вы разбудили систему после спящего / спящего режима, вы можете добавить скрипт, начинающийся с 2 цифр, до /etc/pm/sleep.d/, просмотр других скриптов в / usr / lib64 / pm-utils / sleep.d (предположим x86_64) для более подробной информации. В основном, он принимает параметр в зависимости от того, в каком состоянии он входит. Вам также может потребоваться добавить некоторый вход в power.d / в тот же родительский каталог, если вы хотите работать по-разному по мощности батареи по сравнению с подключенным.

    Для разных настроек при работе на AC / battery я бы сделал это с помощью простого правила 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 при отключении. Кроме того, он всегда должен работать, даже после возобновления с приостановления.

    У меня один и тот же диск (и та же проблема). Мое глупое, но работающее решение: я положил это в /etc/crontab :

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

    Правила udev хорошо работают на событиях plug-а, но чтобы получить правильное поведение после возобновления с приостановки, мне нужно что-то подобное в /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 
    Linux и Unix - лучшая ОС в мире.