#!/bin/bash # Replacement for the Slackware installer's 'probe' utility to work specifically with the Linode "way". # Copyright (c) 2022: # Darren 'Tadgy' Austin # Licensed under the terms of the GNU General Public License version 3. unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS \ LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION LC_ALL export LANG=C TMP=/tmp rm "$TMP/SeTfdisk" while read -r DISK; do PARTS="$(fdisk -l "$DISK" | sed -nre "/^$(printf "$DISK" | sed -re 's:\/:\\/:g')/ p")" if [[ -z "$PARTS" ]]; then SECTORS="$(fdisk -l | grep -E "^Disk $DISK:" | sed -re 's/^.*, ([[:digit:]]*) sectors$/\1/')" SIZE="$(fdisk -l | grep -E "^Disk $DISK:" | sed -re 's/^.*: ([[:digit:].]*) ([MGTP]).*/\1\2/')" eval "$(blkid -o export "$DISK" | grep TYPE)" if [[ "$TYPE" == "swap" ]]; then TYPE="Linux swap" else TYPE="Linux" fi printf "%s %s %s %s %s\n" "$DISK" "0" "$SECTORS" "$SIZE" "$TYPE" >>"$TMP/SeTfdisk" else printf "%s\n" "$PARTS" >>"$TMP/SeTfdisk" fi done < <(fdisk -l | grep 'Disk /' | sed -re 's/Disk ([^:]*).*/\1/g' | sort) cat "$TMP/SeTfdisk"