From f12f30bb7b715e1d4542f164d86f5ff1c33d6b9e Mon Sep 17 00:00:00 2001 From: ysyx2008 <nuoyan_cfan@163.com> Date: Wed, 17 Apr 2024 11:54:06 +0800 Subject: [PATCH] Add automation scripts to support displaying environment information such as RAGFlow repository version, operating system, Python version, etc. in a Linux environment for users to report issues. (#396) ### What problem does this PR solve? Add automation scripts to support displaying environment information such as RAGFlow repository version, operating system, Python version, etc. in a Linux environment for users to report issues. ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- printEnvironment.sh | 67 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 printEnvironment.sh diff --git a/printEnvironment.sh b/printEnvironment.sh new file mode 100644 index 0000000..28bf3db --- /dev/null +++ b/printEnvironment.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +# The function is used to obtain distribution information +get_distro_info() { + local distro_id=$(lsb_release -i -s 2>/dev/null) + local distro_version=$(lsb_release -r -s 2>/dev/null) + local kernel_version=$(uname -r) + + # If lsd_release is not available, try parsing the/etc/* - release file + if [ -z "$distro_id" ] || [ -z "$distro_version" ]; then + distro_id=$(grep '^ID=' /etc/*-release | cut -d= -f2 | tr -d '"') + distro_version=$(grep '^VERSION_ID=' /etc/*-release | cut -d= -f2 | tr -d '"') + fi + + echo "$distro_id $distro_version (Kernel version: $kernel_version)" +} + +# get Git repo name +git_repo_name='' +if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then + git_repo_name=$(basename "$(git rev-parse --show-toplevel)") + if [ $? -ne 0 ]; then + git_repo_name="(Can't get repo name)" + fi +else + git_repo_name="It NOT a Git repo" +fi + +# get CPU type +cpu_model=$(uname -m) + +# get memory size +memory_size=$(free -h | grep Mem | awk '{print $2}') + +# get docker version +docker_version='' +if command -v docker &> /dev/null; then + docker_version=$(docker --version | cut -d ' ' -f3) +else + docker_version="Docker not installed" +fi + +# get python version +python_version='' +if command -v python &> /dev/null; then + python_version=$(python --version | cut -d ' ' -f2) +else + python_version="Python not installed" +fi + +# Print all infomation +echo "Current Repo: $git_repo_name" + +# get Commit ID +git_version=$(git log -1 --pretty=format:'%h') + +if [ -z "$git_version" ]; then + echo "Commit Id: The current directory is not a Git repository, or the Git command is not installed." +else + echo "Commit Id: $git_version" +fi + +echo "Operating system: $(get_distro_info)" +echo "CPU Type: $cpu_model" +echo "Memory: $memory_size" +echo "Docker Version: $docker_version" +echo "Python Version: $python_version" -- GitLab