Comment faire pour pré-installer sbt sur AWS EC2 instance (via les données de l'utilisateur)?

0

La question

Ce que j'ai essayé pour l'instant sans succès à l'intérieur de l'AWS EC2 données de l'utilisateur section:

#!/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

Le problème est que l' .sdkman dossier dans les cas ci-dessus n'est pas stocké dans /home/ec2/utilisateur.sdkman mais plutôt toujours stockée à l'intérieur de la racine du dossier dans /.sdkman pour automatiser l'instance EC2 lancement avec les données de l'utilisateur. (Manuel d'installation via cmd sur l'autre main, travail)

Qui ne parvient pas à les mettre à la commande suivante pour installer sbt via les données de l'utilisateur:

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

(En admettant que la .sdkman dossier est stocké dans le dossier racine), j'ai aussi essayé au lieu d'utiliser:

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

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

mais cela ne fonctionne pas et renvoie l'erreur suivante:

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

Comme il ressemble à la source de commande, je ne suis pas capable d'aller au-dessous de /home/ec2/ utilisateur comme c'est toujours ajouté à reprendre le chemin.


D'autres ressources: https://sdkman.io/install


AWS EC2 Exemple: Amazon Linux 2 AMI (HVM) - Noyau 5.10 // t3a.xlarge

Toute aide sur comment je peux installer sbt sur AWS EC2 automatisé via les données de l'utilisateur est très apprécié!

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

La meilleure réponse

1

Ec2 UserData va exécuter en tant qu'utilisateur root. si vous souhaitez exécuter l'utilisateur de données qu'un utilisateur non-root, veuillez suivre le format ci-dessous. p.s - toute commande doit être imbriquées en une seule commande, si vous le séparer en plusieurs lignes, la ligne suivante sera exécutée sous l'utilisateur 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

Je ne suis pas sûr si cela peut vous aider ou pas.Je pense que vous pouvez installer vim yum. Les commandes suivantes peuvent travailler pour vous dans les données de l'utilisateur.

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

lien pour les étapes ci-dessus

Documentation: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-software.html

2021-11-27 06:42:18

Merci beaucoup pour votre réponse. Bintray autant que je suis conscient de ne pas offrir leur service plus depuis le 01 Mai 2021, ce qui conduit par l'entrée de commande ci-dessus à: "...<head><title>403 Forbidden</title></head>..." jfrog.com/blog/... Si vous avez trouvé un autre moyen de résoudre ce problème ci-dessus, s'il vous plaît laissez-moi savoir
MJey

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................