This commit is contained in:
zino
2023-11-25 00:33:00 +01:00
parent 041fd3f72f
commit 63883f3a14
2 changed files with 58 additions and 30 deletions

View File

@@ -1,41 +1,28 @@
#!/bin/bash #!/bin/bash
# Set the container name # File paths
CONTAINER_NAME="csserver" file1="./volumes/serverfiles/libstdc++.so.6"
SCRIPT_NAME=me=$(basename "$0") file2="./volumes/serverfiles/libgcc_s.so.1"
SCRIPT_NAME=$(basename "$0")
# Function to display [INFO] in blue and the message in default color # Function to display [INFO] in blue and the message in default color
info() { info() {
printf "\033[0;34m[INFO]\033[0m %s\n" "$1" printf "\033[0;34m[INFO]\033[0m %s\n" "$1"
} }
# Function to check if the container is running # Function to check if a file exists and delete it
is_container_running() { delete_if_exists() {
[ "$(docker-compose ps -q ${CONTAINER_NAME} | xargs docker inspect -f '{{.State.Status}}' 2>/dev/null)" = "running" ] local file=$1
} if [ -f "$file" ]; then
echo "Deleting file: $file"
# Function to execute commands in the container rm "$file"
execute_in_container() { else
info "Executing command in container: $1" echo "File not found: $file"
docker-compose exec -T "${CONTAINER_NAME}" sh -c "$1"
}
# Check if the container is running
if ! is_container_running; then
info "Warning: Container ${CONTAINER_NAME} is not running. Please start the container and rerun the script."
exit 1
fi fi
}
# Check and delete files
delete_if_exists "$file1"
delete_if_exists "$file2"
# FIX 1: Copying libstdc++.so.6 & libgcc_s.so.1 from other source info "${SCRIPT_NAME} completed."
#execute_in_container "mv /data/serverfiles/libstdc++.so.6 /data/serverfiles/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/serverfiles/"
#execute_in_container "mv /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/"
#execute_in_container "mv /data/serverfiles/libgcc_s.so.1 /data/serverfiles/libgcc_s.so.1.bak && cp /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 /data/serverfiles/"
# FIX 2: Removing libstdc++.so.6 & libgcc_s.so.1 and let them get recreated on next container start
execute_in_container "rm /data/serverfiles/libstdc++.so.6"
execute_in_container "rm /data/serverfiles/libgcc_s.so.1"
docker-compose down
info "${SCRIPT_NAME} completed successfully."

41
fix_gcc_container.sh Normal file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
# Set the container name
CONTAINER_NAME="csserver"
SCRIPT_NAME=me=$(basename "$0")
# Function to display [INFO] in blue and the message in default color
info() {
printf "\033[0;34m[INFO]\033[0m %s\n" "$1"
}
# Function to check if the container is running
is_container_running() {
[ "$(docker-compose ps -q ${CONTAINER_NAME} | xargs docker inspect -f '{{.State.Status}}' 2>/dev/null)" = "running" ]
}
# Function to execute commands in the container
execute_in_container() {
info "Executing command in container: $1"
docker-compose exec -T "${CONTAINER_NAME}" sh -c "$1"
}
# Check if the container is running
if ! is_container_running; then
info "Warning: Container ${CONTAINER_NAME} is not running. Please start the container and rerun the script."
exit 1
fi
# FIX 1: Copying libstdc++.so.6 & libgcc_s.so.1 from other source
#execute_in_container "mv /data/serverfiles/libstdc++.so.6 /data/serverfiles/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/serverfiles/"
#execute_in_container "mv /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/libstdc++.so.6.bak && cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /data/.local/share/Steam/steamcmd/linux32/"
#execute_in_container "mv /data/serverfiles/libgcc_s.so.1 /data/serverfiles/libgcc_s.so.1.bak && cp /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 /data/serverfiles/"
# FIX 2: Removing libstdc++.so.6 & libgcc_s.so.1 and let them get recreated on next container start
execute_in_container "rm /data/serverfiles/libstdc++.so.6"
execute_in_container "rm /data/serverfiles/libgcc_s.so.1"
docker-compose down
info "${SCRIPT_NAME} completed successfully."