#!/bin/bash
# - bof - #



<<'comment'

sudo apt install curl -y;
bash <(curl -s https://www.education.isdevelopment.us/Arch.Ins/Software.Ins/BashFiles.Ins/Data-To-fstab.sh)



# -  - #
# - Change partition label - #

# -  - #
# - fat32 partition - #
sudo fatlabel /dev/vda1 "EFI BOOT";

# -  - #
# - ext4 partition - #
sudo e2label /dev/sda1 Linux;
sudo e2label /dev/vda3 DataTest;

# -  - #
# - Btrfs partition (Mounted) - #
sudo btrfs filesystem label <mountpoint> <newlabel>
sudo btrfs filesystem label / Linux;

# -  - #
# - Btrfs partition (Not mounted) - #
sudo btrfs filesystem label <device> <newlabel>
sudo btrfs filesystem label /dev/sda1 Linux;



cd ~/; rm -rf ~/Dfstab.sh; vim ~/Dfstab.sh;
copy & paste this content
chmod +x ~/Dfstab.sh; ~/./Dfstab.sh;



rm -rf ~/.bashrc;
vim ~/.bashrc;

ssh-keygen -R 192.168.1.1

# - On client - #
cd ~/.ssh;
ssh-keygen -t rsa;

cat ~/.ssh/id_rsa.pub;


# - On server - #
vim ~/.ssh/authorized_keys;



sudo apt install curl git htop inxi net-tools ntp neovim tree -y;

sS1_=$(echo $(lsblk -f | grep $sD_) | awk '{print $2;}');
if [ "$sS1_" == "btrfs" ]; then echo $sS1_; else echo "ext4"; fi;
comment



clear;

sD_=Data;
sUser_=$USER;
nD_=1;
sFs_=/etc/fstab;



# -  - #
# - checkData_ - #
function checkData_(){
  local sD1_=$1;
  local sS1_='' \
        sM1_="\n\n/$sD1_ partition already mounted in the $sFs_ file...\n\n\n" \
        sM2_="\n\n/Data partition/folder already exists...\n\n\n";

  # -  - #
  # - Search /Data in fstab  - #
  sS1_=$(echo $(cat $sFs_ | grep " /$sD1_ ") | awk '{print $2;}');
  if [[ $sS1_ == "/$sD1_" ]]; then 
    echo -e $sM1_; nD_=0; sleep 5; return; fi;

  # -  - #
  # - Search Data in disk partition  - #
  sS1_=$( lsblk -fpe7 | grep -Fo $sD1_ | uniq );
  if [[ $sS1_ == "$sD1_" ]]; then
    nD_=1; return; else nD_=2; fi;

  if [[ -d /$sD_ ]]; then
    echo -e $sM2_; nD_=0; sleep 5; fi;
}



# -  - #
# - mountData_ - #
function mountData_(){
  local sS1_='' \
        sDc_=~/Documents \
        stFs_=~/fstab.tmp \
        sM_="\n\n\nCreating & mounting /Data partition/folder...\n\n";

  echo -e "$sM_";

  # -  - #
  # - Create ~/Documents & /Data folders - #
  mkdir -pv $sDc_;
  sudo mkdir -pv /$sD_;

  # -  - #
  # - Configure Data - #
  sudo chown -R $sUser_:$sUser_ /$sD_;
  sudo chmod -R 775 /$sD_;

  if [[ "$nD_" == "1" ]]; then
    rm -rf $stFs_;
    cat $sFs_ > $stFs_;

    # -  - #
    # - fstab build - #
    UUID=$(echo $(lsblk -f | grep " $sD_ ") | awk '{print $5;}');
    echo "UUID="$UUID"   /$sD_       ext4    defaults                0       2" >> $stFs_;
    sudo mv $stFs_ $sFs_;

    # -  - #
    # - Load fstab - #
    sudo mount -av;
    echo -e "\n\n\nlsblk -fpe7;\n";
    lsblk -fpe7;
  fi;

  echo -e "\n\nData partition/folder was created successfully...\n\n\n"
  sleep 5;
}



checkData_ $sD_
if [[ $nD_ != "0" ]]; then mountData_; fi;



rm -rf ~/Dfstab.sh;

<<'comment'
cd ~/; rm -rf ~/Dfstab.sh; vim ~/Dfstab.sh;
copy & paste this content
chmod +x ~/Dfstab.sh; ~/./Dfstab.sh;
comment



# - eof - #