2 подхода
сохранить все до последнего пробела:
sed 's / \ (. * \). * / \ 1 /' {{1} }
найдите пробел и некоторые непробелы в конце строки и удалите их
sed 's / [^] * $ //'
Используя то, что у вас есть на данный момент, и если make-файл создается с помощью автоинструментов GNU, я бы установил целевое местоположение или путь установкис помощью
./configure --prefix=/somewhere/else/ чем/the/usual/usr/local
, затем запустите
make && make install
и, наконец, скопируйте файлы из префиксной папки в папку usr/
на другом компьютере. Предполагается, что обе машины имеют одинаковую архитектуру, если нет, то используйте соответствующую кросс-инструментальную цепочку.
Самый чистый способ сделать это, вероятно, состоит в том, чтобы использовать инструменты упаковки, которые ОС использует для создания пакета для приложения, и установить его, как и любой другой. Как это сделать, зависит от менеджера пакетов и системы), и здесь есть определенная кривая обучения.
Установка вручную может быть несколько проще, если исходный пакет поддерживает установку программного обеспечения в каком-либо поддереве (например, /opt/имя_пакета
или /usr/local/имя_пакета
). Скомпилируйте и установите на одном компьютере, затем скопируйте только это поддерево в то же место на другом компьютере. Каталог должен включать все соответствующие файлы и только их.
Если вам нужны изменения в /etc
, вам придется внести их вручную. Кроме того, для фактического доступа к двоичным файлам вам придется либо связать их с каким-либо каталогом в вашем пути, либо добавить каталог пакетов bin
в путь. Большинство пакетов, использующих autoconf
/automake
, могут использовать аргумент --prefix
для сценария ./configure
, чтобы задать путь установки.
В любом случае вам нужно выяснить, какие библиотеки и т. д. нужны скомпилированному приложению, и убедиться, что у вас есть совместимые версии на обеих машинах.