Где хранить внутреннее состояние программы?

Для начального вопроса «Разрешение отказано» без редактирования ls -l ...

Не забудьте установить затмение раздела включено с опцией exec ...

3
задан 23 May 2017 в 15:13

9 ответов

Какое место лучше всего подходит для самого скрипта?

Это может быть ...

/usr/local/bin/

Какое место лучше всего для скрипта?

Где (по соглашение), чтобы сохранить файл с внутренним состоянием программы на сервере Ubuntu?

/opt/{software_name}/ 
/opt/{software_name}{.version_1}/
/opt/{software_name}{.version_2}/
...

Я не думаю, что есть такое место. Вы можете использовать /var/local/. Я видел несколько методов, и популярный, кажется, использует /opt/. Таким образом:

, где 1-я символическая ссылка на активную версию. И ./bin внутри этих каталогов для двоичных файлов, ./log для (повернутого) журнала, а в вашем случае - ./state с уникальным идентификатором или без него. И все настроено на root пользователя с разрешениями n00, поэтому никто не может читать содержимое «состояния».

3
ответ дан 22 May 2018 в 22:19
  • 1
    И / opt /, и комбо / usr / local / и / var / local / будут работать одинаково хорошо. Благодарю. Я просто хочу избежать коллизий имен с настоящим и будущим программным обеспечением, поступающим из пакетов. – Eiver 24 May 2017 в 13:00
Какое место лучше всего подходит для самого скрипта?

Это может быть ...

/usr/local/bin/

Какое место лучше всего для скрипта?

Где (по соглашение), чтобы сохранить файл с внутренним состоянием программы на сервере Ubuntu?

/opt/{software_name}/ /opt/{software_name}{.version_1}/ /opt/{software_name}{.version_2}/ ...

Я не думаю, что есть такое место. Вы можете использовать /var/local/. Я видел несколько методов, и популярный, кажется, использует /opt/. Таким образом:

, где 1-я символическая ссылка на активную версию. И ./bin внутри этих каталогов для двоичных файлов, ./log для (повернутого) журнала, а в вашем случае - ./state с уникальным идентификатором или без него. И все настроено на root пользователя с разрешениями n00, поэтому никто не может читать содержимое «состояния».

3
ответ дан 18 July 2018 в 12:51
Какое место лучше всего подходит для самого скрипта?

Это может быть ...

/usr/local/bin/

Какое место лучше всего для скрипта?

Где (по соглашение), чтобы сохранить файл с внутренним состоянием программы на сервере Ubuntu?

/opt/{software_name}/ /opt/{software_name}{.version_1}/ /opt/{software_name}{.version_2}/ ...

Я не думаю, что есть такое место. Вы можете использовать /var/local/. Я видел несколько методов, и популярный, кажется, использует /opt/. Таким образом:

, где 1-я символическая ссылка на активную версию. И ./bin внутри этих каталогов для двоичных файлов, ./log для (повернутого) журнала, а в вашем случае - ./state с уникальным идентификатором или без него. И все настроено на root пользователя с разрешениями n00, поэтому никто не может читать содержимое «состояния».

3
ответ дан 24 July 2018 в 20:03

Я бы сделал папку для данных в /var/local/ и сохранил скрипт в /usr/local/bin/

3
ответ дан 22 May 2018 в 22:19

Если вы хотите, чтобы ваш скрипт был доступен для всех пользователей, вы должны поместить его на /usr/local/bin, это лучшее место для скриптов и программ при их установке вручную, в то время как другие места управляются ящиком пакета. Если этот скрипт предназначен только для модераторов, то он должен быть помещен в /usr/local/sbin.

Чтобы сохранить состояние вашего скрипта, вы должны учитывать, какой пользователь будет запускать сценарий? вы запустите его с помощью root в файле crontab? если это так, поэтому, на мой взгляд, вы должны сохранить состояние в домашнем каталоге root. вы также можете рассмотреть возможность использования /tmp

3
ответ дан 22 May 2018 в 22:19
  • 1
    Он должен выполняться только cron (работающий как определенный пользователь с определенными привилегиями и не должен быть доступен для «человеческих» пользователей. – Eiver 23 May 2017 в 15:23
  • 2
    А как насчет /tmp не для вас? – Ravexina 23 May 2017 в 15:27
  • 3
    Состояние должно быть постоянным при перезагрузке. Ничто не должно изменять состояние, отличное от самой программы. – Eiver 23 May 2017 в 16:39
  • 4
    поэтому поставьте его в /var/lib/yourprogram – Ravexina 23 May 2017 в 16:42

Я бы сделал папку для данных в /var/local/ и сохранил скрипт в /usr/local/bin/

3
ответ дан 18 July 2018 в 12:51

Если вы хотите, чтобы ваш скрипт был доступен для всех пользователей, вы должны поместить его на /usr/local/bin, это лучшее место для скриптов и программ при их установке вручную, в то время как другие места управляются ящиком пакета. Если этот скрипт предназначен только для модераторов, то он должен быть помещен в /usr/local/sbin.

Чтобы сохранить состояние вашего скрипта, вы должны учитывать, какой пользователь будет запускать сценарий? вы запустите его с помощью root в файле crontab? если это так, поэтому, на мой взгляд, вы должны сохранить состояние в домашнем каталоге root. вы также можете рассмотреть возможность использования /tmp

3
ответ дан 18 July 2018 в 12:51

Я бы сделал папку для данных в /var/local/ и сохранил скрипт в /usr/local/bin/

3
ответ дан 24 July 2018 в 20:03

Если вы хотите, чтобы ваш скрипт был доступен для всех пользователей, вы должны поместить его на /usr/local/bin, это лучшее место для скриптов и программ при их установке вручную, в то время как другие места управляются ящиком пакета. Если этот скрипт предназначен только для модераторов, то он должен быть помещен в /usr/local/sbin.

Чтобы сохранить состояние вашего скрипта, вы должны учитывать, какой пользователь будет запускать сценарий? вы запустите его с помощью root в файле crontab? если это так, поэтому, на мой взгляд, вы должны сохранить состояние в домашнем каталоге root. вы также можете рассмотреть возможность использования /tmp

3
ответ дан 24 July 2018 в 20:03
  • 1
    Он должен выполняться только cron (работающий как определенный пользователь с определенными привилегиями и не должен быть доступен для «человеческих» пользователей. – Eiver 23 May 2017 в 15:23
  • 2
    А как насчет /tmp не для вас? – Ravexina 23 May 2017 в 15:27
  • 3
    Состояние должно быть постоянным при перезагрузке. Ничто не должно изменять состояние, отличное от самой программы. – Eiver 23 May 2017 в 16:39
  • 4
    поэтому поставьте его в /var/lib/yourprogram – Ravexina 23 May 2017 в 16:42

Другие вопросы по тегам:

Похожие вопросы: