πŸ–₯️ Bash скрипт Π·Π° Π½Π°Ρ‡Π°Π»Π΅Π½ setup слСд инсталация Π½Π° Ubuntu Server

Bash скрипт Π·Π° Π½Π°Ρ‡Π°Π»Π΅Π½ setup слСд инсталация Π½Π° Ubuntu Server

Π‘Π»Π΅Π΄ инсталиранС Π½Π° Π½ΠΎΠ² Ubuntu Server, чСсто слСдва сСрия ΠΎΡ‚ повтарящи сС Ρ€ΡŠΡ‡Π½ΠΈ дСйствия – инсталиранС Π½Π° инструмСнти, настройка Π½Π° .vimrc ΠΈ Π΄Ρ€.
Π’ΠΎΠ·ΠΈ скрипт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° основнитС ΡΡ‚ΡŠΠΏΠΊΠΈ ΠΈ подготвя ΡΡŠΡ€Π²ΡŠΡ€Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΊΠΈΡ€ΠΈΠ»ΠΈΡ†Π° във Vim.


🎯 Какво ΠΏΡ€Π°Π²ΠΈ ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚:

  • Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΈ инструмСнти (vim, curl, git, wget, htop, nmap, ΠΈ Π΄Ρ€.)
  • Бъздава .vimrc Ρ„Π°ΠΉΠ» с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° UTF-8 ΠΈ ΠΊΠΈΡ€ΠΈΠ»ΠΈΡ†Π° (cp1251, koi8-r)
  • Активира подсвСтка ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π° индСнтация Π·Π° писанС Π½Π° ΠΊΠΎΠ΄

πŸ“œ Π‘ΠΊΡ€ΠΈΠΏΡ‚: postinstall.sh

#!/bin/bash

echo "Настройвам часовата Π·ΠΎΠ½Π°..."
sudo timedatectl set-timezone "Europe/Sofia"

echo "Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ инструмСнти..."
sudo apt update
sudo apt install -y vim curl git wget pwgen htop nmap whois net-tools

echo "Бъздавам .vimrc с настройки Π·Π° ΠΊΠΈΡ€ΠΈΠ»ΠΈΡ†Π° ΠΈ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅..."
cat <<EOF > ~/.vimrc
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8,cp1251,koi8-r

syntax on
set autoindent
set tabstop=4
set shiftwidth=4
set expandtab
EOF

echo "Π“ΠΎΡ‚ΠΎΠ²ΠΎ! БистСмата Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½Π° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°."

πŸ› οΈ Как Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ?

  1. Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°:
nano postinstall.sh

2. ΠŸΠΎΡΡ‚Π°Π²Π΅Ρ‚Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° скрипта.

3. НаправСтС Π³ΠΎ изпълним:

chmod +x postinstall.sh

4. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅:

./postinstall.sh

πŸ’¬ Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ΠΎΠ·ΠΈ скрипт Π΅ чудСсна ΠΎΡ‚ΠΏΡ€Π°Π²Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π° всСки Π½ΠΎΠ² Ubuntu Server. ΠœΠΎΠΆΠ΅Ρ‚Π΅ лСсно Π΄Π° Π³ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€ΠΈΡ‚Π΅ с SSH настройки, hostname, timezone ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ пСрсонални прСдпочитания.

Π•Ρ‚ΠΎ някои прСдлоТСния:

1. Π‘истСмни инструмСнти ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΈ

  • tmux ΠΈΠ»ΠΈ screen β€“ Π·Π° сСсии, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Ρ‚ Π΄Π° работят Π² background.
  • iotop β€“ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° дисков I/O.
  • iftop β€“ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° мрСТовия Ρ‚Ρ€Π°Ρ„ΠΈΠΊ.
  • dstat β€“ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° систСмата.
  • unzip / zip β€“ Ρ€Π°Π±ΠΎΡ‚Π° с Π°Ρ€Ρ…ΠΈΠ²ΠΈ.
  • tree β€“ ΠΏΠΎΠΊΠ°Π·Π²Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° структура Π² Π΄ΡŠΡ€Π²ΠΎΠ²ΠΈΠ΄Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.
  • ncdu β€“ Π°Π½Π°Π»ΠΈΠ· Π½Π° дисковото пространство.
  • rsync β€“ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.
  • jq β€“ Ρ€Π°Π±ΠΎΡ‚Π° с JSON Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ командния Ρ€Π΅Π΄.
  • neofetch β€“ ΠΏΠΎΠΊΠ°Π·Π²Π° основна информация Π·Π° систСмата (ΠΏΠΎ-красив ΠΈΠ·Π³Π»Π΅Π΄).

2. ΠœΡ€Π΅ΠΆΠΎΠ²ΠΈ инструмСнти

  • iputils-ping β€“ ping ΠΊΠΎΠΌΠ°Π½Π΄Π° (понякога Π½Π΅ Π΅ инсталирана ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅).
  • dnsutils β€“ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° dignslookup ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ DNS инструмСнти.
  • traceroute β€“ прослСдяванС Π½Π° мрСТовия ΠΏΡŠΡ‚.
  • mtr-tiny β€“ комбинация ΠΎΡ‚ ping ΠΈ traceroute.
  • telnet β€“ Π·Π° тСстванС Π½Π° ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π΅ (старо, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ).
  • tcpdump β€“ ΠΌΡ€Π΅ΠΆΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€.
  • ncat ΠΈΠ»ΠΈ socat β€“ Π½Π°ΠΏΡ€Π΅Π΄Π½Π°Π»ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ инструмСнти.

3. Π‘игурност

  • fail2ban β€“ Π·Π°Ρ‰ΠΈΡ‚Π° срСщу brute force Π°Ρ‚Π°ΠΊΠΈ.
  • ufw β€“ Uncomplicated Firewall (лСсСн firewall).
  • openssh-server β€“ Π°ΠΊΠΎ Π½Π΅ Π΅ инсталиран ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅.
  • sudo β€“ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Π»ΠΈ Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ.
  • logwatch β€“ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅.
  • rkhunter / lynis β€“ инструмСнти Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° сигурността.

4. Π‘истСмСн ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π»ΠΎΠ³Π²Π°Π½Π΅

  • sysstat β€“ ΡΡŠΠ±ΠΈΡ€Π° статистики Π·Π° систСмата (sariostat ΠΈ Π΄Ρ€.).
  • glances β€“ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° систСмата (ΠΏΠΎ-ΠΌΠΎΠ΄Π΅Ρ€Π΅Π½ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π΅Π½ Π½Π° htop).
  • prometheus-node-exporter β€“ Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Prometheus Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³.

5. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ автоматизация

  • python3 / python3-pip β€“ Π°ΠΊΠΎ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Python скриптовС.
  • ansible β€“ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΠΌΡŠΠ½Ρ‚ (Π°ΠΊΠΎ Ρ‰Π΅ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π·Π° автоматизация).
  • docker.io β€“ Π°ΠΊΠΎ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.
  • build-essential β€“ Π°ΠΊΠΎ Ρ‰Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ (ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° gccmake ΠΈ Π΄Ρ€.).

6. Π”Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ

  • mlocate β€“ Π·Π° Π±ΡŠΡ€Π·ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ (updatedb + locate).
  • bash-completion β€“ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ допълванС Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.
  • zsh + oh-my-zsh β€“ Π°ΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ Zsh вмСсто Bash.
  • ack / silversearcher-ag β€“ Π±ΡŠΡ€Π·ΠΎ Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π² тСкстови Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.

ЀСдя Π‘Π΅Ρ€Π°Ρ„ΠΈΠ΅Π²

ЀСдя Π‘Π΅Ρ€Π°Ρ„ΠΈΠ΅Π²

ЀСдя Π‘Π΅Ρ€Π°Ρ„ΠΈΠ΅Π² e собствСник Π½Π° уСбсайта urocibg.eu. Π’ΠΎΠΉ Π½Π°ΠΌΠΈΡ€Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ Π² Ρ‚ΠΎΠ²Π° Π΄Π° ΠΏΠΎΠΌΠ°Π³Π° Π½Π° Ρ…ΠΎΡ€Π°Ρ‚Π° Π΄Π° Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚ ΠΈ Π½Π°ΠΉ-слоТнитС тСхничСски ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π‘Π΅Π³Π°ΡˆΠ½Π°Ρ‚Π° ΠΌΡƒ Ρ†Π΅Π» Π΅ Π΄Π° пишС лСсни Π·Π° слСдванС статии, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π΄Π° Π½Π΅ Π²ΡŠΠ·Π½ΠΈΠΊΠ²Π°Ρ‚.

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΠΌ Π²ΠΈ Π·Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π΅Ρ‚ΠΎ Π½Π° статията! Ако Π½Π°ΠΌΠ΅Ρ€ΠΈΡ…Ρ‚Π΅ информацията Π·Π° ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄Π°Ρ€ΠΈΡ‚Π΅ посрСдством Π±ΡƒΡ‚ΠΎΠ½ΠΈΡ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ:

Подобни статии