Ответ на этот вопрос зависит от того, какой проект с открытым исходным кодом вы пытаетесь установить таким способом. Общий ответ таков: в некоторых проектах с открытым исходным кодом есть Makefile, которые предоставляют необязательные переменные для этой цели. Одним конкретным примером этого является gdb, чей Makefile верхнего уровня использует (но, похоже, не присваивает) переменную DESTDIR , и если я запускаю эту команду в каталоге сборки gdb,
make DESTDIR=/tmp install
он добавляет /tmp к каждому пути назначения перед копированием файла.
Другим более сложным подходом является сборка, установка и все остальное в среде chroot. Использование чего-то вроде OverlayFS может сделать это проще, но обычно это не путь наименьшего сопротивления.
Другая возможность, которая, вероятно, будет проще, если вы уже используете версию Debian (которая включает в себя Ubuntu и многие другие), - это получить исходный пакет Debian, соответствующий проекту с открытым исходным кодом (такой подход вряд ли будет легким, если нет такой пакет с исходным кодом) и следуйте инструкциям для сборки пакета Debian из этого источника. Если вам действительно нужен .rpm а не .deb вы можете преобразовать .deb в .rpm , или, возможно, вы можете создать .rpm из структуры каталогов, оставленной в процессе построения .deb . Этот ответ является одним из источников информации о сборке пакета Debian из этого источника.
Для последней версии openssl (упомянутой в комментарии, но еще не упомянутой в вопросе) файл INSTALL сообщает следующее:
 Package builders who want to configure the library for standard
 locations, but have the package installed somewhere else so that
 it can easily be packaged, can use
   $ make DESTDIR=/tmp/package-root install         # Unix
   $ mms/macro="DESTDIR=TMP:[PACKAGE-ROOT]" install ! OpenVMS
 The specified destination directory will be prepended to all
 installation target paths.
Это зависит от версии openssl ; для 1.0.2 INSTALL говорит это:
 Package builders who want to configure the library for standard
 locations, but have the package installed somewhere else so that
 it can easily be packaged, can use
   $ make INSTALL_PREFIX=/tmp/package-root install
 (or specify "--install_prefix=/tmp/package-root" as a configure
 option).  The specified prefix will be prepended to all
 installation target filenames.
Идея почти такая же, с немного другими деталями.