Как предварительно установить sbt на экземпляр AWS EC2 (с помощью пользовательских данных)?

0

Вопрос

Что я безуспешно пытался сделать в разделе пользовательских данных AWS EC2:

#!/bin/bash    
sudo curl -s "https://get.sdkman.io" | bash

#!/bin/bash
sudo curl --output-dir "/home/ec2-user/" -s "https://get.sdkman.io" | bash

Проблема в том, что папка .sdkman в вышеуказанных случаях не хранится внутри /home/ec2-user/.sdkman, а всегда хранится в корневой папке в разделе /.sdkman для автоматического запуска экземпляра EC2 с пользовательскими данными. (С другой стороны, будет работать ручная установка через cmd)

Который не может выполнить следующую следующую команду для установки sbt с помощью пользовательских данных:

source "/home/ec2-user/.sdkman/bin/sdkman-init.sh"

(Принимая, что папка .sdkman хранится в корневой папке) Я также попытался вместо этого использовать:

source ".sdkman/bin/sdkman-init.sh"

source "/.sdkman/bin/sdkman-init.sh"

но это не работает и возвращает следующую ошибку:

find: ‘/home/ec2-user/.sdkman/src’: No such file or directory
find: ‘/home/ec2-user/.sdkman/ext’: No such file or directory
touch: cannot touch ‘/home/ec2-user/.sdkman/var/delay_upgrade’: No such file or directory
-bash: /home/ec2-user/.sdkman/var/candidates: No such file or directory
-bash: __sdkman_echo_debug: command not found

Как это выглядит с помощью команды source, я не могу перейти ниже /home/ec2-user/, так как она всегда добавляется обратно в путь.


Дополнительные ресурсы: https://sdkman.io/install


Экземпляр AWS EC2: Amazon Linux 2 AMI (HVM) - Ядро 5.10 // t3a.xlarge

Любая помощь в том, как я могу установить sbt на экземпляр AWS EC2, автоматизированный с помощью пользовательских данных, высоко ценится!

amazon-ec2 amazon-web-services sbt scala
2021-11-23 11:58:17
2

Лучший ответ

1

Данные пользователя Ec2 будут выполняться от имени пользователя root. если вы хотите выполнить пользовательские данные как пользователь, не являющийся пользователем root, пожалуйста, следуйте приведенному ниже формату. p.s-все команды должны быть вложены в одну команду, если вы разбьетесь на несколько строк, то следующая строка будет выполнена под пользователем root.

#!/bin/bash
su ec2-user bash -c "curl -s "https://get.sdkman.io" | bash; source "/home/ec2-user/.sdkman/bin/sdkman-init.sh"
2021-11-29 01:35:55
0

Я не уверен, может ли это вам помочь или нет.Я думаю, вы можете установить vim yum. Следующие команды могут работать для вас в пользовательских данных.

#!/bin/bash 
curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo
sudo yum install sbt

ссылка для описанных выше шагов

Документация: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-software.html

2021-11-27 06:42:18

Большое вам спасибо за ваш ответ. Bintray, насколько мне известно, больше не предлагает свои услуги с 01 мая 2021 года, что приводит к вводу команды выше: "...<глава><глава><название>403 Запрещено<название></название></название></глава>..." </глава>jfrog.com/blog/... Если вы нашли другой способ решить эту проблему выше, пожалуйста, дайте мне знать
MJey

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................