Выполнение произвольного скрипта при выключении/перезагрузке системы

Всем доброго времени суток!

Возник такой вопрос: можно ли при выключении/перезагрузке выполнить ПРОИЗВОЛЬНЫЙ скрипт, или обязательно писать в формате start/stop-скриптов?
Ситуация такая: у меня ноутбук по вайфаю подключается к домашней сети. Иногда я хочу что-нибудь взять с сервера-файлопомойки в этой сети, для чего монтирую с помощью cifs нужный раздел сервера. При выключении же, если этот раздел подмонтирован, система останавливается на этапе Unmounting filesystems и думает несколько минут. Вероятно, это происходит потому, что сначала отключается wifi, а уже потом происходит размонтирование файловых систем. Так вот: я бы хотел, чтобы происходило наоборот, для чего написал простейший недоскрипт в одну строчку:

#! /bin/bash
umount /mnt/homeserver

Как заставить этот скрипт срабатывать при выключении? Точнее, ПЕРЕД выключением и перезагрузкой, до выполнения всех stop-скриптов.
И ещё: не может ли кто-нибудь чуть подробнее, чем в манах, объяснить, в какой момент происходит срабатывание того, что должно происходить при выключении? Хотя системные уровни запуска "reboot" и "shutdown" существуют, в них нет ни одного скрипта. Так как же это работает? Я так понял, что запускается то, что в стартовых скриптах в разделе stop находится. Но какой командой это делается?
Вообще, если бы были обычные rc0-6, я бы просто добавил свой "скрипт" в уровни 0 и 6 и горя бы не знал.. А тут-то что делать? :)

Звиняйте, если что - в Генту пока новичок, всего неделю как, и то всю эту неделю устанавливаю/настраиваю свою первую Генту-систему :)

Возможно, это как-то

Возможно, это как-то соответствует вашему запросу:

cat /etc/conf.d/local
# Here is where you can put anything you need to start
# that there is not an init script for.

local_start() {
        # This is a good place to load any misc programs
        # on startup (use &>/dev/null to hide output)
        # We should always return 0
        return 0
}

local_stop() {
        # This is a good place to unload any misc.
        # programs you started above.

        # We should always return 0
        return 0
}

Я Gentoo & Funtoo

local.stop

Спасибо! :)
Но есть пара уточняющих вопросов.
У меня в conf.d лежат два скрипта: local.start и local.stop

# /etc/conf.d/local.stop

# This is a good place to unload any misc.
# programs you started above.
# For example, if you are using OSS and have
# "/usr/local/bin/soundon" above, put
# "/usr/local/bin/soundoff" here.

1-й вопрос: мне в этот скрипт просто добавить строчку "umount ...."? Но в этом случае скрипт получится таким, каким я его и написал уже..
2-й вопрос: что сделать со скриптом, чтобы он заработал? conf.d - это ведь всего лишь хранилище образцов, так сказатЬ, а сами скрипты надо добавлять куда-то, верно?
Собссно, все эти вопросы происходят из-за недопонимания общего механизма работы с уровнями, что видно из моего предыдущего поста :)

,

1. Да, просто написать "umount..".
2. Ничего делать не надо. Будет работать,как только впишешь туда чтото.

Смотрите

Смотрите /etc/init.d/local
Возможно, а, точнее, скорее всего, он у вас уже в загрузке.
Проверить (не совсем корректный способ, но сработает, и чтобы меньше вам вопросов задавать :))

rc-update | grep 'local '

Если ничего не покажет, добавить

rc-update add local default

Я Gentoo & Funtoo

не init.d, а conf.d :)

Мне предложили смотреть в директории conf.d, а не init.d ;) Поэтому я и засомневался. Теперь понял:)

Зато теперь вы знаете, что в

Зато теперь вы знаете, что в /etc/init.d находятся скрипты запуска сервисов, а в /etc/conf.d их конфигурационные файлы :)

Я Gentoo & Funtoo

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".