다음 명령을 실행하려고 합니다.
root@minimanode:/# sudo wget -O minima_setup.sh https://raw.githubusercontent.com/minima-global/Minima/master/scripts/minima_setup.sh && chmod +x minima_setup.sh && sudo ./minima_setup.sh -r 9002 -p 9001
그리고 출력:useradd: group '9001' does not exist
무엇을 해야 할까요?
우분투 20.04.3 LTS(GNU/Linux 5.4.0-104-일반 x86_64)
답변1
이는 해당 gid가 있는 그룹을 찾을 수 없기 때문입니다. 설치 스크립트를 실행하기 전에 그룹을 생성한 다음 생성 라인을 제거하는 것은 어떨까요?
userdel minima | groupdel minima
그런 다음 groupadd -g 9001 minima
이전에 이것을 실행했다면 getent
그룹에서 정보를 읽는 데 if 블록이 필요하지 않을 것입니다(그래서 제거했습니다).
스크립트:
#!/bin/sh
set -e
CLEAN_FLAG=''
PORT=''
HOST=''
HOME="/home/minima"
CONNECTION_HOST=''
CONNECTION_PORT=''
SLEEP=''
RPC=''
print_usage() {
printf "Usage: Setups a new minima service for the specified port"
}
while getopts ':xsc::p:r:d:h:' flag; do
case "${flag}" in
s) SLEEP='true';;
x) CLEAN_FLAG='true';;
r) RPC="${OPTARG}";;
c) CONNECTION_HOST=$(echo $OPTARG | cut -f1 -d:);
CONNECTION_PORT=$(echo $OPTARG | cut -f2 -d:);;
p) PORT="${OPTARG}";;
d) HOME="${OPTARG}";;
h) HOST="${OPTARG}";;
*) print_usage
exit 1 ;;
esac
done
apt update
apt install openjdk-11-jre-headless curl jq -y
if ! id -u 9001 > /dev/null 2>&1; then
echo "[+] Adding minima user"
useradd -r -u 9001 -g 9001 -d $HOME minima
mkdir $HOME
chown minima:minima $HOME
fi
wget -q -O $HOME"/minima_service.sh" "https://github.com/minima-global/Minima/raw/master/scripts/minima_service.sh"
chown minima:minima $HOME"/minima_service.sh"
chmod +x $HOME"/minima_service.sh"
CMD="$HOME/minima_service.sh -s $@"
CRONSTRING="#!/bin/sh
$CMD"
echo "$CRONSTRING" > /etc/cron.weekly/minima_$PORT
chmod a+x /etc/cron.weekly/minima_$PORT
CMD="$HOME/minima_service.sh $@"
/bin/sh -c "$CMD"
echo "Install complete - showing logs now - Ctrl-C to exit logs, minima will keep running"
journalctl -fn 10 -u minima_$PORT
추신: 다음 번에는 더 많은 정보, 코드 또는 이와 유사한 것을 제공해주세요. 편집 중인 내용을 인터넷에서 검색해야 합니다.