Ошибка при выполнении 'msfconsole and bundle install' на termux - Android

Файлы необходимо сделать исполняемыми, чтобы они могли быть выполнены. Unix-системы используют разрешения для определения того, какие файлы являются исполняемыми, а не расширения имен файлов, как Windows.

Редко возникает необходимость делать некоторые файлы исполняемыми вручную. Когда вы компилируете программу, это делает компилятор. Когда вы распаковываете файлы из архива, архив указывает их разрешения. Если архив, из которого вы распаковали программу, имеет неправильные разрешения, это означает, что тот, кто создал этот архив, сделал что-то странное, что привело к неправильным разрешениям.

Обычный способ установки программ в Linux - через менеджер пакетов. Вы должны использовать другие методы только в том случае, если для вашего дистрибутива нет доступного пакета или если вам нужно установить программное обеспечение от имени пользователя, не являющегося root. CentOS не содержит Elasticsearch, но Elasticsearch распространяет пакеты для некоторых дистрибутивов, включая CentOS ≥6. Использование пакетов RPM, предоставляемых Elasticsearch, было бы самым простым способом установки.

Я проверил официальный tar-архив, распространяемый Elasticsearch, он действительно имеет разрешения на выполнение, где это необходимо. Так что возьмите этот архив и распакуйте его вместо того сломанного архива, который вы использовали.

Но если вы создаете виртуальную машину, я не понимаю вашего заявления о том, что вы не являетесь root. Не имеет значения, что вы не являетесь root на хосте; если вы создаете ВМ и, в частности, устанавливаете в нее ОС, то вы являетесь root в ВМ, и вы можете устанавливать пакеты RPM в ОС, запущенную в ВМ.

0
10.05.2019, 10:32
1 ответ

Вам необходимо установить пакет разработки zlib:

pkg install zlib-dev
1
28.01.2020, 03:42

Теги

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