Сайт | Скачать | Видео | Wiki

Автор Тема: Утверждение общих стандартов  (Прочитано 73327 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Утверждение общих стандартов
« Ответ #195 : 27 Январь 2016, 16:47:55 »
Отсюда
Цитата
    /etc/profile устанавливает переменные только для командных оболочек. Он может запускать любые скрипты в оболочках, совместимых с Bourne shell.
    /etc/bash.bashrc устанавливает переменные только для интерактивных оболочек. Он также запускает bash-скрипты.
    /etc/environment используется модулем PAM-env. Здесь можно указывать только пары имя=значение.
В Puppy /etc/profile задаёт переменные, /etc/profile.d/ существует, но пустой. Посмотрим, что скажет neobht.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33974
  • Репутация: +231/-0
    • PuppyRus-A
Re:Утверждение общих стандартов
« Ответ #196 : 27 Январь 2016, 16:54:45 »
Цитата
/etc/profile устанавливает переменные только для командных оболочек. Он может запускать любые скрипты в оболочках, совместимых с Bourne shell.
Надо ли DISTRO_SPECS постоянно в виде переменных sh...
/etc/DISTRO_SPECS - лучше , но переименовать в /etc/pfs или типа того: frugal ...

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Утверждение общих стандартов
« Ответ #197 : 27 Январь 2016, 17:30:46 »
${SYSMNT}/bundles/имя_модуля.sfs
Мне тоже кажется, что так лучше.
Вопрос к neobht, как это в UIRD реализовано?

Предлагаю ввести опцию монтирования раздела или файла к /home. Не обязательную. В большинстве случаев это заметно разгружает сохранёнку.
Это, как я понял, не совсем в тему. Какое отношение это имеет к AUFS?


Где по замыслу нужно задать SYSMNT
А вот это - очень важный вопрос!

Конечно, в идеале, хотелось бы использовать ${SYSMNT} в любом скрипте.
Возможно ли такое по стандартам? Если да - то это лучший вариант, ИМХО.
Или же использовать файл .conf в /etc с простым и логичным названием.

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:Утверждение общих стандартов
« Ответ #198 : 27 Январь 2016, 19:13:16 »
Отсюда
Цитата
   /etc/profile устанавливает переменные только для командных оболочек. Он может запускать любые скрипты в оболочках, совместимых с Bourne shell.
    /etc/bash.bashrc устанавливает переменные только для интерактивных оболочек. Он также запускает bash-скрипты.
    /etc/environment используется модулем PAM-env. Здесь можно указывать только пары имя=значение.
В Puppy /etc/profile задаёт переменные, /etc/profile.d/ существует, но пустой. Посмотрим, что скажет neobht.

Нужно выбирать название которого нет в дистрибутивах, иначе придется заниматься вопросом слияния содержимого, так как переменные должны устанавливаться как на уровне initrd, так и на уровне большой системы.
Поэтому /etc/profile я не поддерживаю.


To Zay:
В uird это так и реализовано. Имя директории бандла совпадает с именем модуля, включая расширение.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Утверждение общих стандартов
« Ответ #199 : 27 Январь 2016, 19:32:21 »
Поэтому /etc/profile я не поддерживаю.
/etc/profile отпадает по простой причине, busybox sh его не читает, проверил экспериментально. Остаётся DISTRO_SPECS или любой его аналог, название не имеет значения.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re:Утверждение общих стандартов
« Ответ #200 : 27 Январь 2016, 21:17:52 »
Я думал, что DISTRO_SPECS название устоявшееся, потому и предложил Антону его использовать. Если сочинять с нуля то нужно что-то осмысленное сообразить. Если этот файл содержит переменные, которые переносятся из инитрд в основную систему то напрашивается типа: initrd_vars, init_environment, sys_env  в таком духе.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Утверждение общих стандартов
« Ответ #201 : 28 Январь 2016, 06:40:17 »
Я думал, что DISTRO_SPECS название устоявшееся
Для Puppy - да. Используется при поиске файлов Puppy.
Если этот файл содержит переменные, которые переносятся из инитрд в основную систему
В Puppy для этого существует /etc/rc.d/PUPSTATE, в Richy я сделал перенос всего /tmp в основную систему.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Утверждение общих стандартов
« Ответ #202 : 31 Январь 2016, 20:07:02 »
${SYSMNT}/bundles/имя_модуля.sfs
В uird это так и реализовано. Имя директории бандла совпадает с именем модуля, включая расширение.
Отлично!
Тогда формат ${SYSMNT}/bundles/module.ext можно считать общепринятым.

Остался вопрос с местом сохранения переменной.
Это последний принципиальный шаг к стандартизации!
Надо его сделать, утвердить имя и каталог для файла.

Нужно выбирать название которого нет в дистрибутивах, иначе придется заниматься вопросом слияния содержимого, так как переменные должны устанавливаться как на уровне initrd, так и на уровне большой системы.
Логично, мне тоже приходила в голову эта мысль.
А нет ли способа передавать переменную со значением общепринятыми системными средствами, через /sys например?

Если нет, то логично использовать файл в каталоге /etc.
Думаю что лучше использовать простое название, и без '_'.
Например "/etc/initenv", "/etc/initvars", "/etc/sysvars"...

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Утверждение общих стандартов
« Ответ #203 : 31 Январь 2016, 20:33:58 »
 У меня SYSMNT находится в файле DISTRO_SPECS, который переносится в /etc/ основной системы.
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн neobht

  • Ветеран
  • *****
  • Сообщений: 1031
  • Репутация: +15/-0
Re:Утверждение общих стандартов
« Ответ #204 : 01 Февраль 2016, 04:12:59 »
Сейчас в uird сделано, как у Ddshurick.

Нравится /etc/sysvars.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Утверждение общих стандартов
« Ответ #205 : 01 Февраль 2016, 04:41:07 »
system_variables чем-то хуже? все равно прописывается в скриптах, заодно и будет удобочитаемое название. есть ли смысл сокращать?
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re:Утверждение общих стандартов
« Ответ #206 : 01 Февраль 2016, 06:14:18 »
Initvars или initenv ближе по смыслу чем sysvars. На загруженной системе не понятно о которой "sys" идет речь :) Хотя в общем не принципиально. Настаивать не стану.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33974
  • Репутация: +231/-0
    • PuppyRus-A
Re:Утверждение общих стандартов
« Ответ #207 : 01 Февраль 2016, 09:23:05 »
Initvars или initenv Настаивать не стану.
Поддерживаю

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
  • Автор темы
Re:Утверждение общих стандартов
« Ответ #208 : 03 Февраль 2016, 20:48:37 »
initvars или initenv Настаивать не стану.
Поддерживаю
Тоже поддерживаю.

С одной стороны, init ближе по смыслу чем sys, но SYS уже используется.

Всё же нужно выбрать одно конкретное название, и использовать его.
Просьба к разработчикам, т.е. к Дяде Шурику и neobht, высказаться.

Оффлайн betcher

  • Ветеран
  • *****
  • Сообщений: 3019
  • Репутация: +35/-0
    • MagOS linux
Re:Утверждение общих стандартов
« Ответ #209 : 04 Февраль 2016, 11:09:33 »
Не пойму зачем одно название для файла и для переменных внутри. Чем понятнее тем лучше. Чем проще тем лучше. А вот имена переменных упрощать не стоит, они могут импортироваться в скрипты командой source (синоним точки) и возможны коллизии с одноименными переменными, там можно использовать префикс. Тот же SYS например.
Предлагаю обсудить какие еще переменные может содержать файл, возможно какие то из них сделаем обязательными. В голову приходит:
SYSHOME=ram/disk/file
SYSCHANGES=ram/disk/file