Compare commits
1 Commits
refactor2
...
66aff98afd
| Author | SHA1 | Date | |
|---|---|---|---|
|
66aff98afd
|
@@ -18,7 +18,7 @@ for file in ./install/*; do
|
||||
name=${name%.sh}
|
||||
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||
[ -z "$desc" ] && desc='<no description>'
|
||||
echo -e "##${name}: ${desc}\n${name}:\n\t@${file} install\n" >> Makefile
|
||||
echo -e "##${name}: ${desc}\n${name}:\n\t@${file}\n" >> Makefile
|
||||
done;
|
||||
|
||||
cat << EOF >> Makefile
|
||||
@@ -47,7 +47,7 @@ for file in ./upgrade/*; do
|
||||
name=${name%.sh}
|
||||
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||
[ -z "$desc" ] && desc='<no description>'
|
||||
echo -e "##${CHR_UPGRADE}${name}: ${desc}\n${CHR_UPGRADE}${name}:\n\t@${file} upgrade\n" >> Makefile
|
||||
echo -e "##${CHR_UPGRADE}${name}: ${desc}\n${CHR_UPGRADE}${name}:\n\t@${file}\n" >> Makefile
|
||||
done;
|
||||
|
||||
cat << EOF >> Makefile
|
||||
@@ -62,7 +62,7 @@ for file in ./uninstall/*; do
|
||||
name=${name%.sh}
|
||||
desc=$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${file})
|
||||
[ -z "$desc" ] && desc='<no description>'
|
||||
echo -e "##${CHR_UNINSTALL}${name}: ${desc}\n${CHR_UNINSTALL}${name}:\n\t@${file} remove\n" >> Makefile
|
||||
echo -e "##${CHR_UNINSTALL}${name}: ${desc}\n${CHR_UNINSTALL}${name}:\n\t@${file}\n" >> Makefile
|
||||
done;
|
||||
|
||||
cat << EOF >> Makefile
|
||||
|
||||
@@ -32,10 +32,8 @@ install() {
|
||||
echo 'export PATH="/usr/local/go/bin:$PATH"' >> "$HOME/.profile"
|
||||
echo "export GOPATH=\"\$HOME/.go\"" >> "$HOME/.profile"
|
||||
echo
|
||||
go version
|
||||
go install github.com/go-delve/delve/cmd/dlv@latest
|
||||
go install
|
||||
echo "Finish!"
|
||||
go version
|
||||
}
|
||||
|
||||
remove() {
|
||||
|
||||
69
install/keyd
69
install/keyd
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
##makedesc: Install keyd
|
||||
|
||||
# https://github.com/rvaiya/keyd
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
mkdir -p "$HOME/install"
|
||||
|
||||
install() {
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Installing keyd (latest)"
|
||||
echo "==============================================="
|
||||
echo
|
||||
hash git || { echo "ERROR: git not installed" ; exit 1; }
|
||||
cd "$HOME/install"
|
||||
git clone --depth=1 --single-branch https://github.com/rvaiya/keyd.git "$HOME/install/keyd"
|
||||
cd "$HOME/install/keyd"
|
||||
make && sudo make install
|
||||
sudo systemctl enable --now keyd
|
||||
echo
|
||||
echo "Finish!"
|
||||
}
|
||||
|
||||
upgrade() {
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Upgrading keyd"
|
||||
echo "==============================================="
|
||||
echo
|
||||
hash git || { echo "ERROR: git not installed" ; exit 1; }
|
||||
[ -d "$HOME/install/keyd" ] || { echo "ERROR: repo not found: $HOME/install/keyd" ; exit 1; }
|
||||
cd "$HOME/install/keyd"
|
||||
make && sudo make install
|
||||
sudo systemctl enable --now keyd
|
||||
sudo usermod -aG keyd "$(whoami)"
|
||||
echo
|
||||
echo "Finish!"
|
||||
}
|
||||
|
||||
restart() {
|
||||
sudo systemctl restart keyd
|
||||
}
|
||||
|
||||
reload() {
|
||||
sudo systemctl reload keyd
|
||||
}
|
||||
|
||||
remove() {
|
||||
echo
|
||||
echo "==============================================="
|
||||
echo "Removing keyd"
|
||||
echo "==============================================="
|
||||
echo
|
||||
sudo dpkg -r keyd
|
||||
echo
|
||||
echo "Finish!"
|
||||
echo
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
restart) restart ;;
|
||||
reload) reload ;;
|
||||
u|upgrade|update) upgrade ;;
|
||||
r|remove|d|delete|p|purge) remove ;;
|
||||
*) install ;;
|
||||
esac
|
||||
|
||||
@@ -19,7 +19,7 @@ download "https://dl.pstmn.io/download/latest/linux64" "$HOME/install/postman.ta
|
||||
[Desktop Entry]
|
||||
Name=Postman
|
||||
Exec=$HOME/.local/bin/postman %U
|
||||
Icon=$HOME/install/Postman/app/resources/app/assets/icon.png
|
||||
Icon=$HOME/install/Postman/app/icons/icon_128x128.png
|
||||
Categories=Development,Network
|
||||
Terminal=false
|
||||
Type=Application
|
||||
|
||||
33
install/tilt
33
install/tilt
@@ -1,33 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
mkdir -p ~/install/tilt ~/.local/bin
|
||||
cd ~/install/tilt
|
||||
|
||||
KUBECTL_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
|
||||
curl -LO "https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl"
|
||||
curl -LO "https://dl.k8s.io/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl.sha256"
|
||||
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
|
||||
chmod +x kubectl
|
||||
cp ./kubectl ~/.local/bin/kubectl
|
||||
|
||||
################################################################################
|
||||
|
||||
CTLPTL_URL=$(curl -s "https://api.github.com/repos/tilt-dev/ctlptl/releases/latest" \
|
||||
| jq -r '.assets.[] | select(.name | test("linux.x86_64.tar.gz")).browser_download_url')
|
||||
|
||||
curl -fsSL "$CTLPTL_URL" | tar -xz -C ~/.local/bin ctlptl
|
||||
# chmod +x ~/.local/bin/ctlptl
|
||||
|
||||
################################################################################
|
||||
|
||||
TILT_URL=$(curl -s "https://api.github.com/repos/tilt-dev/tilt/releases/latest" \
|
||||
| jq -r '.assets.[] | select(.name | test("linux.x86_64.tar.gz")).browser_download_url')
|
||||
|
||||
curl -fsSL "$TILT_URL" | tar -xz -C ~/.local/bin tilt
|
||||
# chmod +x ~/.local/bin/tilt
|
||||
cd -
|
||||
|
||||
echo "Version of ctlptl = $(ctlptl version)"
|
||||
echo "Version of tilt = $(tilt version)"
|
||||
echo "Version of kubectl:"
|
||||
kubectl version
|
||||
@@ -1 +0,0 @@
|
||||
AFRAID_TOKEN=6qfkK3VmHf7t4PwvTUJtxNEQ
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/bin/bash
|
||||
# shellcheck disable=SC1091
|
||||
thisdir="$( dirname "$(readlink -e -- "${BASH_SOURCE[0]}")")"
|
||||
|
||||
log() {
|
||||
timestamp="$(date +'%Y-%m-%d %H:%M:%S')"
|
||||
datestamp="$(date +'%Y-%m-%d')"
|
||||
[ ! -d "$thisdir/log" ] && mkdir "$thisdir/log"
|
||||
echo "[$timestamp] $*" >> "$thisdir/log/$datestamp.log"
|
||||
}
|
||||
|
||||
[ ! -f "$thisdir/.env" ] && {
|
||||
log "ERROR: .env not exists"
|
||||
exit 1
|
||||
}
|
||||
|
||||
source "$thisdir/.env"
|
||||
|
||||
[ -z "$AFRAID_TOKEN" ] && {
|
||||
log "ERROR: env var AFRAID_TOKEN not specified"
|
||||
exit 1
|
||||
}
|
||||
|
||||
result=$(curl -s "http://sync.afraid.org/u/${AFRAID_TOKEN}/")
|
||||
log "$result"
|
||||
11
scripts/display-rotate.sh
Executable file
11
scripts/display-rotate.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# X11:
|
||||
# xrandr --listactivemonitors
|
||||
# xrandr --output $OUTPUT --rotate (left|right|normal|...)
|
||||
|
||||
# Wayland KDE: https://www.reddit.com/r/kde/comments/11vrbwc/how_do_i_rotate_the_screen_on_kde_with_wayland/
|
||||
# kscreen-doctor --outputs
|
||||
OUTPUT='HDMI-A-1'
|
||||
[ "$1" ] && DIRECTION="$1" || DIRECTION="normal" # (left|right|normal|inverted)
|
||||
kscreen-doctor "output.$OUTPUT.rotation.$DIRECTION"
|
||||
57
scripts/free-space.sh
Executable file
57
scripts/free-space.sh
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/usr/bin/env bash
|
||||
# Очистка места на диске
|
||||
# https://gist.github.com/anthonyaxenov/02c00c965be4eb5bb163a153abdf4c2b
|
||||
# https://itsfoss.com/free-up-space-ubuntu-linux/
|
||||
|
||||
echo
|
||||
echo
|
||||
df -hx tmpfs
|
||||
echo
|
||||
|
||||
echo
|
||||
echo "[1/5] Removing apt caches and unused packages"
|
||||
echo
|
||||
|
||||
sudo apt autoremove --purge
|
||||
sudo apt autoclean
|
||||
sudo apt clean
|
||||
|
||||
echo
|
||||
echo "[2/5] Removing old system logs"
|
||||
echo
|
||||
|
||||
sudo journalctl --vacuum-time=1d
|
||||
sudo rm -rf /var/log/journal/user-*@*
|
||||
sudo rm -rf /var/log/journal/system*@*
|
||||
sudo rm /var/log/{syslog,dmesg,btmp}.*
|
||||
sudo rm /var/log/{auth,dpkg,kern,alternatives,dmesg}.log.*
|
||||
|
||||
echo
|
||||
echo "[3/5] Cleaning user trash and thumbnails"
|
||||
echo
|
||||
|
||||
rm -rf ~/.local/share/Trash/files/*
|
||||
rm -rf ~/.cache/thumbnails/*
|
||||
|
||||
echo
|
||||
echo "[4/5] Cleaning out dangling docker objects"
|
||||
echo
|
||||
|
||||
docker system prune -f
|
||||
# docker system prune -af
|
||||
|
||||
echo
|
||||
echo "[5/5] Removing disabled unused snaps"
|
||||
echo
|
||||
|
||||
sudo snap list --all \
|
||||
| awk '/disabled/{print $1, $3}' \
|
||||
| while read snapname revision; do
|
||||
sudo snap remove "$snapname" --revision="$revision"
|
||||
done
|
||||
|
||||
echo
|
||||
echo
|
||||
df -hx tmpfs
|
||||
echo
|
||||
echo
|
||||
@@ -1,55 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
################################################################################
|
||||
# НАЗНАЧЕНИЕ: Переключение драйвера для видеокарт AMD GCN 1.0 (Pitcairn/SI).
|
||||
#
|
||||
# ЧТО ИСПРАВЛЯЕТ:
|
||||
# Артефакты, мерцание, черные окна и "шахматную сетку" в Electron-приложениях
|
||||
# (VS Code, Discord, Obsidian, Skype) и браузере Chrome/Chromium в среде KDE.
|
||||
#
|
||||
# ПОЧЕМУ ЭТО НУЖНО:
|
||||
# По умолчанию для старых карт (R7 370 / R9 270X) Ubuntu использует драйвер 'radeon'.
|
||||
# Он стабилен, но плохо поддерживает современное аппаратное ускорение и Vulkan.
|
||||
# Переключение на драйвер 'amdgpu' дает:
|
||||
# 1. Полную поддержку Vulkan API.
|
||||
# 2. Совместимость с современным аппаратным ускорением Chromium.
|
||||
# 3. Повышенную производительность в KDE Plasma (движок KWin).
|
||||
#
|
||||
# ПРИНЦИП РАБОТЫ:
|
||||
# Скрипт передает ядру параметры 'radeon.si_support=0' (отключить старый драйвер
|
||||
# для архитектуры Southern Islands) и 'amdgpu.si_support=1' (включить новый).
|
||||
################################################################################
|
||||
|
||||
# Проверка на права суперпользователя
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "Пожалуйста, запустите скрипт через sudo"
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "--- Настройка AMDGPU для GCN 1.0 (Pitcairn) ---"
|
||||
|
||||
# 1. Резервное копирование конфига Grub
|
||||
cp /etc/default/grub /etc/default/grub.bak
|
||||
echo "[1/4] Бэкап Grub создан: /etc/default/grub.bak"
|
||||
|
||||
# 2. Добавление параметров поддержки amdgpu и отключение старого radeon
|
||||
# Используем sed для вставки параметров в строку GRUB_CMDLINE_LINUX_DEFAULT
|
||||
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="radeon.si_support=0 amdgpu.si_support=1 /' /etc/default/grub
|
||||
echo "[2/4] Параметры ядра добавлены в /etc/default/grub"
|
||||
|
||||
# 3. Обновление конфигурации Grub
|
||||
echo "[3/4] Обновление загрузчика..."
|
||||
update-grub
|
||||
|
||||
# 4. Проверка необходимости внесения в blacklist (опционально, но надежно)
|
||||
if [ ! -f /etc/modprobe.d/amdgpu.conf ]; then
|
||||
echo "options amdgpu si_support=1" > /etc/modprobe.d/amdgpu.conf
|
||||
echo "options radeon si_support=0" >> /etc/modprobe.d/amdgpu.conf
|
||||
echo "[4/4] Конфиг modprobe создан"
|
||||
else
|
||||
echo "[4/4] Конфиг modprobe уже существует"
|
||||
fi
|
||||
|
||||
echo "-------------------------------------------------------"
|
||||
echo "Готово! Перезагрузите компьютер, чтобы изменения вступили в силу."
|
||||
echo "После перезагрузки выполните: lspci -k | grep -EA3 'VGA|3D'"
|
||||
@@ -1,54 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
################################################################################
|
||||
# НАЗНАЧЕНИЕ: Откат изменений и возврат к стандартному драйверу 'radeon'.
|
||||
#
|
||||
# ЗАЧЕМ ЭТО НУЖНО:
|
||||
# Этот скрипт используется, если после перехода на 'amdgpu' возникли проблемы:
|
||||
# 1. Система загружается в черный экран или зависает.
|
||||
# 2. Появились проблемы с выводом звука через HDMI (иногда бывает на GCN 1.0).
|
||||
# 3. Наблюдаются специфические графические баги, которых не было ранее.
|
||||
#
|
||||
# ЧТО ИСПРАВЛЯЕТ:
|
||||
# Возвращает конфигурацию системы к стандартному состоянию Ubuntu. Драйвер
|
||||
# 'radeon' является базовым и максимально стабильным для старых карт AMD,
|
||||
# хотя и не поддерживает современные функции (Vulkan, новый стек Electron).
|
||||
#
|
||||
# ПРИНЦИП РАБОТЫ:
|
||||
# 1. Восстанавливает исходный файл /etc/default/grub из резервной копии.
|
||||
# 2. Удаляет специфические инструкции из /etc/modprobe.d/, которые заставляли
|
||||
# ядро игнорировать карту для драйвера radeon.
|
||||
# 3. Обновляет конфигурацию загрузчика для применения изменений.
|
||||
################################################################################
|
||||
|
||||
# Проверка на права суперпользователя
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo "Пожалуйста, запустите скрипт через sudo"
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "--- Откат изменений и возврат к драйверу Radeon ---"
|
||||
|
||||
# 1. Восстановление Grub из бэкапа или очистка вручную
|
||||
if [ -f /etc/default/grub.bak ]; then
|
||||
mv /etc/default/grub.bak /etc/default/grub
|
||||
echo "[1/3] Конфигурация Grub восстановлена из бэкапа."
|
||||
else
|
||||
# Если бэкапа нет, удаляем параметры через sed
|
||||
sed -i 's/radeon.si_support=0 //g' /etc/default/grub
|
||||
sed -i 's/amdgpu.si_support=1 //g' /etc/default/grub
|
||||
echo "[1/3] Параметры удалены из /etc/default/grub вручную."
|
||||
fi
|
||||
|
||||
# 2. Удаление файлов из modprobe.d
|
||||
if [ -f /etc/modprobe.d/amdgpu.conf ]; then
|
||||
rm /etc/modprobe.d/amdgpu.conf
|
||||
echo "[2/3] Файл /etc/modprobe.d/amdgpu.conf удален."
|
||||
fi
|
||||
|
||||
# 3. Обновление конфигурации Grub
|
||||
echo "[3/3] Обновление загрузчика..."
|
||||
update-grub
|
||||
|
||||
echo "-------------------------------------------------------"
|
||||
echo "Откат завершен. После перезагрузки система вернется на драйвер 'radeon'."
|
||||
0
scripts/ubuntu/lemp.sh
Executable file → Normal file
0
scripts/ubuntu/lemp.sh
Executable file → Normal file
0
scripts/ubuntu/mediasrv.sh
Executable file → Normal file
0
scripts/ubuntu/mediasrv.sh
Executable file → Normal file
0
scripts/ubuntu/server.sh
Executable file → Normal file
0
scripts/ubuntu/server.sh
Executable file → Normal file
@@ -1,22 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
rename() {
|
||||
local dir="$1"
|
||||
echo "Processing: $dir"
|
||||
[ -d "$dir.bak" ] && rm -rf "$dir.bak"
|
||||
mv "$dir" "$dir.bak"
|
||||
}
|
||||
|
||||
dirs=(
|
||||
"$HOME/.config/Code/Cache"
|
||||
"$HOME/.config/Code/CachedData"
|
||||
"$HOME/.config/Code/Code Cache"
|
||||
"$HOME/.config/Code/GPUCache"
|
||||
"$HOME/.config/Code/Service Worker"
|
||||
)
|
||||
|
||||
for dir in "${dirs[@]}"; do
|
||||
rename "$dir"
|
||||
done
|
||||
|
||||
echo "Success"
|
||||
Reference in New Issue
Block a user