Утилита командной строки openssl
может сделать это, используя пароль из файла:
openssl aes-256-ctr -pass file:./passwordfile < file.plain > file.enc
openssl aes-256-ctr -d -pass file:./passwordfile < file.enc > file.plain
Вы можете использовать - K
, чтобы установить фактический используемый ключ, вместо того, чтобы извлекать его из пароля, но тогда это также требует ручной установки IV, так что это не очень удобно.
Страница руководства - enc (1)
.
Переменная $ {D}
позволяет устанавливать создаваемое программное обеспечение в каталог, отличный от его реальной цели. Например, вы можете настроить программное обеспечение так, чтобы libdir
было / usr / lib
, но это для целевого устройства; когда вы запускаете установку в своей системе сборки, вы не хотите, чтобы вновь созданные файлы фактически устанавливались в / usr / lib
, вы хотите разместить их где-то изолированно, чтобы их можно было легко идентифицировать и скопировано в целевую систему. Итак, вы создаете временный каталог и устанавливаете туда:
mkdir /tmp/yocto-target
make install D=/tmp/yocto-target
Таким образом, файлы попадают в / tmp / yocto-target / usr / lib
и так далее. Затем вы можете заархивировать все / tmp / yocto-target
с помощью любого инструмента, который вам больше нравится, отбросив префикс / tmp / yocto-target
, скопировать архив на целевое устройство и установить его содержимое там.
В других системах сборки переменная DESTDIR
используется по той же причине.
${D}
— обычное начало пути, используемого рецептом Yocto, где рецепт устанавливает файлы, принадлежащие пакетам, созданным этим рецептом. Эти каталоги в ${D}
сканируются системой сборки на наличие файлов для включения в пакеты (, таких как RPM-файлы ), и для включения в так называемое -дерево sysroot, где файлы (, например. идут библиотеки и заголовки ), используемые другими пакетами. Для этого сканирования существуют некоторые правила по умолчанию, и эти правила можно расширить. Рекомендуется максимально использовать эти пути Yocto по умолчанию в ${D}
, чтобы воспользоваться встроенными -механизмами Yocto.
${libdir}
определяется в bitbake.conf по умолчанию как :${exec_prefix}/lib
, который по умолчанию равен /usr/lib
, определенный в том же файле.
install -d ${D}${libdir}
В конце концов, эта команда оболочки «установить» просто создает каталог, в котором должны быть сохранены файлы (, например. с помощью do _install ), который в конечном итоге должен быть установлен под /usr/lib
на целевом устройстве.
${D}/a/b/c
для файла c
— это просто промежуточный путь, используемый для упаковки Yocto, а ${D}
«отрезается», когда тот же файл c
находится в целевой файловой системе. Так, например, ${D}/a/b/c
будет на /a/b/c
цели.
${D}
по умолчанию определяется в poky/meta/conf/bitbake.conf как:
TMPDIR = "${TOPDIR}/tmp"
BASE_WORKDIR ?= "${TMPDIR}/work"
WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
D = "${WORKDIR}/image"