41. Создание systemd юнитов

Поделиться
HTML-код
  • Опубликовано: 11 окт 2024
  • Плейлист: • Основы GNU/Linux и под...
    Телеграм: t.me/gnuslashl...
    Текстовой вариант: basis.gnulinux...

Комментарии • 41

  • @abyssgale1
    @abyssgale1 3 года назад +6

    Народ, репостите, лайкайте и комментируйте! Ютуб должен знать своих героев!

  • @pintofale
    @pintofale 3 года назад +4

    Мурад, спасибо Вам большое за труды!

  • @unixit
    @unixit 3 года назад +2

    Спасибо за такой подробный обзор!

  • @vasilygrachev5300
    @vasilygrachev5300 3 года назад +1

    Отдельным сообщением хочу выразить благодарность за отзывчивость и интересный контент!

  • @TheAgressor13
    @TheAgressor13 3 месяца назад +1

    тооооооооооооооооооооооооп

  • @alexch6854
    @alexch6854 2 года назад +4

    эх, очень интересная и обьемная тема, но почему-то так мало и так быстро обьяснена ( Если есть возможность, в будущем, расскрой тему создания собственных юнитов поподробнее и с большим обьяснением)

    • @GNULinuxPro
      @GNULinuxPro  2 года назад

      Например? Что бы вы хотели увидеть?
      Я, честно говоря, не вижу смысла сидеть и объяснять все параметры и ключи. Об этом всём есть и в манах, и в инете. Я ж не могу объяснить каждую команду с каждым ключом и параметром и применением. Я лишь показываю, что есть такое, что можно так сделать и вот пример. А дальше, в зависимости от конкретной задачи, можно найти конкретные параметры.

    • @alexch6854
      @alexch6854 2 года назад +3

      @@GNULinuxPro да хотябы уделить больше времени про типы сервисов и где какой лучше использовать. Когда лучше использовать oneshot, а когда forking. и тд. Плюс отдельно можно расскать про аутомаунтер и таймер юниты. Даже касательно этого ролика, лично по моему ощущению для новичка тут ничего не понятно, плюс ускоренная запись терминала еще больше дезориенирует. Не знаю, может конечно это только мое виденье, но лично мне очень не хватает инфы в русском сегменте про systemd сервисы.

    • @GNULinuxPro
      @GNULinuxPro  2 года назад +1

      @@alexch6854 Спасибо. ничего не обещаю, но, возможно, сделаю какой-нибудь плейлист с разбором различных юнитов

  • @samirgozalov4797
    @samirgozalov4797 Год назад

    spasiba

  • @inskyinsky2364
    @inskyinsky2364 2 года назад +2

    Привет!
    А скрипт для инкрементального бэкапа получится так подвесить в виде сервиса? Там же и параметры запуска и таймер какой-то сложный должен быть. Или его придётся дробить на три отдельных сервиса (incremental, full, delete)?

    • @GNULinuxPro
      @GNULinuxPro  2 года назад +2

      Привет!
      Скорее всего придётся дробить. Теоретически можно внутри самого сервиса прописать, чтобы он определял текущий день недели и в зависимости от этого выполнял соотвествующий бэкап. Но это будет не гибко. Поэтому лучше разделить на 3 сервиса. Можно даже потом связать full с delete, мол, после того как выполнится full backup, запускать delete предыдущего.

  • @moshonkin
    @moshonkin 3 года назад +1

    спасибо

  • @easyman333
    @easyman333 3 года назад

    Спасибо. С классической системой инициализации подобное возможно?

    • @GNULinuxPro
      @GNULinuxPro  3 года назад +1

      Не совсем. Если говорить про sysvinit, там можно было написать скрипт для управления программой и он превращался в сервис. Никаких маунтов, таймеров, таргетов и других юнитов. Но там все было рассчитано на то, что одна программа - одна задача.

    • @easyman333
      @easyman333 3 года назад

      @@GNULinuxPro Звучит проще.

    • @GNULinuxPro
      @GNULinuxPro  3 года назад

      С точки зрения сервиса - да, проще. Но вот прописать зависимости между сервисами, файловыми системами, планировщиком, устройствами и т.п. - только через самодельные скрипты. При изменениях - править скрипт. Устроился на работу - сиди читай чужие скрипты, чтобы понять, что там и почему.

  • @Diggertomix999
    @Diggertomix999 2 года назад

    Привет, Мурад!
    Стало интересно, а возможно ли как-то через юнит открыть в графике эмулятор терминала? Задумка такая: при включении компьютера автоматически открывается окно эмулятора терминала

    • @GNULinuxPro
      @GNULinuxPro  2 года назад

      Привет
      Да, это можно реализовать через пользовательский systemd unit
      Но обычно это делается через autostart графического окружения

    • @Diggertomix999
      @Diggertomix999 2 года назад

      @@GNULinuxPro можно немного подробнее об autostart?

    • @GNULinuxPro
      @GNULinuxPro  2 года назад

      @@Diggertomix999 Каким графическим окружением пользуетесь? К примеру, если Gnome, погуглите Gnome autostart, если Kde - Kde autostart. И так у каждого окружения могут быть свои утилиты
      Есть и общие решения, к примеру директория ~/.conf/autostart, но возможно где-то не будет работать

    • @Diggertomix999
      @Diggertomix999 2 года назад +1

      @@GNULinuxPro на виртуалке пользуюсь гномом.
      Понял, спасибо большое, буду вникать!

  • @sarevok6075
    @sarevok6075 2 года назад

    при попытке запустить вновь созданный юнит вылезает ошибка дальше иду в статус и вижу вот такое
    Хотя я просто использовал созданный системой юнит и просто скопировал его код. Вот мой backup.mount
    # Self made systemd unit
    [Unit]
    Description=Mount for backups
    Before=local-fs.target
    [Mount]
    What=/dev/mapper/workvg-extlv
    Where=/extended
    Type=ext4
    Options=defaults
    Помогите пожалуйста не пойму в чем проблема

    • @GNULinuxPro
      @GNULinuxPro  2 года назад

      Переименуйте backup.mount в extended.mount
      Имя должно соответствовать точке монтирования

    • @sarevok6075
      @sarevok6075 2 года назад

      А вот исходный файл extended.mount

    • @GNULinuxPro
      @GNULinuxPro  2 года назад

      @@sarevok6075 Ну, уберите что-то из двух, только одну фс можно монтировать в одну директорию. Вы видимо до этого создавали backup.mount, а потом в фстаб прописали ещё extended, из-за чего у вас два одинаковых получилось

  • @vasilygrachev5300
    @vasilygrachev5300 3 года назад

    Изучаю\тестирую... Никак не получается добиться автоматического отмонтирования. Монтирование по обращению к директории происходит корректно. Mount говорит, что примонтировано 2 точки
    [root@alma ~]# mount | grep mnt
    systemd-1 on /mnt/backup type autofs (rw,relatime,fd=76,pgrp=1,timeout=10,minproto=5,maxproto=5,direct,pipe_ino=25125)
    /dev/sdb1 on /mnt/backup type ext4 (rw,relatime,seclabel)
    Может кто подскажет, где искать ошибку ?

    • @GNULinuxPro
      @GNULinuxPro  3 года назад

      Для начала отмонтируй обе точки. Затем попробуй зайти и проверить, сколько там примонтировано

    • @vasilygrachev5300
      @vasilygrachev5300 3 года назад

      @@GNULinuxPro Отмонтировал обе точки. Unit automount перешел в режим failed. (соответственно автомантирование при переходе в директорию не работает). запустил юнит, mount показывает только (systemd-1 on /mnt/backup type autofs.........) Захожу в директорию , вижу файлы, mount показывает две точки монтирования (ранее созданную systemd-1 + новую /dev/sdb1 on /mnt/backup )

    • @GNULinuxPro
      @GNULinuxPro  3 года назад

      @@vasilygrachev5300 у тебя помимо automount ещё autofs настроен?

    • @vasilygrachev5300
      @vasilygrachev5300 3 года назад

      @@GNULinuxPro Нет. autofs не настроен. (По крайней мере его присутствие в системме не нашёл)

    • @GNULinuxPro
      @GNULinuxPro  3 года назад

      @@vasilygrachev5300 Можешь показать fstab и automount unit?