diff --git a/fix_gcc.sh b/fix_gcc.sh index 9d2ca90..7ac9777 100644 --- a/fix_gcc.sh +++ b/fix_gcc.sh @@ -1,41 +1,28 @@ #!/bin/bash -# Set the container name -CONTAINER_NAME="csserver" -SCRIPT_NAME=me=$(basename "$0") +# File paths +file1="./volumes/serverfiles/libstdc++.so.6" +file2="./volumes/serverfiles/libgcc_s.so.1" +SCRIPT_NAME=$(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 check if a file exists and delete it +delete_if_exists() { + local file=$1 + if [ -f "$file" ]; then + echo "Deleting file: $file" + rm "$file" + else + echo "File not found: $file" + fi } -# 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 and delete files +delete_if_exists "$file1" +delete_if_exists "$file2" -# 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." +info "${SCRIPT_NAME} completed." \ No newline at end of file diff --git a/fix_gcc_container.sh b/fix_gcc_container.sh new file mode 100644 index 0000000..9d2ca90 --- /dev/null +++ b/fix_gcc_container.sh @@ -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."