Автозапуск в альт линукс

Disable gui

Примечание: Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.

Отключение автозапуска GUI

Для чего это вообще нужно?

Предположим, вы — начинающий сисадмин, настраиваете сервер. Он будет крутится обычно без графики, но, т.к. у Вас опыта пока маловато вы ее хотите пока оставить, но по-умолчанию отключить. Т.е. при запуске сервера будут выключены все службы графики, «Иксы» и пр., когда надо, вы войдете, их запустите, не надо, выключите.

Отключение автозапуска графики

# systemctl set-default multi-user.target
# systemctl set-default graphical.target

Запуск в tty1

У Linux есть несколько виртуальных консолей, которые переключаются по Ctrl+Alt+F*. По-умолчанию, в некоторых дистрибутивах загрузка происходит на первой консоли, она не работает и для работы нужно переключаться на вторую. С помощью изменения следующего параметра вы получите приглашение на вход в систему на tty1.

# nano /etc/systemd/logind.conf

В данном файле измените значение и сохранитесь.

Запуск графики вручную

После того как мы отключили автозапуск графики нужно будет войти в систему в консоли и запустить «иксы» вручную:

Выход в консоль — завершение сеанса.

Выключение

А чтобы выключить или перезагрузить компьютер, нужно выполнить следующие команды от имени суперпользователя:

Источник

Создание сервиса systemd

Если Вам необходимо создать автозапуск приложения на уровне systemd/сделать службу (сервис), вы можете выполнить следующие действия:

Конфиг службы

Простой вариант для пробы

Чтобы понять, что из себя представляет Unit в Systemd попробуем создать службу, которая запускает программу n (/usr/bin/n).

[Unit] Description=Start-n After=default.target [Service] ExecStart=/usr/bin/n [Install] WantedBy=default.target 

В данном варианте у нас при загрузке запутится и будет работать указанная программа.

Вариант с запуском службы программы

Вводим в текстовом редакторе:

[Unit] # описание Description=X11VNC Server # здесь используется ключи времени с указанием цели или другой службы After=prefdm.service [Service] # от какого пользователя запускать службу, не обязательно User=root # перезапуск службы, не обязательно Restart=on-failure #выполняемая команда ExecStart=/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -dontdisconnect -usepw -noxfixes -shared -forever -rfbport 5900 -rfbauth /root/.vnc/passwd [Install] # здесь используется ключи времени с указанием цели или другой службы WantedBy=graphical.target 
# systemctl enable x11vncsrv 

Ключи времени

  • Wants, Requires, Before, After.
    • (Ожидает, Требует, Перед, После)
    • (Ожидается цель/служба, Требуется цель/служба)

    Параметры перезапуска службы

    • no — никогда
    • always — всегда
    • on-success — успешно
    • on-failure — не успешно
    • on-abnormal — не нормальный
    • on-abort — при прирывании
    • on-watchdog — Сторожевой таймер (Watchdog timer) — аппаратно реализованная схема контроля над зависанием системы. Представляет собой таймер, который периодически сбрасывается контролируемой системой. Если сброса не произошло в течение некоторого интервала времени, происходит принудительная перезагрузка системы.

    Список целей

    • default.target — модуль по-умолчанию
    • graphical.target — запуск графической подсистемы
    • multi-user.target — запуск консоли
    • network-online.target — ожидание подключенной сети (используется в Wants)
    • network.target — сеть
    • network-pre.target — запуск до настройки сети (используется в Requires)
    • boot-complete.target — успешная загрузка [i]

    Источник

    Автоматический запуск программы в ALT Rescue

    Заставшим MS-DOS это напомнит C:\autoexec.bat. Ну да, что-то очень похожее, только «на стероидах»! 🙂 В отличие от rc.local, процесс запускается интерактивно, а не в фоновом режиме, причём на конкретном терминале сразу после запуска всех служб. По завершении этого процесса пользователь попадает в обычную командную строку.

    Restore.jpg

    Назначение

    • Автоматизация запуска вашей программы на первом терминале при загрузке с ALT Rescue, в том числе, программы, требующей интерактивного взаимодействия с пользователем.
    • Создание инструментальных загрузочных носителей с собственной системой диалогов.
    • Автоматизация сборки систем на голом железе и в виртуальном окружении.
    • Автоматизация массового развёртывания из готовых образов.

    Краткое описание

    Пакет rescue-launcher разработан с таким расчётом, чтобы можно было автоматически смонтировать некий каталог, содержащий (или иной исполняемый файл), и запустить его. Параметр загрузки ядра autorun управляет тем, где и что ищется, каким образом и куда монтируется. Скрипт, входящий в пакет rescue-launcher, запускается на первом терминале (/dev/tty1), блокируя возможный повторный запуск. В случае возникновения ошибок, выполнение прерывается и вы оказываетесь в штатной командной строке ALT Rescue. Если что-то пошло не так, смотрите журнал /var/log/rescue-launcher.log.

    В образе носителя Rescue должен находиться пакет rescue-launcher. Чтобы работал автозапуск, также важен этот патч (входит в startup-rescue >= 0.31-alt1). Последним важным условием является наличие опции autorun[=. ] в параметрах загрузки ядра. Предполагается, что первые два условия будут реализованы в m-p профилях ALT Rescue и во всех бранчах в самое ближайшее время. Если собирается собственный образ rescue, вместо пакета rescue-launcher ваш исполняемый скрипт можно сложить непосредственно в /sbin/rescue-launcher корневой системы.

    Параметр autorun

    Параметр загрузки ядра autorun (сам по себе или autorun=1) позволяет включить механизм автозапуска с заданными умолчаниями, которые можно переопределить, сложив в rescue-образ собственный файл конфигурации /etc/rescue-launcher/rescue-launcher.conf. Имеющаяся в пакете конфигурация детально описывает назначение каждого аргумента и все заданные умолчания. Все те же аргументы могут быть переопределены параметром загрузки ядра autorun=. , например:

    method

    Определяет один из методов поиска нужного каталога с (см. далее). Значение по умолчанию: auto.

    label

    Метка тома или тэг для монтирования локальных носителей. Значение по умолчанию: alt-autorun. rescue-launcher может брать это значение также из параметра automatic (см. Propagator). В /proc/cmdline внутри меток тома вместо пробелов следует использовать последовательность символов «%20«.

    uuid

    UUID локально подключенного раздела. Значение по умолчанию не определено. rescue-launcher может брать это значение также из параметра automatic (см. Propagator).

    server

    IP-адрес или DNS-имя сервера (http, nfs). Значение по умолчанию не определено. rescue-launcher может брать это значение также из параметра automatic (см. Propagator).

    directory

    Полный путь к профилю, файлам данных и, главное, к автоматически запускаемому скрипту. Значение по умолчанию не определено.

    mpoint

    Каталог, в который будет смонтирован указанный путь, и где в конечном итоге окажется автоматически запускаемый скрипт. Значение по умолчанию: /mnt/autorun.

    run

    Название автоматически запускаемого скрипта ( или иного исполняемого файла). Значение по умолчанию: autorun. Этот файл должен быть доступным для чтения и выполнения. Иначе ничего работать не будет!

    Примеры

    autorun=method:http,server:example.org,directory:/pub/start autorun=method:nfs,server:192.168.15.2,directory:/srv/deploy autorun=method:disk,uuid:82d5d0e2-d51d-4508-bd82-f9aade802427 autorun=method:cdrom,label:ALT%20Education%209.3beta2 autorun=method:plan9,label:host-guest-exchange

    Методы

    Метод поиска нужного каталога с определяется аргументом method. Например, если указать autorun=method:disk,label:deploy в /proc/cmdline, rescue-launcher попытается смонтировать любой подключенный диск с меткой тома «deploy» и будет искать запускаемый скрипт на нём. Первая версия rescue-launcher поддерживает следующие методы: auto, cdrom, disk, nfs, http, plan9, vbox. Методы nfs и http требуют предварительного поднятия сетевого интерфейса. На данный момент используется довольно примитивный механизм получения настроек по протоколу DHCP. Методы cdrom и disk относятся к классу «локально подключаемых дисков», тогда как методы plan9 и vbox относятся к классу «виртуальных ФС» для обмена данными между хостовой и гостевой системами.

    AUTO

    Метод auto используется по умолчанию и обеспечивает поиск всеми доступными способами, но порядок и конкретные методы можно переопределить в собственном rescue-образе через файлы /etc/rescue-launcher/*.list. Можно написать собственный метод (к примеру, samba или ssh) и сложить по аналогии в /usr/libexec/rescue-launcher/methods/. Метод auto опасен тем, что если на пути поиска может возникнуть не одно местоположение, будет выбрано какое-то одно и не то, на которое вы рассчитывали. Поэтому лучше всегда выбирать не его, а другой конкретный метод. Важно понимать: сначала перебираются все локальные методы, затем сетевые и в самом конце виртуальные. Порядок внутри класса также определяется содержимым файлов /etc/rescue-launcher/*.list.

    CDROM

    Каталог (directory=. ) должен быть указан. Если нет, используется каталог «/recovery«. Этот каталог должен находиться либо в корне загрузочной системы (squashfs), либо в корне ISO-образа (iso9660). Если задать uuid и/или label ISO-диска, эти аргументы также проверяются. Данная схема пригодна для случаев, когда необходимые файлы могут быть размещены на этапе создания загрузочного образа (squashfs или iso9660), при этом их объём вместе с загрузочной системой не превышают размер типовой ISO-болванки (около 4.5Гб).

    DISK

    Метод disk ищет локально доступный раздел, указанный в поле uuid. Если uuid не указан, ищет локально доступный раздел, указанный в поле label. Если и label не указан, ищет локально доступный раздел с меткой тома «alt-autorun«.

    NFS

    Метод nfs требует указания аргументов server и directory: указанный каталог монтируется по сети с указанного сервера, при этом используется протокол NFSv3.

    HTTP

    Метод http немного отличается от остальных: скачивается во временный файл с адреса, указанного в параметрах server и directory, делается выполняемым, а перед его запуском экспортируется переменная среды AUTORUN_HTTPBASE, содержащая «подсказку» , где можно скачать остальные файлы, если это потребуется.

    PLAN9

    Метод plan9 позволяет связать с гостевой системой каталог хост-системы через тэг alt-autorun или иной, указанный в аргументе label. Запустив на хост-системе команду, создающую и запускающую виртуальную машину QEMU, вы передаёте в ней нужный тэг так называемой 9p-шары. Гостевая система, запустившись с опцией autorun=method:plan9,label=. данный каталог монтирует на чтение локально и запускает в нём . Получается что-то подобное guestfs, только ваши правила и возможности закладываются в загрузочный образ.

    VBOX

    Метод vbox подобен методу plan9, только связывает «общую папку VirtualBox» между гостевой и хостовой системами.

    Примеры использования

    Собираем усечённую rescue на основе репозитория c8:

    git clone git://git.altlinux.org/people/klark/packages/alt-c8-deploy.git cd alt-c8-deploy $EDITOR sources.list export GLOBAL_NET_ETH=eth0 make && make distclean

    Создаём «ответную» часть типа «Hello, world!»:

    cd $TMPDIR mkdir test-deploy cat >test-deploy/autorun 
    

    Тестируем полученный образ в QEMU (надо будет выбрать второй пункт в загрузочном меню):

    qemu-kvm -cpu host -m 1024 -balloon virtio \ -fsdev local,security_model=passthrough,id=fsdev0,path="$TMPDIR/test-deploy" \ -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=alt-autorun \ -cdrom alt-c8-deploy-*.iso

    Заменяем "ответную" часть на что-то более осмысленное:

    cat >test-deploy/autorun test-deploy/hybrid.iso

    После повторного запуска виртуалки с теми же аргументами в $TMPDIR/test-deploy/hybrid.iso появится гибридный образ. Запишем его на настоящую флэшку:

    su - umount /dev/sdb1 dd if=/tmp/.private//test-deploy/hybrid.iso \ of=/dev/sdb bs=2M oflag=direct status=progress; sync fdisk /dev/sdb # здесь добавляем второй раздел типа Linux wipefs -a /dev/sdb2 mkfs.ext2 -q -L alt-autorun /dev/sdb2 mount -t ext2 /dev/sdb2 /mnt

    Кладём в /mnt нужные файлы (например, образы настроенных систем), и сюда же кладём (под именем autorun), делаем его исполняемым, размонтируем флэшку и идём с ней на компьютер, на который будем этот образ накатывать.

    Источник

    Читайте также:  Аналог sound forge linux
Оцените статью
Adblock
detector