Как добавить лицензирование в приложение Ubuntu?

Я удивлен результатами, которые я вижу для поиска хорошо определенного и поддерживаемого Ubuntu «первой загрузки». Похоже, что у Red Hat / Fedora / CentOS толпа закрепилась на протяжении десятилетия. Ближайшим эквивалентом Ubuntu, похоже, является oem-config-firstboot.

Идея просто выполнить rm $0 будет работать. Но, технически есть какая-то интересная семантика. В отличие от большинства других интерпретаторов сценариев в Unix скрипт оболочки считывается и обрабатывается одной строкой / оператором за раз. Если вы отсоединили (rm) файл из-под него, то экземпляр оболочки, которая обрабатывает этот скрипт, теперь работает с анонимным файлом (любой файл, открытый, но несвязанный).

Рассмотрим выполните следующие действия:

#!/bin/bash
rm $0
echo "I've removed myself: $0"
ls -l $0
cat <

Если вы сохраните это на что-то вроде rmself.sh и (жесткой) ссылки на что-то вроде tst, тогда запуск ./tst должен показать что-то вроде этого как вывод: [ ! d4]

$ ./tst 
I've removed myself: ./tst
ls: ./tst: No such file or directory
   This is a test.
   I'm still here, because the "here" doc is being fed to 'cat'
   via the anonymous file through the open file descriptor.
   But I cannot be re-exec'd
./tst: line 11: /home/jimd/bin/tst: No such file or directory
./tst: line 11: exec: /home/jimd/bin/tst: cannot execute: No such file or directory

Теперь есть некоторые нечетные возможные угловые случаи в отношении символических ссылок и случаи, когда скрипт был вызван как голый имя (принуждение оболочки к поиску $PATH для скрипта.

Но кажется, что bash (по крайней мере, в версии 3.2) добавляет $0 к пути, если он искал путь и в противном случае оставляет $ 0 установленным для любого относительного или абсолютного пути, используемого для вызова скрипта. Кажется, что самая чистая «firstboot» для Ubuntu - это создать небольшой пакет (.deb), содержащий скрипт, который будет помещен в [ f11] и сценарий после установки, который использует update-rc.d, чтобы связать это с уровнем выполнения 1 (/etc/rc1.d) (используя команду like: update-rc.d firstboot defaults) ... и затем последняя строка выполняет деактивацию или удаление с использованием чего-либо например: update-rc.d firstboot disable

Вот ссылка на oem-config-firstboot

1
задан 25 January 2013 в 20:50

1 ответ

Во-первых, лицензирование / drm не предотвращает пиратство. Если кто-то не уважает ваш IP-адрес, они найдут способ обойти ваш drm. К сожалению, это тот мир, в котором мы живем сегодня.

Говорят, что инфраструктура лицензионного ключа в MyApps проста. Причина в том, что существует множество способов управления drm и стандартного механизма для его реализации.

У нас есть разработчики, которые используют его для отправки по электронной почте ключа, который пользователь должен установить, и у нас есть разработчики, использующие его для загрузки ключ к определенному месту при установке / покупке приложения. Некоторым требуется ключ для любого использования приложения (приложение не работает без ключа), а некоторые разрешают ограниченное использование приложения без ключа и полного использования ключа.

3
ответ дан 25 May 2018 в 02:07
  • 1
    Похоже, я должен следовать системе доверия в Ubuntu Software Center. Чем больше я думаю о DRM, тем сложнее мне сохранить его в будущем. – Haikal Nashuha 26 January 2013 в 10:13

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

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