Подготовка Linux хоста
Страница часто обновляется. Чаще всего использую Ubuntu 22.04 и 24.04.
🧢 База
apt update && apt -y upgrade
# Новый не root юзер (me)
adduser me
usermod -aG sudo me
# Установка docker (с репозитория)
# https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
# Затем \/
groupadd docker
usermod -aG docker me
# Перенос данных через rsync со старого хоста
rsync -azP local-dir/ me@ip:/home/me/remote-dir
# info source: https://linuxize.com/post/how-to-set-or-change-timezone-in-linux/
# текущие настройки
timedatectl
# список зон
timedatectl list-timezones
# установка зоны
sudo timedatectl set-timezone Europe/Moscow
⌨️ tools
tailscale
VPN сеть
# install tailscale
curl -fsSL https://tailscale.com/install.sh | sh
# enable IP forwarding
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf
# start tailscale as exit node
sudo tailscale up --advertise-exit-node
lazygit
Удобный CUI для управления git репозиторием. Пишешь lazygit в папке репозитория и визуально делаешь то, что нужно
Демка gif
# может сработать, но у меня ставило устаревшую версию (не критично, но все же)
apt install lazygit
# иначе
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*') && echo $LAZYGIT_VERSION
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
lazydocker
Аналогичный инструмент для Docker. Используется намного реже
Демка gif
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
sudo install $HOME/.local/bin/lazydocker /usr/bin
gdu
Поиск и чистка диска. Пользуюсь постоянно. По умолчанию ищет большие фа йлы в текущей папке, но я часто делаю gdu /
для поиска по всему диску
Демка jpg
# curl
curl -L https://github.com/dundee/gdu/releases/latest/download/gdu_linux_amd64.tgz | tar xz
chmod +x gdu_linux_amd64
mv gdu_linux_amd64 /usr/bin/gdu
# docker
docker run --rm --init --interactive --tty --privileged --volume /:/mnt/root ghcr.io/dundee/gdu /mnt/root
micro
nano на максималках. Практически полноценный, привычный редактор, но в терминале. Можно легко ставить в docker контейнерах
Демка png
curl https://getmic.ro | bash
sudo install micro /usr/bin
lsd
alias ls=lsd
с иконками
Демка png
apt install lsd
# Если верхнее не сработало, то ищем последнюю версию тут:
# https://github.com/Peltoche/lsd/releases
# Потом примерно так:
curl -L -o lsd.deb https://github.com/lsd-rs/lsd/releases/download/v1.1.5/lsd-musl_1.1.5_amd64.deb && sudo dpkg -i lsd.deb && rm lsd.deb
Настройки lsd:
Если нет иконок: клик
Настройки
mkdir -p ~/.config/lsd
echo "
sorting:
dir-grouping: first
date: +%F %R
" >> ~/.config/lsd/config.yaml
Алиасы в том числе для lsd перечислены ниже в отдельном блоке.