94 lines
2.3 KiB
Bash
94 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
arch () {
|
|
uname -m
|
|
}
|
|
|
|
get_arch () {
|
|
local arch
|
|
arch=$(uname -m)
|
|
[[ ! $arch ]] && return 1
|
|
case $arch in
|
|
x86_64) binArch='amd64' ;;
|
|
armhf) binArch='armv6' ;;
|
|
armv7) binArch='armv7' ;;
|
|
aarch64) binArch='arm64' ;;
|
|
ppc64el|ppc64le) binArch='ppc64le' ;;
|
|
s390x) binArch='s390x' ;;
|
|
.*386.*) binArch='amd32' ;;
|
|
*) return 2 ;;\
|
|
esac;
|
|
echo $binArch
|
|
}
|
|
|
|
function get_os () {
|
|
declare -l os
|
|
os=$(uname -s)
|
|
echo $os
|
|
}
|
|
|
|
function get_platform() {
|
|
echo $(get_os)-$(get_chip_type)
|
|
|
|
}
|
|
|
|
hostinfo () {
|
|
hostnamectl
|
|
echo -e "--------------------------"
|
|
echo kernel: $(uname -r)
|
|
echo chip architecture: $(uname -m)
|
|
echo -e "--------------------------"
|
|
cat /etc/os-release
|
|
echo -e "--------------------------"
|
|
[[ -f /etc/upstream-release/lsb-release ]] && cat /etc/upstream-release/lsb-release
|
|
}
|
|
|
|
|
|
# function get_distro() {
|
|
# source /etc/os-release
|
|
# declare distros=${@:-"arch alpine debian ubuntu"}
|
|
# # echo $ID $ID_LIKE
|
|
# for distro in $distros; do
|
|
# echo $distro $ID $ID_LIKE
|
|
# [[ $ID =~ $distro ]] && echo $distro && return 0
|
|
# [[ $ID_LIKE =~ $distro ]] && echo $distro && return 0
|
|
# done
|
|
# return 1
|
|
# }
|
|
|
|
# function get_release() {
|
|
|
|
# }
|
|
|
|
get_distro() {
|
|
local file=/etc/upstream-release/lsb-release
|
|
if [[ -f $file ]]; then
|
|
echo $(cat $file | tr [:upper:] [:lower:] | grep -Poi '(debian|ubuntu|red hat|centos|arch|alpine)' | uniq)
|
|
return 0
|
|
else
|
|
file=/etc/os-release
|
|
if [[ -f $file ]]; then
|
|
echo $(cat $file | tr [:upper:] [:lower:] | grep -Poi '(debian|ubuntu|red hat|centos|arch|alpine)' | uniq)
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# function get_distro() {
|
|
# /bin/cp /etc/os-release /tmp/os-release.tmp
|
|
# if [[ $1 == "-d" ]]; then
|
|
# shift 1
|
|
# # docker run -it --name get_container_os --rm --entrypoint cat $1 /etc/os-release
|
|
# docker create --name dummy $1 > /dev/null
|
|
# docker cp -L dummy:/etc/os-release /tmp/os-release.tmp
|
|
# docker rm -f dummy > /dev/null
|
|
# # docker run -it --name get_container_os --rm --entrypoint cat $1 /etc/os-release > /tmp/container-os.tmp 2> /dev/null
|
|
# shift 1
|
|
# fi
|
|
# source /tmp/os-release.tmp
|
|
# declare valid=${@:-"alpine debian ubuntu"}
|
|
# # echo $ID $ID_LIKE
|
|
# [[ "${valid}" =~ $ID ]] && echo $ID && return 0
|
|
# [[ "${valid}" =~ $ID_LIKE ]] && echo $ID_LIKE && return 0
|
|
# return 1
|
|
# }
|