Initial commit
This commit is contained in:
commit
b46cf2175d
61 changed files with 1622 additions and 0 deletions
66
README.md
Executable file
66
README.md
Executable file
|
@ -0,0 +1,66 @@
|
||||||
|
# FAKE // OS
|
||||||
|
FAKE//OS system utilities and scripts.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
# Philosophy
|
||||||
|
1. **Standardised:** Functions should work consistently across multiple Operating System Distrobutions.
|
||||||
|
2. **Repeatable:** Functions should be able to re-run (for ugrade purposes) without destroying already modified system configurations.
|
||||||
|
3. **Modularity:** Functions should be simple and modular for easy additions and modifications.
|
||||||
|
3. **Error Handeling:** Functions should have good error handeling for use in automated scripts.
|
||||||
|
|
||||||
|
# Supported Operating Systems
|
||||||
|
FAKE//OS aims to be system agnostic, and provide a consistent set of functions (especially for scripting) across a variety of Linux distrobutions, which otherwise don't play well togehter. Currently supported distrobutions include:
|
||||||
|
- Arch Linux _[bash + systemd + pacman/paru]_
|
||||||
|
- Artix Linux _[bash + openrc + pacman/paru]_
|
||||||
|
- Alpine Linux _[ash + openrc + apk]_
|
||||||
|
- Debian Linux _[bash/dash + systemd + apt]_
|
||||||
|
|
||||||
|
# Basic Ussage
|
||||||
|
``` bash
|
||||||
|
FAKE//OS Package and System Manager
|
||||||
|
-----------------------------------
|
||||||
|
usage: fake <command> <arguments>
|
||||||
|
|
||||||
|
Package management commands:
|
||||||
|
install Install new software packages
|
||||||
|
update Update installed software packages
|
||||||
|
remove Remove/Uninstall software packages
|
||||||
|
search Search repository for software packages
|
||||||
|
|
||||||
|
Init/System management commands
|
||||||
|
start Start system daemons
|
||||||
|
stop Stop system daemons
|
||||||
|
restart Restart system daemons
|
||||||
|
enable Add system daemons to default startup PID
|
||||||
|
disable Remove system daemons from default startup PID
|
||||||
|
flush Clear syste caches
|
||||||
|
|
||||||
|
FAKE//OS commands:
|
||||||
|
upgrade Upgrade FAKE//OS to latest git version
|
||||||
|
help Display this help screen
|
||||||
|
```
|
||||||
|
|
||||||
|
# Install FAKE // OS
|
||||||
|
### Automatic Install
|
||||||
|
Copy and paste the folloing into you're commandline terminal:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
curl https://git.fake.onl/fake/fake-os/raw/branch/master/setup.sh | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual Install
|
||||||
|
For manual installation and access to the source-code run the following commands:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
git clone https://git.fake.onl/fake/fake-os.git
|
||||||
|
cd fake-os
|
||||||
|
./setup.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Upgrade Install
|
||||||
|
Once installed FAKE//OS can be upgraded (install the latest version from git.fake.onl) by running the following command:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
fake upgrade
|
||||||
|
```
|
132
setup.sh
Executable file
132
setup.sh
Executable file
|
@ -0,0 +1,132 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Bootstrap Correct Shell ]--------#
|
||||||
|
if [ "$(command -v bash)" ] && [ -z "$BASH_VERSION" ]; then bash setup.sh $@; fi
|
||||||
|
if [ "$(command -v bash)" ] && [ -z "$BASH_VERSION" ]; then exit; fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Check Root ]--------#
|
||||||
|
if [ $(whoami) != "root" ]; then
|
||||||
|
echo ""
|
||||||
|
echo "FAKE//OS setup must be run as 'root'"
|
||||||
|
echo ""
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Check Install Method ]--------#
|
||||||
|
if [ ! -d "src/fake-os" ]; then
|
||||||
|
rm -rf /tmp/fake-os
|
||||||
|
git clone --depth 1 https://git.fake.onl/fake/fake-os.git /tmp/fake-os
|
||||||
|
cd /tmp/fake-os
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Check Version ]--------#
|
||||||
|
if [ -f "/var/cache/fake-os/fake_version.txt" ]; then
|
||||||
|
export TMP_VERSION_LOCAL="$(cat /var/cache/fake-os/fake_version.txt)"
|
||||||
|
export TMP_VERSION_REMOTE="$(git rev-parse HEAD | head -c 10)"
|
||||||
|
if [ "$TMP_VERSION_LOCAL" == "$TMP_VERSION_REMOTE" ]; then
|
||||||
|
if [ "$(command -v _fake_layout_message)" ]; then
|
||||||
|
_fake_layout_message "Version" "$ENV_FAKE_VERSION" "upgrade" "Already up to date..."
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo "FAKE//OS: Already up to date..."
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
unset TMP_VERSION_LOCAL
|
||||||
|
unset TMP_VERSION_REMOTE
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
cat src/fake-os/assets/logos/logo_full.txt
|
||||||
|
echo ""
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ CLI Flag Arguments ]--------#
|
||||||
|
for ARGV in $@; do
|
||||||
|
case $ARGV in
|
||||||
|
-d|--debug) export FAKE_MODE_DEBUG="TRUE" ;;
|
||||||
|
-v|--quiet) export FAKE_MODE_QUIET="TRUE" ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Copy FAKE//OS Files ]--------#
|
||||||
|
echo "Copy FAKE//OS Files"
|
||||||
|
rm -rf /usr/share/fake-os
|
||||||
|
cp -rv src/fake-os /usr/share
|
||||||
|
mkdir -p /var/cache/fake-os
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Log FAKE//OS Version Variable ]--------#
|
||||||
|
echo "$(git rev-parse HEAD | head -c 10)" > /var/cache/fake-os/fake_version.txt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Install Dependencies ]--------#
|
||||||
|
echo "Install FAKE//OS Dependencies"
|
||||||
|
if [ "$(command -v paru)" ]; then
|
||||||
|
paru --noconfirm -S curl figlet git lolcat rsync perl sudo vim
|
||||||
|
elif [ "$(command -v pacman)" ]; then
|
||||||
|
pacman --noconfirm -S curl figlet git lolcat rsync perl sudo vim
|
||||||
|
elif [ "$(command -v apt)" ]; then
|
||||||
|
apt -y install curl figlet git lolcat rsync perl sudo vim
|
||||||
|
elif [ "$(command -v apk)" ]; then
|
||||||
|
apk add curl figlet git rsync perl sudo vim
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Load FAKE//OS Init Script ]--------#
|
||||||
|
. src/fake-os/fake_init.sh --quiet
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Copy User RC Init Script ]--------#
|
||||||
|
mkdir -p /etc/skel
|
||||||
|
|
||||||
|
_fake_layout_heading "Copy InitRC Script"
|
||||||
|
cp -rv src/fake-os/assets/configs/initrc/initrc_$ENV_SHELL.sh /etc/skel/.bashrc
|
||||||
|
cp -rv src/fake-os/assets/configs/initrc/initrc_$ENV_SHELL.sh /etc/skel/.profile
|
||||||
|
|
||||||
|
cp -rv /etc/skel/. /root
|
||||||
|
for TMP_USER in $(ls /home); do
|
||||||
|
if [ ! "$(grep -e fake_init /home/$TMP_USER/.bashrc)" ]; then
|
||||||
|
cp -rv /etc/skel/. /home/$TMP_USER/
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
unset TMP_USER
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Clean Up Junk Files ]--------#
|
||||||
|
_fake_layout_heading "Clean-Up Distro OS Files"
|
||||||
|
|
||||||
|
_fake_utils_config_replace src/fake-os/assets/configs/issue/issue.txt /etc/issue
|
||||||
|
_fake_utils_config_regex "%ENV_DISTRO" "$ENV_DISTRO" "/etc/issue"
|
||||||
|
_fake_utils_config_regex "%ENV_FAKE_VERSION" "$ENV_FAKE_VERSION" "/etc/issue"
|
||||||
|
|
||||||
|
_fake_utils_config_replace src/fake-os/assets/configs/issue/issue-net.txt /etc/issue.net
|
||||||
|
_fake_utils_config_regex "%ENV_DISTRO" "$ENV_DISTRO" "/etc/issue.net"
|
||||||
|
_fake_utils_config_regex "%ENV_FAKE_VERSION" "$ENV_FAKE_VERSION" "/etc/issue.net"
|
||||||
|
|
||||||
|
rm -rf /etc/motd
|
||||||
|
echo 'rm -rf /etc/motd'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Setup Complete ]--------#
|
||||||
|
_fake_layout_heading "FAKE//OS Setup Complete!"
|
5
src/fake-os/assets/configs/initrc/initrc_ash.sh
Executable file
5
src/fake-os/assets/configs/initrc/initrc_ash.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env ash
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Init Bootstrap ]--------#
|
||||||
|
. /usr/share/fake-os/fake_init.sh $@
|
5
src/fake-os/assets/configs/initrc/initrc_bash.sh
Executable file
5
src/fake-os/assets/configs/initrc/initrc_bash.sh
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Init Bootstrap ]--------#
|
||||||
|
. /usr/share/fake-os/fake_init.sh $@
|
4
src/fake-os/assets/configs/issue/issue-net.txt
Normal file
4
src/fake-os/assets/configs/issue/issue-net.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
%ENV_DISTRO: \r (\l) [remote]
|
||||||
|
FAKE//OS Version: %ENV_FAKE_VERSION
|
||||||
|
|
4
src/fake-os/assets/configs/issue/issue.txt
Normal file
4
src/fake-os/assets/configs/issue/issue.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
%ENV_DISTRO: \r (\l)
|
||||||
|
FAKE//OS Version: %ENV_FAKE_VERSION
|
||||||
|
|
9
src/fake-os/assets/logos/logo.txt
Normal file
9
src/fake-os/assets/logos/logo.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
.^!?JJ?7^.
|
||||||
|
^YB#GPYYYPGG?:
|
||||||
|
.5&&J^ .~Y5!
|
||||||
|
Y@&~ !P~
|
||||||
|
:#@B .GP.
|
||||||
|
P@&? !GY
|
||||||
|
:P@@B5J?!: .7P5.
|
||||||
|
7G&@@@@@7 :!?~
|
||||||
|
^7JYJ7. .
|
9
src/fake-os/assets/logos/logo_full.txt
Normal file
9
src/fake-os/assets/logos/logo_full.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
..
|
||||||
|
.:xKX0O00d, _____ _ _ _______ ____ ___ ____
|
||||||
|
dNKc. 'od' | ___/ \ | |/ / ____| / / / / _ \/ ___|
|
||||||
|
kWO .d, | |_ / _ \ | ' /| _| / / / | | | \___ \
|
||||||
|
.WWc oO | _/ ___ \| . \| |___ / / / | |_| |___) |
|
||||||
|
0WX. .kx |_|/_/ \_\_|\_\_____| /_/_/ \___/|____/
|
||||||
|
xWWKOxo; 'xd ---------------------------------------------
|
||||||
|
'oKWWWX' .. Fake Operating System
|
||||||
|
..
|
7
src/fake-os/assets/logos/logo_text.txt
Normal file
7
src/fake-os/assets/logos/logo_text.txt
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
_____ _ _ _______ ____ ___ ____
|
||||||
|
| ___/ \ | |/ / ____| / / / / _ \/ ___|
|
||||||
|
| |_ / _ \ | ' /| _| / / / | | | \___ \
|
||||||
|
| _/ ___ \| . \| |___ / / / | |_| |___) |
|
||||||
|
|_|/_/ \_\_|\_\_____| /_/_/ \___/|____/
|
||||||
|
---------------------------------------------
|
||||||
|
Fake Operating System setup
|
BIN
src/fake-os/assets/other/demo.png
Normal file
BIN
src/fake-os/assets/other/demo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
99
src/fake-os/fake_init.sh
Executable file
99
src/fake-os/fake_init.sh
Executable file
|
@ -0,0 +1,99 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Master Paths ]--------#
|
||||||
|
if ! [ "$(echo $PATH | grep sbin)" ]; then
|
||||||
|
export PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin"
|
||||||
|
fi
|
||||||
|
if ! [ "$(echo $PATH | grep games)" ]; then
|
||||||
|
export PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/games"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ System Variables ]--------#
|
||||||
|
export VISUAL=emacs
|
||||||
|
export EDITOR=vim
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ CLI Flag Arguments ]--------#
|
||||||
|
for ARGV in $@; do
|
||||||
|
case $ARGV in
|
||||||
|
-d|--degub) export FAKE_MODE_DEBUG="TRUE" ;;
|
||||||
|
-q|--quiet) export FAKE_MODE_QUIET="TRUE" ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Terminal Colours ]--------#
|
||||||
|
FCOL0="\e[0m"
|
||||||
|
FCOL1="\e[37m\033[38;5;166m"
|
||||||
|
FCOL2="\e[37m\033[38;5;204m"
|
||||||
|
FCOL3="\e[37m\033[38;5;170m"
|
||||||
|
FCOLGRAD="lolcat -p 4 -S 6 -F 0.1"
|
||||||
|
FCOLBOLD="\e[1m"
|
||||||
|
FCOLITAL="\e[2;3m"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Load Core Modules ]--------#
|
||||||
|
for MODULE in $(find /usr/share/fake-os/modules -name "*.sh"); do
|
||||||
|
. $MODULE
|
||||||
|
done
|
||||||
|
unset MODULE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Load User Modules ]--------#
|
||||||
|
if [ ! -d ~/.local/share/fake-os/modules ]; then
|
||||||
|
mkdir -p ~/.local/share/fake-os/modules;
|
||||||
|
fi
|
||||||
|
for MODULE in $(find ~/.local/share/fake-os/modules -name "*.sh"); do
|
||||||
|
. $MODULE
|
||||||
|
done
|
||||||
|
unset MODULE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ CLI Prompt ]--------#
|
||||||
|
if [ $(whoami) != "root" ]; then
|
||||||
|
PS1="\[${FCOL0}\]\[[${FCOL3}\]\u\[${FCOL0}\]@\[${FCOL3}\]\h\[${FCOL0}\]] \W \$ "
|
||||||
|
else
|
||||||
|
PS1="\[${FCOL0}\]\[[${FCOL1}\]\u\[${FCOL0}\]@\[${FCOL1}\]\h\[${FCOL0}\]] \W \$ "
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Login Display ]--------#
|
||||||
|
echo ""
|
||||||
|
if [ ! "$FAKE_MODE_QUIET" ]; then
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Local Login ]--------#
|
||||||
|
if [ "$ENV_LOGIN" == "local" ]; then
|
||||||
|
if [ "$(command -v lolcat)" ]; then
|
||||||
|
cat /usr/share/fake-os/assets/logos/logo_full.txt | $FCOLGRAD
|
||||||
|
else
|
||||||
|
cat /usr/share/fake-os/assets/logos/logo_full.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ SSH Login ]--------#
|
||||||
|
else
|
||||||
|
if [ "$(command -v figlet)" ]; then
|
||||||
|
figlet -w 1000 $(cat /etc/hostname)
|
||||||
|
else
|
||||||
|
echo "FAKE//OS Login: $(cat /etc/hostname)"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Login Info ]--------#
|
||||||
|
echo ""
|
||||||
|
echo -e "${FCOL1}user:${FCOL0} $(whoami) ${FCOL2}login:${FCOL0} $ENV_LOGIN ${FCOL3}system:${FCOL0} $ENV_ARCH $ENV_DISTRO $ENV_VTAG"
|
||||||
|
echo ""
|
||||||
|
fi
|
13
src/fake-os/modules/debug/fake_debug.sh
Executable file
13
src/fake-os/modules/debug/fake_debug.sh
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#---------[ Fake Debug Pause Function ]--------#
|
||||||
|
_fake_debug () {
|
||||||
|
if [ "$FAKE_MODE_DEBUG" ]; then
|
||||||
|
echo ""
|
||||||
|
read -n 1 -p "Debug Break: Press key to continue..." VOID && echo ""
|
||||||
|
elif [ "$FAKE_MODE_SLOW" ]; then
|
||||||
|
sleep 3
|
||||||
|
fi
|
||||||
|
}
|
12
src/fake-os/modules/debug/fake_debug_error_pause.sh
Executable file
12
src/fake-os/modules/debug/fake_debug_error_pause.sh
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Error Basic Message Function ]--------#
|
||||||
|
_fake_debug_error_pause () {
|
||||||
|
if [ "$FAKE_MODE_DEBUG" ]; then
|
||||||
|
read -n 1 -p "Error: Press any key to continue..." VOID && echo ""
|
||||||
|
elif [ "$FAKE_MODE_SLOW" ]; then
|
||||||
|
sleep 3
|
||||||
|
fi
|
||||||
|
}
|
10
src/fake-os/modules/environment/hw_bootloader.sh
Executable file
10
src/fake-os/modules/environment/hw_bootloader.sh
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect Bootloader Type ]--------#
|
||||||
|
if [ -d "/sys/firmware/efi" ]; then
|
||||||
|
export ENV_BOOTLOADER="UEFI"
|
||||||
|
else
|
||||||
|
export ENV_BOOTLOADER="BIOS"
|
||||||
|
fi
|
6
src/fake-os/modules/environment/hw_cpu_arch.sh
Executable file
6
src/fake-os/modules/environment/hw_cpu_arch.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect CPU Architecture ]--------#
|
||||||
|
export ENV_ARCH=$(uname -m)
|
11
src/fake-os/modules/environment/hw_cpu_make.sh
Executable file
11
src/fake-os/modules/environment/hw_cpu_make.sh
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect CPU Make ]--------#
|
||||||
|
if [ "$(command -v lscpu)" ]; then
|
||||||
|
if [ "$(lscpu | grep Intel)" ]; then export ENV_CPU="intel";
|
||||||
|
elif [ "$(lscpu | grep AMD)" ]; then export ENV_CPU="amd";
|
||||||
|
elif [ "$(lscpu | grep ARM)" ]; then export ENV_CPU="arm";
|
||||||
|
else export ENV_CPU="unkown"; fi
|
||||||
|
else export ENV_CPU="unkown"; fi
|
12
src/fake-os/modules/environment/hw_gpu_make.sh
Executable file
12
src/fake-os/modules/environment/hw_gpu_make.sh
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect GPU Make ]--------#
|
||||||
|
if [ -d "/proc/bus/pci" ] && [ "$(command -v lspci)" ]; then
|
||||||
|
if [ "$(lspci | grep VGA | grep Intel)" ]; then export ENV_GPU="intel";
|
||||||
|
elif [ "$(lspci | grep VGA | grep GeForce)" ]; then export ENV_GPU="nvidia";
|
||||||
|
elif [ "$(lspci | grep VGA | grep AMD)" ]; then export ENV_GPU="amd";
|
||||||
|
else export ENV_GPU="unkown"
|
||||||
|
fi
|
||||||
|
else export ENV_GPU="unknown"; fi
|
32
src/fake-os/modules/environment/hw_mb_chipset.sh
Executable file
32
src/fake-os/modules/environment/hw_mb_chipset.sh
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect Motherboard Chipset ]--------#
|
||||||
|
if [ -d "/sys/devices/virtual/dmi/id" ]; then
|
||||||
|
export ENV_MAKE=$(cat /sys/devices/virtual/dmi/id/sys_vendor)
|
||||||
|
export ENV_MODEL=$(cat /sys/devices/virtual/dmi/id/product_family)
|
||||||
|
elif [ -f "/proc/device-tree/model" ]; then
|
||||||
|
if [ "$(tr -d '\0' < /proc/device-tree/model | grep -a PineTab)" ]; then
|
||||||
|
export ENV_MAKE="Pine64"
|
||||||
|
export ENV_MODEL="PineTab"
|
||||||
|
elif [ "$(tr -d '\0' < /proc/device-tree/model | grep -a PinePhone)" ]; then
|
||||||
|
export ENV_MAKE="Pine64"
|
||||||
|
export ENV_MODEL="PinePhonePro"
|
||||||
|
elif [ "$(tr -d '\0' < /proc/device-tree/model | grep -a 'Zero W')" ]; then
|
||||||
|
export ENV_MAKE="RaspberryPi"
|
||||||
|
export ENV_MODEL="RPi-Zero-W"
|
||||||
|
elif [ "$(tr -d '\0' < /proc/device-tree/model | grep -a 'Pi 2')" ]; then
|
||||||
|
export ENV_MAKE="RaspberryPi"
|
||||||
|
export ENV_MODEL="RPi-2"
|
||||||
|
elif [ "$(tr -d '\0' < /proc/device-tree/model | grep -a 'Pi 4')" ]; then
|
||||||
|
export ENV_MAKE="RaspberryPi"
|
||||||
|
export ENV_MODEL="RPi-4"
|
||||||
|
else
|
||||||
|
export ENV_MAKE="unknown"
|
||||||
|
export ENV_MODEL="unknown"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
export ENV_MAKE="unknown"
|
||||||
|
export ENV_MODEL="unknown"
|
||||||
|
fi
|
6
src/fake-os/modules/environment/hw_memory.sh
Executable file
6
src/fake-os/modules/environment/hw_memory.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Memory Amount ]--------#
|
||||||
|
export ENV_MEMORY=$(free -h | grep 'Mem\|Speicher' | awk '{print $2}')
|
9
src/fake-os/modules/environment/hw_network_type.sh
Executable file
9
src/fake-os/modules/environment/hw_network_type.sh
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect Network Type ]--------#
|
||||||
|
export ENV_NETWORK="none"
|
||||||
|
if [ "$(ip addr | grep inet | grep wlan)" ]; then export ENV_NETWORK="wlan"; fi
|
||||||
|
if [ "$(ip addr | grep inet | grep eth)" ]; then export ENV_NETWORK="eth"; fi
|
||||||
|
if [ "$(ip addr | grep inet | grep enp)" ]; then export ENV_NETWORK="eth"; fi
|
24
src/fake-os/modules/environment/hw_virtual.sh
Executable file
24
src/fake-os/modules/environment/hw_virtual.sh
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect Virtual/Container Environment ]--------#
|
||||||
|
if [ ! "$(cat /proc/1/environ 2>&1 | tr -d '\0' | grep denied)" ]; then
|
||||||
|
if [ "$(cat /proc/1/environ | tr -d '\0' | grep lxc)" ]; then
|
||||||
|
export ENV_VIRTUAL="LXC"
|
||||||
|
export ENV_VTAG="[LXC]"
|
||||||
|
elif [ "$ENV_MAKE" == "QEMU" ]; then
|
||||||
|
export ENV_VIRTUAL="VM"
|
||||||
|
export ENV_VTAG='[QEMU]'
|
||||||
|
else
|
||||||
|
export ENV_VIRTUAL="REAL"
|
||||||
|
fi
|
||||||
|
echo $ENV_VIRTUAL > /var/cache/fake-os/env_virtual.txt
|
||||||
|
else
|
||||||
|
if [ -f /var/cache/fake-os/env_virtual.txt ]; then
|
||||||
|
export ENV_VIRTUAL="$(cat /var/cache/fake-os/env_virtual.txt)"
|
||||||
|
if [ "$ENV_VIRTUAL" != "REAL" ]; then ENV_VTAG="[$ENV_VIRTUAL]"; fi
|
||||||
|
else
|
||||||
|
export ENV_VIRTUAL="UNKNOWN"
|
||||||
|
fi
|
||||||
|
fi
|
16
src/fake-os/modules/environment/os_distro.sh
Executable file
16
src/fake-os/modules/environment/os_distro.sh
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect Operating System Distro ]--------#
|
||||||
|
export ENV_DISTRO=$(cat /etc/os-release | grep "^NAME=" | sed 's/^NAME="\(.*\)"$/\1/g')
|
||||||
|
if [ "$(command -v proxmox-boot-tool)" ]; then export ENV_DISTRO="Proxmox (Debian)"; fi
|
||||||
|
if [ "$(command -v raspi-config)" ]; then export ENV_DISTRO="RaspberryOS (Debian)"; fi
|
||||||
|
|
||||||
|
|
||||||
|
# "Arch Linux"
|
||||||
|
# "Artix Linux"
|
||||||
|
# "Debian GNU/Linux"
|
||||||
|
# "Fedora Linux"
|
||||||
|
# "Proxmox (Debian)"
|
||||||
|
# "RaspberryOS (Debian)"
|
6
src/fake-os/modules/environment/os_fake_version.sh
Executable file
6
src/fake-os/modules/environment/os_fake_version.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect Fake Version ]--------#
|
||||||
|
export ENV_FAKE_VERSION="$(cat /var/cache/fake-os/fake_version.txt)"
|
6
src/fake-os/modules/environment/os_hostname.sh
Executable file
6
src/fake-os/modules/environment/os_hostname.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect System Hostname ]--------#
|
||||||
|
export ENV_HOSTNAME=$(uname -n)
|
9
src/fake-os/modules/environment/os_init_system.sh
Executable file
9
src/fake-os/modules/environment/os_init_system.sh
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect Init System ]--------#
|
||||||
|
if [ "$(command -v systemctl)" ]; then export ENV_INIT="systemd";
|
||||||
|
elif [ "$(command -v rc-service)" ]; then export ENV_INIT="openrc";
|
||||||
|
else export ENV_INIT="unknown";
|
||||||
|
fi
|
10
src/fake-os/modules/environment/os_login_type.sh
Executable file
10
src/fake-os/modules/environment/os_login_type.sh
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Dettect Session Login Type ]--------#
|
||||||
|
if [ "$SSH_TTY" ]; then
|
||||||
|
ENV_LOGIN="ssh";
|
||||||
|
else
|
||||||
|
ENV_LOGIN="local";
|
||||||
|
fi
|
12
src/fake-os/modules/environment/os_package_manager.sh
Executable file
12
src/fake-os/modules/environment/os_package_manager.sh
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Package Manager ]--------#
|
||||||
|
if [ "$(command -v paru)" ]; then export ENV_MANAGER="paru";
|
||||||
|
elif [ "$(command -v pacman)" ]; then export ENV_MANAGER="pacman";
|
||||||
|
elif [ "$(command -v apt)" ]; then export ENV_MANAGER="apt";
|
||||||
|
elif [ "$(command -v apk)" ]; then export ENV_MANAGER="apk";
|
||||||
|
elif [ "$(command -v dnf)" ]; then export ENV_MANAGER="dnf";
|
||||||
|
elif [ "$(command -v yum)" ]; then export ENV_MANAGER="yum";
|
||||||
|
else export ENV_MANAGER="unknown"; fi
|
6
src/fake-os/modules/environment/os_shell.sh
Executable file
6
src/fake-os/modules/environment/os_shell.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect Shell ]--------#
|
||||||
|
export ENV_SHELL="$(echo $SHELL | sed 's/^\/.*\///g')"
|
6
src/fake-os/modules/environment/os_users.sh
Executable file
6
src/fake-os/modules/environment/os_users.sh
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Detect System Users ]--------#
|
||||||
|
export ENV_USERS=$( echo root $(ls /home/))
|
14
src/fake-os/modules/layout/fake_layout_heading.sh
Executable file
14
src/fake-os/modules/layout/fake_layout_heading.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Fake Layout Heading ]--------#
|
||||||
|
_fake_layout_heading () {
|
||||||
|
PADDING=$(perl -E "say \"─\" x $(echo $1 | wc -c)")
|
||||||
|
echo ""
|
||||||
|
echo "┌──$PADDING─┐"
|
||||||
|
echo -e "│ ${FCOLBOLD}$1${FCOL0} │"
|
||||||
|
echo "└──$PADDING─┘"
|
||||||
|
echo ""
|
||||||
|
if [ "$FAKE_MODE_SLOW" ]; then sleep 2; fi
|
||||||
|
}
|
51
src/fake-os/modules/layout/fake_layout_message.sh
Executable file
51
src/fake-os/modules/layout/fake_layout_message.sh
Executable file
|
@ -0,0 +1,51 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Fake Layout Message ]--------#
|
||||||
|
_fake_layout_message () {
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ 6 Arg Message ]--------#
|
||||||
|
if [ "$8" ]; then
|
||||||
|
echo -e "${FCOLBOLD}FAKE//OS${FCOL0} $1: $2"
|
||||||
|
echo -e "[$3]:${FCOLITAL} $4 ${FCOL0}";
|
||||||
|
echo -e "[$5]:${FCOLITAL} $6 ${FCOL0}";
|
||||||
|
echo -e "[$7]:${FCOLITAL} $8 ${FCOL0}";
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ 6 Arg Message ]--------#
|
||||||
|
elif [ "$6" ]; then
|
||||||
|
echo -e "${FCOLBOLD}FAKE//OS${FCOL0} $1: $2"
|
||||||
|
echo -e "[$3]:${FCOLITAL} $4 ${FCOL0}";
|
||||||
|
echo -e "[$5]:${FCOLITAL} $6 ${FCOL0}";
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ 4 Arg Message ]--------#
|
||||||
|
elif [ "$4" ]; then
|
||||||
|
echo -e "${FCOLBOLD}FAKE//OS${FCOL0} $1: $2"
|
||||||
|
echo -e "[$3]:${FCOLITAL} $4 ${FCOL0}";
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ 2 Argument Message ]--------#
|
||||||
|
elif [ "$2" ]; then
|
||||||
|
echo -e "${FCOLBOLD}FAKE//OS${FCOL0} $1:${FCOLITAL} $2 ${FCOL0}"
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ 1 Argument Message ]--------#
|
||||||
|
else
|
||||||
|
echo -e "${FCOLBOLD}FAKE//OS${FCOL0}: $1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Debug Mode ]--------#
|
||||||
|
if [ "$1" == "Error" ] && [ "$FAKE_MODE_SLOW" ]; then sleep 3; fi
|
||||||
|
}
|
10
src/fake-os/modules/layout/fake_layout_subheading.sh
Executable file
10
src/fake-os/modules/layout/fake_layout_subheading.sh
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Fake Layout Sub-Heading ]--------#
|
||||||
|
_fake_layout_subheading () {
|
||||||
|
echo ""
|
||||||
|
echo -e "--------[${FCOLBOLD} $1 ${FCOL0}]--------"
|
||||||
|
if [ "$FAKE_MODE_DEBUG" ]; then sleep 1; fi
|
||||||
|
}
|
8
src/fake-os/modules/layout/fake_layout_submessage.sh
Normal file
8
src/fake-os/modules/layout/fake_layout_submessage.sh
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Fake Layout Message ]--------#
|
||||||
|
_fake_layout_submessage () {
|
||||||
|
echo -e "[$1]:${FCOLITAL} $2 ${FCOL0}";
|
||||||
|
}
|
53
src/fake-os/modules/manager/fake_manager.sh
Executable file
53
src/fake-os/modules/manager/fake_manager.sh
Executable file
|
@ -0,0 +1,53 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Determin Base Distro Package Manager ]--------#
|
||||||
|
if [ $(command -v apt) ]; then FAKE_MANAGER=apt; fi
|
||||||
|
if [ $(command -v apk) ]; then FAKE_MANAGER=apk; fi
|
||||||
|
if [ $(command -v dnf) ]; then FAKE_MANAGER=dnf; fi
|
||||||
|
if [ $(command -v pacman) ]; then FAKE_MANAGER=pacman; fi
|
||||||
|
if [ $(command -v paru) ] && [ "$(whoami)" != "root" ]; then FAKE_MANAGER=paru; fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Package/System Manager ]--------#
|
||||||
|
fake () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Package Management ]--------#
|
||||||
|
if [ "$1" == "update" ]; then _fake_manager_package_update $@;
|
||||||
|
elif [ "$1" == "install" ]; then _fake_manager_package_install $@;
|
||||||
|
elif [ "$1" == "remove" ]; then _fake_manager_package_remove $@;
|
||||||
|
elif [ "$1" == "search" ]; then _fake_manager_package_search $@;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Init/System Management ]--------#
|
||||||
|
elif [ "$1" == "status" ]; then _fake_manager_system_status $@;
|
||||||
|
elif [ "$1" == "start" ]; then _fake_manager_system_start $@;
|
||||||
|
elif [ "$1" == "stop" ]; then _fake_manager_system_stop $@;
|
||||||
|
elif [ "$1" == "restart" ]; then _fake_manager_system_restart $@;
|
||||||
|
elif [ "$1" == "enable" ]; then _fake_manager_system_enable $@;
|
||||||
|
elif [ "$1" == "disable" ]; then _fake_manager_system_disable $@;
|
||||||
|
elif [ "$1" == "flush" ]; then _fake_utils_linux_flushcache $@;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Commandes ]--------#
|
||||||
|
elif [ "$1" == "upgrade" ]; then _fake_manager_upgrade $@;
|
||||||
|
elif [ "$1" == "help" ]; then _fake_manager_help $@;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Error Catch-All ]--------#
|
||||||
|
else
|
||||||
|
_fake_layout_message "$1" "Unrecognised command..."
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Debug Pause ]--------#
|
||||||
|
if [ "$FAKE_MODE_SLOW" ]; then sleep 3; fi
|
||||||
|
}
|
30
src/fake-os/modules/manager/fake_manager_help.sh
Executable file
30
src/fake-os/modules/manager/fake_manager_help.sh
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Manager: Help ]--------#
|
||||||
|
_fake_manager_help () {
|
||||||
|
echo ""
|
||||||
|
echo "FAKE//OS [version] $ENV_FAKE_VERSION"
|
||||||
|
echo "-----------------------------------"
|
||||||
|
echo "usage: fake <command> <arguments>"
|
||||||
|
echo ""
|
||||||
|
echo "Package management commands:"
|
||||||
|
echo " install Install new software packages"
|
||||||
|
echo " update Update installed software packages"
|
||||||
|
echo " remove Remove/Uninstall software packages"
|
||||||
|
echo " search Search repository for software packages"
|
||||||
|
echo ""
|
||||||
|
echo "Init/System management commands"
|
||||||
|
echo " start Start system daemons"
|
||||||
|
echo " stop Stop system daemons"
|
||||||
|
echo " restart Restart system daemons"
|
||||||
|
echo " enable Add system daemons to default startup PID"
|
||||||
|
echo " disable Remove system daemons from default startup PID"
|
||||||
|
echo " flush Clear system caches"
|
||||||
|
echo ""
|
||||||
|
echo "FAKE//OS commands:"
|
||||||
|
echo " upgrade Upgrade FAKE//OS to latest git version"
|
||||||
|
echo " help Display this help screen"
|
||||||
|
echo ""
|
||||||
|
}
|
8
src/fake-os/modules/manager/fake_manager_upgrade.sh
Executable file
8
src/fake-os/modules/manager/fake_manager_upgrade.sh
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Manager: Upgrade FAKE//OS ]--------#
|
||||||
|
_fake_manager_upgrade () {
|
||||||
|
curl https://git.fake.onl/fake/fake-os/raw/branch/master/setup.sh | sudo $ENV_SHELL
|
||||||
|
}
|
44
src/fake-os/modules/manager/package/fake_manager_package_automation.sh
Executable file
44
src/fake-os/modules/manager/package/fake_manager_package_automation.sh
Executable file
|
@ -0,0 +1,44 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Manager: Automation Function ]--------#
|
||||||
|
_fake_manager_package_automation () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse Input Command ]--------#
|
||||||
|
FAKE_CMD="$@"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ 4x Automatic Attmepts ]--------#
|
||||||
|
FAKE_RETRY=0
|
||||||
|
until $FAKE_CMD; do
|
||||||
|
((FAKE_RETRY=FAKE_RETRY+1))
|
||||||
|
if [ $FAKE_RETRY -eq 4 ]; then break; fi
|
||||||
|
_fake_layout_message "Error" "Auto-Retry -> Attempt $FAKE_RETRY..." "retry" "$FAKE_CMD"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ 1x Manual Attempt ]--------#
|
||||||
|
if [ $FAKE_RETRY -eq 4 ]; then
|
||||||
|
FAKE_CMD=$(echo $FAKE_CMD | sed -e 's/--noconfirm//g')
|
||||||
|
FAKE_CMD=$(echo $FAKE_CMD | sed -e 's/-y//g')
|
||||||
|
_fake_layout_message "Error" "Auto-Retry -> Attempt 4 [FINAL]..." "retry" "$FAKE_CMD"
|
||||||
|
$FAKE_CMD
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Autmation Failure ]--------#
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
((FAKE_RETRY=FAKE_RETRY+1))
|
||||||
|
_fake_layout_message "Error" "$FAKE_CMD" "message" "Failed after 4x Auto and 1x Manual attempts..."
|
||||||
|
__fake_debug_error_pause
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
120
src/fake-os/modules/manager/package/fake_manager_package_install.sh
Executable file
120
src/fake-os/modules/manager/package/fake_manager_package_install.sh
Executable file
|
@ -0,0 +1,120 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Manager: Install Software ]--------#
|
||||||
|
_fake_manager_package_install () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Basic Error Handeling ]--------#
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
_fake_layout_message "Error" "Must specify packages..."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse Package Arguments ]--------#
|
||||||
|
else
|
||||||
|
FAKE_PACKAGES=$(echo "$@" | sed -e 's/^install\ //g')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Get Pre-Installed System Pacakges ]--------#
|
||||||
|
SYS_PACKAGES=""
|
||||||
|
case $FAKE_MANAGER in
|
||||||
|
apt) SYS_PACKAGES="$(apt list --installed 2>/dev/null)" ;;
|
||||||
|
apk) SYS_PACKAGES="$(apk list --installed)" ;;
|
||||||
|
dnf) SYS_PACKAGES="$(dnf list --installed)" ;;
|
||||||
|
pacman) SYS_PACKAGES="$(pacman -Qq)" ;;
|
||||||
|
paru) SYS_PACKAGES="$(paru -Qq)" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Sort Packages Already Pre-Installed ]--------#
|
||||||
|
FAKE_PACKAGES_NEW=""
|
||||||
|
FAKE_PACKAGES_OLD=""
|
||||||
|
for TMP_PACKAGE in $FAKE_PACKAGES; do
|
||||||
|
if [ "$(echo $SYS_PACKAGES | grep $TMP_PACKAGE)" ]; then
|
||||||
|
FAKE_PACKAGES_OLD="$FAKE_PACKAGES_OLD $TMP_PACKAGE"
|
||||||
|
else
|
||||||
|
FAKE_PACKAGES_NEW="$FAKE_PACKAGES_NEW $TMP_PACKAGE"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Determin Available Packages ]--------#
|
||||||
|
FAKE_PACKAGES_UNAVAILABLE=""
|
||||||
|
FAKE_PACKAGES_INSTALL=""
|
||||||
|
for TMP_PACKAGE in $FAKE_PACKAGES_NEW; do
|
||||||
|
TMP_FOUND=FALSE
|
||||||
|
case $FAKE_MANAGER in
|
||||||
|
apk)
|
||||||
|
if [ "$(apk search --exact $TMP_PACKAGE)" ];then TMP_FOUND=TRUE; fi
|
||||||
|
;;
|
||||||
|
apt)
|
||||||
|
if [ "$(apt-cache search --names-only $TMP_PACKAGE | grep ^$TMP_PACKAGE\ )" ];then TMP_FOUND=TRUE; fi
|
||||||
|
;;
|
||||||
|
pacman)
|
||||||
|
if [ "$(pacman -Ssq $TMP_PACKAGE | grep ^$TMP_PACKAGE$)" ];then TMP_FOUND=TRUE; fi
|
||||||
|
if [ "$(pacman -Sg $TMP_PACKAGE | awk '{print $1}' | grep ^$TMP_PACKAGE$)" ];then TMP_FOUND=TRUE; fi
|
||||||
|
;;
|
||||||
|
paru)
|
||||||
|
if [ "$(paru -Ssq $TMP_PACKAGE | grep ^$TMP_PACKAGE$)" ];then TMP_FOUND=TRUE; fi
|
||||||
|
if [ "$(paru -Sg $TMP_PACKAGE | awk '{print $1}' | grep ^$TMP_PACKAGE$)" ];then TMP_FOUND=TRUE; fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
if [ "$TMP_FOUND" == "TRUE" ]; then
|
||||||
|
FAKE_PACKAGES_INSTALL="$FAKE_PACKAGES_INSTALL $TMP_PACKAGE"
|
||||||
|
else
|
||||||
|
FAKE_PACKAGES_UNAVAILABLE="$FAKE_PACKAGES_UNAVAILABLE $TMP_PACKAGE"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Build Install Command ]--------#
|
||||||
|
FAKE_CMD=""
|
||||||
|
case $FAKE_MANAGER in
|
||||||
|
apt) FAKE_CMD="sudo apt -y install $FAKE_PACKAGES_INSTALL" ;;
|
||||||
|
apk) FAKE_CMD="sudo apk add $FAKE_PACKAGES_INSTALL" ;;
|
||||||
|
dnf) FAKE_CMD="sudo dnf -y install $FAKE_PACKAGES_INSTALL" ;;
|
||||||
|
pacman) FAKE_CMD="sudo pacman --noconfirm -S $FAKE_PACKAGES_INSTALL" ;;
|
||||||
|
paru) FAKE_CMD="paru --noconfirm -S $FAKE_PACKAGES_INSTALL" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Skip Pre-Installed Pacakges ]--------#
|
||||||
|
if [ ! "$FAKE_PACKAGES_INSTALL" ]; then
|
||||||
|
_fake_layout_message "Install" "No new packages..."
|
||||||
|
if [ "$FAKE_PACKAGES_UNAVAILABLE" ]; then
|
||||||
|
_fake_layout_submessage "unavailable" "$FAKE_PACKAGES_UNAVAILABLE";
|
||||||
|
_fake_debug_error_pause
|
||||||
|
fi
|
||||||
|
if [ "$FAKE_PACKAGES_OLD" ]; then _fake_layout_submessage "up to date" "$FAKE_PACKAGES_OLD"; fi
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Install New Packages ]--------#
|
||||||
|
if [ "$FAKE_PACKAGES_INSTALL" ]; then
|
||||||
|
_fake_layout_message "Install" "$FAKE_CMD"
|
||||||
|
if [ "$FAKE_PACKAGES_UNAVAILABLE" ]; then
|
||||||
|
_fake_layout_submessage "unavailable" "$FAKE_PACKAGES_UNAVAILABLE"
|
||||||
|
_fake_debug_error_pause
|
||||||
|
fi
|
||||||
|
if [ "$FAKE_PACKAGES_OLD" ]; then _fake_layout_submessage "up to date" "$FAKE_PACKAGES_OLD"; fi
|
||||||
|
_fake_layout_submessage "installing" "$FAKE_PACKAGES_INSTALL"
|
||||||
|
echo ""
|
||||||
|
if [ "$FAKE_MODE_DEBUG" ] || [ "$FAKE_MODE_SLOW" ]; then sleep 3; fi
|
||||||
|
_fake_manager_package_automation "$FAKE_CMD"
|
||||||
|
_fake_debug
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
46
src/fake-os/modules/manager/package/fake_manager_package_remove.sh
Executable file
46
src/fake-os/modules/manager/package/fake_manager_package_remove.sh
Executable file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Manager: Remove/Uninstall Software ]--------#
|
||||||
|
_fake_manager_package_remove () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Basic Error Handeling ]--------#
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
_fake_layout_message "Error" "Must specify packages..."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse Package Arguments ]--------#
|
||||||
|
else
|
||||||
|
FAKE_PACKAGES=$(echo "$@" | sed -e 's/^remove\ //g')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Compile Command ]--------#
|
||||||
|
FAKE_CMD=""
|
||||||
|
case $FAKE_MANAGER in
|
||||||
|
apt) FAKE_CMD="sudo apt -y remove $FAKE_PACKAGES" ;;
|
||||||
|
apk) FAKE_CMD="sudo apk del $FAKE_PACKAGES" ;;
|
||||||
|
yum) FAKE_CMD="sudo yum -y remove $FAKE_PACKAGES" ;;
|
||||||
|
pacman) FAKE_CMD="sudo pacman --noconfirm -R $FAKE_PACKAGES" ;;
|
||||||
|
paru) FAKE_CMD="paru --noconfirm -R $FAKE_PACKAGES" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Print Info ]--------#
|
||||||
|
_fake_layout_message "Remove" "$FAKE_CMD" "remove" "$FAKE_PACKAGES"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Run Command ]--------#
|
||||||
|
$FAKE_CMD
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
45
src/fake-os/modules/manager/package/fake_manager_package_search.sh
Executable file
45
src/fake-os/modules/manager/package/fake_manager_package_search.sh
Executable file
|
@ -0,0 +1,45 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Manager: Search Packages ]--------#
|
||||||
|
_fake_manager_package_search () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Basic Error Handeling ]--------#
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
_fake_layout_message "Error" "Must specify packages..."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse Package Arguments ]--------#
|
||||||
|
else
|
||||||
|
FAKE_PACKAGES=$(echo "$@" | sed -e 's/^search\ //g')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Compile Command ]--------#
|
||||||
|
FAKE_CMD=""
|
||||||
|
case $FAKE_MANAGER in
|
||||||
|
apt) FAKE_CMD="apt-cache search $FAKE_PACKAGES" ;;
|
||||||
|
apk) FAKE_CMD="sudo apk search $FAKE_PACKAGES" ;;
|
||||||
|
dnf) FAKE_CMD="sudo dnf search $FAKE_PACKAGES" ;;
|
||||||
|
pacman) FAKE_CMD="pacman -Ss $FAKE_PACKAGES" ;;
|
||||||
|
paru) FAKE_CMD="paru -Ss $FAKE_PACKAGES" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Print Info ]--------#
|
||||||
|
_fake_layout_message "Search" "$FAKE_CMD" "search" "$FAKE_PACKAGES"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Run Command ]--------#
|
||||||
|
$FAKE_CMD
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
61
src/fake-os/modules/manager/package/fake_manager_package_update.sh
Executable file
61
src/fake-os/modules/manager/package/fake_manager_package_update.sh
Executable file
|
@ -0,0 +1,61 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ FAKE//OS Manager: Update Software ]--------#
|
||||||
|
_fake_manager_package_update () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Configure Packages And Command ]--------#
|
||||||
|
FAKE_PACKAGES=""
|
||||||
|
FAKE_CMD=""
|
||||||
|
if [ "$(whoami)" != "root" ]; then echo && echo -n -e "${FCOLBOLD}FAKE//OS${FCOL0} Update "; fi
|
||||||
|
case $FAKE_MANAGER in
|
||||||
|
apt)
|
||||||
|
sudo apt -y update
|
||||||
|
FAKE_CMD="sudo apt -y upgrade"
|
||||||
|
FAKE_PACKAGES="$(apt list --upgradable 2>/dev/null | grep -v 'Listing' | sed -e 's/\/.*$//g' | tr '\n' ' ')"
|
||||||
|
;;
|
||||||
|
apk)
|
||||||
|
sudo apk update
|
||||||
|
FAKE_CMD="sudo apk upgrade"
|
||||||
|
FAKE_PACKAGES="$(apk list --upgradable | awk '{print $1}' | tr '\n' ' ')"
|
||||||
|
;;
|
||||||
|
dnf)
|
||||||
|
sudo dnf -y update
|
||||||
|
FAKE_CMD="sudo yum -y upgrade"
|
||||||
|
;;
|
||||||
|
pacman)
|
||||||
|
sudo pacman -Syyy
|
||||||
|
FAKE_CMD="sudo pacman --noconfirm -Su"
|
||||||
|
FAKE_PACKAGES="$(pacman -Quq | tr '\n' ' ')"
|
||||||
|
;;
|
||||||
|
paru)
|
||||||
|
paru -Syyy
|
||||||
|
FAKE_CMD="paru --noconfirm -Su"
|
||||||
|
FAKE_PACKAGES="$(paru -Quq | tr '\n' ' ')"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Run Command ]--------#
|
||||||
|
if [ "$FAKE_PACKAGES" ]; then
|
||||||
|
_fake_layout_message "Update" "$FAKE_CMD" "update" "$FAKE_PACKAGES"
|
||||||
|
_fake_manager_package_automation "$FAKE_CMD"
|
||||||
|
else
|
||||||
|
_fake_layout_message "Update" "$FAKE_CMD" "update" "No package updates available..."
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Update Other Non-Managed Software ]--------#
|
||||||
|
if [ "$(command -v pihole)" ]; then
|
||||||
|
pihole -up
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
}
|
38
src/fake-os/modules/manager/system/fake_manager_system_disable.sh
Executable file
38
src/fake-os/modules/manager/system/fake_manager_system_disable.sh
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Disable Default System Daemons ]--------#
|
||||||
|
_fake_manager_system_disable () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Basic Error Handeling ]--------#
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
_fake_layout_message "Error" "Must specify system daemon(s)..."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse System Daemons ]--------#
|
||||||
|
else
|
||||||
|
TMP_DAEMONS=$(echo "$@" | sed -e 's/^disable\ //g')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Print Command information ]--------#
|
||||||
|
_fake_layout_message "Disable Default Init Deamon(s)" "$TMP_DAEMONS"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Loop Through Daemons ]--------#
|
||||||
|
for TMP_DAEMON in $TMP_DAEMONS; do
|
||||||
|
case $ENV_INIT in
|
||||||
|
"systemd") sudo systemctl disable $TMP_DAEMON ;;
|
||||||
|
"openrc") sudo rc-update del $TMP_DAEMON ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
38
src/fake-os/modules/manager/system/fake_manager_system_enable.sh
Executable file
38
src/fake-os/modules/manager/system/fake_manager_system_enable.sh
Executable file
|
@ -0,0 +1,38 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Enable Default System Daemons ]--------#
|
||||||
|
_fake_manager_system_enable () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Basic Error Handeling ]--------#
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
_fake_layout_message "Error" "Must specify system daemon(s)..."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse System Daemons ]--------#
|
||||||
|
else
|
||||||
|
TMP_DAEMONS=$(echo "$@" | sed -e 's/^enable\ //g')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Print Command information ]--------#
|
||||||
|
_fake_layout_message "Enable Default Init Deamon(s)" "$TMP_DAEMONS"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Loop Through Daemons ]--------#
|
||||||
|
for TMP_DAEMON in $TMP_DAEMONS; do
|
||||||
|
case $ENV_INIT in
|
||||||
|
"systemd") sudo systemctl enable $TMP_DAEMON ;;
|
||||||
|
"openrc") sudo rc-update add $TMP_DAEMON ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
34
src/fake-os/modules/manager/system/fake_manager_system_restart.sh
Executable file
34
src/fake-os/modules/manager/system/fake_manager_system_restart.sh
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Restart System Daemons ]--------#
|
||||||
|
_fake_manager_system_restart () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Basic Error Handeling ]--------#
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
_fake_layout_message "Error" "Must specify system daemon(s)..."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse System Daemons ]--------#
|
||||||
|
else
|
||||||
|
TMP_DAEMONS=$(echo "$@" | sed -e 's/^restart\ //g')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Print Command information ]--------#
|
||||||
|
_fake_layout_message "Restart System Deamon(s)" "$TMP_DAEMONS"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Run Restart ]--------#
|
||||||
|
_fake_manager_system_stop "$@"
|
||||||
|
_fake_manager_system_start "$@"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
41
src/fake-os/modules/manager/system/fake_manager_system_start.sh
Executable file
41
src/fake-os/modules/manager/system/fake_manager_system_start.sh
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Start System Daemons ]--------#
|
||||||
|
_fake_manager_system_start () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Basic Error Handeling ]--------#
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
_fake_layout_message "Error" "Must specify system daemon(s)..."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse System Daemons ]--------#
|
||||||
|
else
|
||||||
|
TMP_DAEMONS=$(echo "$@")
|
||||||
|
TMP_DAEMONS=$(echo "$TMP_DAEMONS" | sed -e 's/^start\ //g')
|
||||||
|
TMP_DAEMONS=$(echo "$TMP_DAEMONS" | sed -e 's/^restart\ //g')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Print Command information ]--------#
|
||||||
|
if [ "$1" == "start" ]; then _fake_layout_message "Start Deamon(s)" "$TMP_DAEMONS"; fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Loop Through Daemons ]--------#
|
||||||
|
for TMP_DAEMON in $TMP_DAEMONS; do
|
||||||
|
case $ENV_INIT in
|
||||||
|
"systemd") sudo systemctl start $TMP_DAEMON ;;
|
||||||
|
"openrc") sudo rc-service $TMP_DAEMON start ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if [ "$1" == "start" ]; then echo ""; fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
41
src/fake-os/modules/manager/system/fake_manager_system_status.sh
Executable file
41
src/fake-os/modules/manager/system/fake_manager_system_status.sh
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Start System Daemons ]--------#
|
||||||
|
_fake_manager_system_status () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Basic Error Handeling ]--------#
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
_fake_layout_message "Error" "Must specify system daemon(s)..."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse System Daemons ]--------#
|
||||||
|
else
|
||||||
|
TMP_DAEMONS=$(echo "$@")
|
||||||
|
TMP_DAEMONS=$(echo "$TMP_DAEMONS" | sed -e 's/^status\ //g')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Print Command information ]--------#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Loop Through Daemons ]--------#
|
||||||
|
for TMP_DAEMON in $TMP_DAEMONS; do
|
||||||
|
_fake_layout_message "Daemon Status" "$TMP_DAEMON"
|
||||||
|
case $ENV_INIT in
|
||||||
|
"systemd") systemctl status $TMP_DAEMON ;;
|
||||||
|
"openrc") rc-service $TMP_DAEMON status ;;
|
||||||
|
esac
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
41
src/fake-os/modules/manager/system/fake_manager_system_stop.sh
Executable file
41
src/fake-os/modules/manager/system/fake_manager_system_stop.sh
Executable file
|
@ -0,0 +1,41 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Stop System Daemons ]--------#
|
||||||
|
_fake_manager_system_stop () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Basic Error Handeling ]--------#
|
||||||
|
if [ ! "$2" ]; then
|
||||||
|
_fake_layout_message "Error" "Must specify system daemon(s)..."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse System Daemons ]--------#
|
||||||
|
else
|
||||||
|
TMP_DAEMONS=$(echo "$@")
|
||||||
|
TMP_DAEMONS=$(echo "$TMP_DAEMONS" | sed -e 's/^stop\ //g')
|
||||||
|
TMP_DAEMONS=$(echo "$TMP_DAEMONS" | sed -e 's/^restart\ //g')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Print Command information ]--------#
|
||||||
|
if [ "$1" == "stop" ]; then _fake_layout_message "Stop System Deamon(s)" "$TMP_DAEMONS"; fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Loop Through Daemons ]--------#
|
||||||
|
for TMP_DAEMON in $TMP_DAEMONS; do
|
||||||
|
case $ENV_INIT in
|
||||||
|
"systemd") sudo systemctl stop $TMP_DAEMON ;;
|
||||||
|
"openrc") sudo rc-service $TMP_DAEMON stop ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
if [ "$1" == "stop" ]; then echo ""; fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
fi
|
||||||
|
}
|
10
src/fake-os/modules/utils/alias/fake_alias_ls.sh
Executable file
10
src/fake-os/modules/utils/alias/fake_alias_ls.sh
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ LS Alias ]--------#
|
||||||
|
if [ ! "$(command -v busybox)" ]; then
|
||||||
|
alias ls='ls --color=auto' # Colorise LS
|
||||||
|
alias ll="ls -alh" # LL functionality
|
||||||
|
alias ip="ip -c" # Colorise IP
|
||||||
|
fi
|
36
src/fake-os/modules/utils/config/fake_utils_config_add.sh
Executable file
36
src/fake-os/modules/utils/config/fake_utils_config_add.sh
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# $1 - New FAKE//OS config file
|
||||||
|
# $2 - System config file location
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Add To Config File ]--------#
|
||||||
|
_fake_utils_config_add () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Bakup Original Config ]--------#
|
||||||
|
_fake_utils_config_backup ${2}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Message Output ]--------#
|
||||||
|
_fake_layout_message "Append Config" "${2}" "new" "${1}" "cat" "${2}.original + ${2}.fake > ${2}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Append Config ]--------#
|
||||||
|
mkdir -p $(dirname $2)
|
||||||
|
cp -r "${1}" "${2}.fake"
|
||||||
|
cat "${2}.original" > "${2}"
|
||||||
|
cat "${2}.fake" >> "${2}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Debugging ]--------#
|
||||||
|
if [ "$FAKE_MODE_SLOW" ]; then sleep 3; fi
|
||||||
|
}
|
14
src/fake-os/modules/utils/config/fake_utils_config_backup.sh
Executable file
14
src/fake-os/modules/utils/config/fake_utils_config_backup.sh
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# $1 - System config file location
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Backup Config File ]--------
|
||||||
|
_fake_utils_config_backup () {
|
||||||
|
if [ -f "${1}" ] && [ ! -f "${1}.original" ]; then
|
||||||
|
cp -rv "${1}" "${1}.original"
|
||||||
|
fi
|
||||||
|
}
|
39
src/fake-os/modules/utils/config/fake_utils_config_pull.sh
Executable file
39
src/fake-os/modules/utils/config/fake_utils_config_pull.sh
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# $1 - New FAKE//OS config file
|
||||||
|
# $2 - System config file location
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Pull Remote Config Files ]--------#
|
||||||
|
_fake_utils_config_pull () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Git Clone ]--------#
|
||||||
|
if [ "$(echo $1 | grep 'git')" ]; then
|
||||||
|
rm -rf $2
|
||||||
|
mkdir -p $2
|
||||||
|
git clone --depth 1 $1 $2
|
||||||
|
_fake_layout_message "Git Pull" "$1 -> $2" "output" "$(ls $2 | tr '\n' ' ')"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Curl Tar.Gz Pull ]--------#
|
||||||
|
elif [ "$(echo $1 | grep 'tar.gz')" ]; then
|
||||||
|
if [ ! "$(curl -Is $1 | grep '200 OK')" ]; then
|
||||||
|
_fake_layout_message "Error" "Remote file missing..." "missing" "$1"
|
||||||
|
else
|
||||||
|
mkdir -p $2
|
||||||
|
curl $1 | tar xzf - -C $2/
|
||||||
|
_fake_layout_message "Curl Pull" "$1 -> $2" "output" "$(ls $2 | tr '\n' ' ')"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Debugging ]--------#
|
||||||
|
if [ "$FAKE_MODE_SLOW" ]; then sleep 3; fi
|
||||||
|
}
|
47
src/fake-os/modules/utils/config/fake_utils_config_regex.sh
Normal file
47
src/fake-os/modules/utils/config/fake_utils_config_regex.sh
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# $1 - Search String
|
||||||
|
# $2 - Replace String
|
||||||
|
# $3 - System config file location
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Regex Find/Replace Config File ]--------#
|
||||||
|
_fake_utils_config_regex () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Backup Original Config ]--------#
|
||||||
|
_fake_utils_config_backup ${3}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Message Output ]--------#
|
||||||
|
_fake_layout_message "Regex Find and Repalce" "${3}" "search" "${1}" "replace" "${2}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Parse and Clean Variables ]--------#
|
||||||
|
TMP_SEARCH="$1"
|
||||||
|
TMP_SEARCH="$(echo $TMP_SEARCH | sed 's/\//\\\//g' )"
|
||||||
|
TMP_SEARCH="$(echo $TMP_SEARCH | sed 's/\%/\\\%/g' )"
|
||||||
|
|
||||||
|
TMP_REPLACE="$2"
|
||||||
|
TMP_REPLACE="$(echo $TMP_REPLACE | sed 's/\//\\\//g' )"
|
||||||
|
TMP_REPLACE="$(echo $TMP_REPLACE | sed 's/\%/\\\%/g' )"
|
||||||
|
|
||||||
|
TMP_PATH="$3"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Regex Find/Replace Config ]--------#
|
||||||
|
sed -i "s/$TMP_SEARCH/$TMP_REPLACE/g" $TMP_PATH
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Debugging ]--------#
|
||||||
|
if [ "$FAKE_MODE_SLOW" ]; then sleep 3; fi
|
||||||
|
}
|
35
src/fake-os/modules/utils/config/fake_utils_config_replace.sh
Executable file
35
src/fake-os/modules/utils/config/fake_utils_config_replace.sh
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# $1 - New FAKE//OS config file
|
||||||
|
# $2 - System config file location
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Replace Config File ]--------#
|
||||||
|
_fake_utils_config_replace () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Backup Original Config ]--------#
|
||||||
|
_fake_utils_config_backup ${2}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Message Output ]--------#
|
||||||
|
_fake_layout_message "Replace Config" "${2}" "new" "${1}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Replace Config ]--------#
|
||||||
|
mkdir -p $(dirname $2)
|
||||||
|
cp -rv "${1}" "${2}.fake"
|
||||||
|
cp -rv "${1}" "${2}"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Debugging ]--------#
|
||||||
|
if [ "$FAKE_MODE_SLOW" ]; then sleep 3; fi
|
||||||
|
}
|
21
src/fake-os/modules/utils/config/fake_utils_config_restore.sh
Executable file
21
src/fake-os/modules/utils/config/fake_utils_config_restore.sh
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# $1 - New FAKE//OS config file
|
||||||
|
# $2 - System config file location
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Restore Config File ]--------
|
||||||
|
_fake_utils_config_restore () {
|
||||||
|
if [ -f "${1}.original" ]; then
|
||||||
|
cp -r "${1}" "${1}.original"
|
||||||
|
if [ $? == 0 ]; then
|
||||||
|
_fake_layout_message "Restore Config" "${1}" "backup" "${1}.original"
|
||||||
|
cp -rv "${1}.original" "${1}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
_fake_layout_message "Error" "No backup avaiable" "missing" "${1}.original"
|
||||||
|
fi
|
||||||
|
}
|
26
src/fake-os/modules/utils/environment/fake_environment_print.sh
Executable file
26
src/fake-os/modules/utils/environment/fake_environment_print.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Print Environment Variables ]--------#
|
||||||
|
_fake_environment_print () {
|
||||||
|
echo ""
|
||||||
|
echo "$ENV_DISTRO [$ENV_INIT] $ENV_MANAGER"
|
||||||
|
echo "-------------------------------------"
|
||||||
|
echo "$ENV_MAKE $ENV_MODEL"
|
||||||
|
echo ""
|
||||||
|
if [ "$FAKE_MODE_DEBUG" ]; then echo "MODE_DEBUG"; fi
|
||||||
|
if [ "$FAKE_MODE_FAST" ]; then echo "MODE_FAST"; fi
|
||||||
|
if [ "$FAKE_MODE_SLOW" ]; then echo "MODE_SLOW"; fi
|
||||||
|
echo ""
|
||||||
|
if [ "$ENV_VIRTUAL" == "LXC" ]; then
|
||||||
|
echo "cpu: $ENV_CPU $ENV_ARCH $ENV_VTAG"
|
||||||
|
elif [ "$ENV_VIRTUAL" == "VM" ]; then
|
||||||
|
echo "cpu: $ENV_CPU $ENV_ARCH $ENV_VTAG"
|
||||||
|
else
|
||||||
|
echo "cpu: $ENV_CPU $ENV_ARCH"
|
||||||
|
fi
|
||||||
|
echo "mem: $ENV_MEMORY"
|
||||||
|
echo "gpu: $ENV_GPU"
|
||||||
|
echo "net: $ENV_NETWORK"
|
||||||
|
}
|
13
src/fake-os/modules/utils/gnome/fake_utils_gnome_extensions.sh
Executable file
13
src/fake-os/modules/utils/gnome/fake_utils_gnome_extensions.sh
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Gnome Extensions ]--------#
|
||||||
|
_fake_utils_gnome_extensions () {
|
||||||
|
echo " - enable [$1]"
|
||||||
|
if [ "$(_fake_utils_linux_status gdm | grep started)" ]; then
|
||||||
|
gnome-extensions enable "$1"
|
||||||
|
else
|
||||||
|
dbus-launch --exit-with-session gnome-extensions enable "$1"
|
||||||
|
fi
|
||||||
|
}
|
22
src/fake-os/modules/utils/gnome/fake_utils_gnome_settings.sh
Executable file
22
src/fake-os/modules/utils/gnome/fake_utils_gnome_settings.sh
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Gnome Settings ]--------#
|
||||||
|
_fake_utils_gnome_settings () {
|
||||||
|
if [ "$(_fake_utils_linux_status gdm | grep started)" ]; then
|
||||||
|
if [ "$3" ]; then
|
||||||
|
gsettings set "$1" "$2" "$3"
|
||||||
|
echo " - set [$2] $3"
|
||||||
|
else
|
||||||
|
echo "Graphical"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "$3" ]; then
|
||||||
|
dbus-launch --exit-with-session gsettings set "$1" "$2" "$3"
|
||||||
|
echo " - set [$2] $3"
|
||||||
|
else
|
||||||
|
echo "Terminal"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
15
src/fake-os/modules/utils/linux/fake_utils_linux_appdata.sh
Executable file
15
src/fake-os/modules/utils/linux/fake_utils_linux_appdata.sh
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Cache Clear ]--------#
|
||||||
|
_fake_utils_linux_appdata () {
|
||||||
|
if [ ! -L $1 ]; then
|
||||||
|
_fake_layout_message "Move and link" "$1 -> /data/$2"
|
||||||
|
mv -v $1 /data/$2
|
||||||
|
ln -sfv /data/$2 $1
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
_fake_layout_message "$1" "Symlink already exists..."
|
||||||
|
fi
|
||||||
|
}
|
26
src/fake-os/modules/utils/linux/fake_utils_linux_flushcache.sh
Executable file
26
src/fake-os/modules/utils/linux/fake_utils_linux_flushcache.sh
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Cache Clear ]--------#
|
||||||
|
_fake_utils_linux_flushcache () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Flush System Cache In Memory ]--------#
|
||||||
|
TMP_MEM_PRE=$(free -h | grep 'Mem:' | awk '{ print $4}')
|
||||||
|
echo ""
|
||||||
|
sudo -u root $ENV_SHELL -c "sync; echo 3 > /proc/sys/vm/drop_caches"
|
||||||
|
TMP_MEM_POST=$(free -h | grep 'Mem:' | awk '{ print $4}')
|
||||||
|
_fake_layout_message "Clear Cache" "echo 3 > /proc/sys/vm/drop_caches" "free memory" "$TMP_MEM_PRE -> $TMP_MEM_POST"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Flush DNS Cache ]--------#
|
||||||
|
if [ "$(command -v systemctl)" ]; then
|
||||||
|
sudo systemd-resolve --flush-caches
|
||||||
|
sudo resolvectl flush-caches
|
||||||
|
elif [ "$(command -v ndsmasq)" ]; then
|
||||||
|
sudo killall -HUP dnsmasq
|
||||||
|
fi
|
||||||
|
}
|
15
src/fake-os/modules/utils/linux/fake_utils_linux_shellstrap.sh
Executable file
15
src/fake-os/modules/utils/linux/fake_utils_linux_shellstrap.sh
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# $1 - System user
|
||||||
|
# $2 - Command
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Bootstrap User Shell ]--------#
|
||||||
|
_fake_utils_linux_shellstrap () {
|
||||||
|
|
||||||
|
sudo -u "$1" $ENV_SHELL -c ". /usr/share/fake-os/fake_init.sh --quiet && $2"
|
||||||
|
|
||||||
|
}
|
34
src/fake-os/modules/utils/linux/fake_utils_linux_status.sh
Executable file
34
src/fake-os/modules/utils/linux/fake_utils_linux_status.sh
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# $1 - Init System Daemon
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Cache Clear ]--------#
|
||||||
|
_fake_utils_linux_status () {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Get SystemD Data ]--------#
|
||||||
|
if [ "$ENV_INIT" == "systemd" ]; then
|
||||||
|
TMP_ENABLED="$(systemctl status $1 | grep -e 'Loaded' | grep -e 'enabled;')"
|
||||||
|
TMP_STARTED="$(systemctl status $1 | grep -e 'Active' | grep -e 'running')"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Get OpenRC Data ]--------#
|
||||||
|
elif [ "$ENV_INIT" == "openrc" ]; then
|
||||||
|
TMP_ENABLED="$(rc-update -a | grep gdm | grep -e 'boot' -e 'default' -e 'sysinit')"
|
||||||
|
TMP_STARTED="$(rc-service $1 status | grep started)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#--------[ Output Data ]--------#
|
||||||
|
if [ "$TMP_ENABLED" ] && [ "$TMP_STARTED" ]; then echo "enabled started"; fi
|
||||||
|
if [ ! "$TMP_ENABLED" ] && [ "$TMP_STARTED" ]; then echo "disabled started"; fi
|
||||||
|
if [ "$TMP_ENABLED" ] && [ ! "$TMP_STARTED" ]; then echo "enabled stopped"; fi
|
||||||
|
if [ ! "$TMP_ENABLED" ] && [ ! "$TMP_STARTED" ]; then echo "disabled stopped"; fi
|
||||||
|
}
|
Loading…
Reference in a new issue