Системный администратор - Сетевые технологии - Компьютерная помощь
6.88K subscribers
3.13K photos
4.46K videos
1.06K files
659 links
Канал для системных администраторов или те кто работает в ИТ сфере.
📚КНИГИ ПО
💠Cisco systems
💠Mikrotik
💠VoIP
💠Linux
💠 Windows server
💠 Сетевые технологии
📽Видеоуроки
🤝Поддержка
Наша группа: @SySAD
Feedback bot: @SySADbot
Download Telegram
🧰 Установка и управление пакетами в Linux

🗂 Основные менеджеры пакетов:
- apt — Debian/Ubuntu
- yum, dnf — CentOS, RHEL, Fedora
- pacman — Arch Linux
- snap, flatpak — кроссплатформенные



🟦 apt (Debian/Ubuntu)

apt update                   # Обновить список пакетов
apt upgrade # Обновить установленные пакеты
apt install <пакет> # Установить пакет
apt remove <пакет> # Удалить пакет (оставив конфиги)
apt purge <пакет> # Удалить с конфигами
apt autoremove # Удалить неиспользуемые зависимости
apt search <имя> # Найти пакет
apt show <пакет> # Информация о пакете




🟨 yum (CentOS 7 и старше)

yum check-update             # Проверить обновления
yum update # Обновить всё
yum install <пакет> # Установить
yum remove <пакет> # Удалить
yum info <пакет> # Информация о пакете
yum list installed # Все установленные пакеты
yum search <ключевое_слово> # Поиск




🟥 dnf (Fedora, CentOS 8+)

dnf check-update             # Проверить обновления
dnf upgrade # Обновить всё
dnf install <пакет> # Установить
dnf remove <пакет> # Удалить
dnf info <пакет> # Инфо о пакете
dnf search <имя> # Поиск
dnf list installed # Установленные пакеты




🟩 pacman (Arch Linux и производные)

pacman -Syu                  # Обновить систему
pacman -S <пакет> # Установить пакет
pacman -R <пакет> # Удалить
pacman -Rs <пакет> # Удалить с зависимостями
pacman -Ss <поиск> # Поиск в репозиториях
pacman -Qi <пакет> # Информация о пакете
pacman -Qdt # Найти осиротевшие пакеты




🌀 snap (Canonical, sandboxed)

snap find <пакет>            # Найти
snap install <пакет> # Установить
snap list # Установленные пакеты
snap refresh # Обновить всё
snap remove <пакет> # Удалить




🔵 flatpak (Sandboxed, альтернатива snap)

flatpak search <имя>        # Поиск
flatpak install <репо> <имя> # Установить (обычно `flathub`)
flatpak run <идентификатор> # Запустить
flatpak list # Список установленных
flatpak update # Обновить всё
flatpak uninstall <имя> # Удалить




📌 Примечание:
- snap и flatpak — изолированные окружения, не конфликтуют с системными пакетами.
- Используйте apt, dnf и др. для системных компонентов, а snap/flatpak — для десктопных/изолированных приложений.

@sysadmin1
🤗3👍2🤩21🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
📡 Когда интернет в районе снова лагает…
🐐 Коза не выдержала…
и повесилась на оптоволоконный кабель.
Её спасли и спросили:
— Ты чего творишь?! 😳
Коза спокойно отвечает:
— Интернет слабый… жить невозможно…
💀 Уровень отчаяния: L7
📉 Скорость: “подключено, но не работает”

Коллеги, признавайтесь — у кого тоже интернет доводил до такого? 😅

@sysadmin1
😁6🔥3🤣3🐳21
📌Работа с Docker и контейнерами

Введение
Docker – это инструмент контейнеризации, который позволяет упрощать развертывание и управление приложениями. В этом руководстве мы рассмотрим основные команды и концепции, необходимые для работы с контейнерами.



1. Установка Docker
На Linux (Ubuntu/Debian):
sudo apt update && sudo apt install -y docker.io
sudo systemctl enable --now docker


На CentOS/RHEL:
sudo yum install -y docker
sudo systemctl enable --now docker


Проверка установки:
docker --version




2. Основные команды Docker

2.1 Запуск контейнера (docker run)
Запустить контейнер можно с помощью команды:
docker run -d --name my_container nginx

Параметры:
- -d – фоновый режим
- --name – задание имени контейнеру
- nginx – имя образа

2.2 Список работающих контейнеров
docker ps

Для отображения всех контейнеров (включая остановленные):
docker ps -a


2.3 Остановка и удаление контейнеров
Остановка контейнера:
docker stop my_container

Удаление контейнера:
docker rm my_container


2.4 Запуск команд в работающем контейнере
Выполнить команду в контейнере:
docker exec -it my_container bash




3. Работа с Docker Compose
Docker Compose позволяет управлять несколькими контейнерами с помощью YAML-файла.

3.1 Установка Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose


3.2 Пример docker-compose.yml
Создадим файл docker-compose.yml:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: rootpass


3.3 Запуск и управление сервисами
Запустить контейнеры:
docker-compose up -d

Остановить контейнеры:
docker-compose down

Просмотреть логи:
docker-compose logs -f




4. Работа с образами (Docker Images)

4.1 Список локальных образов
docker images


4.2 Поиск образов
docker search ubuntu


4.3 Загрузка образа
docker pull ubuntu


4.4 Создание своего образа
Создайте Dockerfile:
FROM ubuntu:latest
RUN apt update && apt install -y nginx
CMD ["nginx", "-g", "daemon off;"]

Соберите образ:
docker build -t my_nginx .




5. Работа с томами (Volumes)
Тома используются для хранения данных контейнеров.

5.1 Создание и просмотр томов
Создать новый том:
docker volume create my_volume

Просмотреть список томов:
docker volume ls


5.2 Подключение тома к контейнеру
docker run -d -v my_volume:/data --name my_container nginx


@sysadmin1
3👍3🔥21🎉1
Автоочистка памяти RAM в Linux 🧹

Если сервер начинает тормозить из-за перегруженной оперативной памяти, можно использовать скрипт для её очистки.

🛠️ Скрипт:
#!/bin/bash

echo "Освобождение памяти..."
sync && echo 3 > /proc/sys/vm/drop_caches
echo "Готово! Свободная память увеличена."


📌 Как использовать:
1. Сохраните скрипт в файл, например clear_ram.sh
2. Дайте права на выполнение:

   chmod +x clear_ram.sh

3. Запустите от root:

   sudo ./clear_ram.sh


🕒 Автоматизация через cron
Можно настроить автоматический запуск, например, раз в час:
sudo crontab -e

Добавьте строку:
0 * * * * /path/to/clear_ram.sh


Теперь сервер будет поддерживать оперативную память в чистоте без вашего участия! 🚀

@sysadmin1
👍2🔥2🎉1
📌 Шпаргалка для работы с Grafana + Loki! 🔥

🚀 Grafana + Loki — мощный стек для централизованного логирования и визуализации логов. Loki собирает логи, а Grafana отображает их в удобном интерфейсе.


🔥 1. Установка и настройка

🛠 Установка Loki
📌 На сервере (Linux)
# Создаем директории
mkdir -p /etc/loki /var/lib/loki

# Загружаем последнюю версию Loki
curl -O -L "https://github.com/grafana/loki"

# Даем права на исполнение
chmod +x loki-linux-amd64
mv loki-linux-amd64 /usr/local/bin/loki


📌 Пример конфига /etc/loki/config.yaml
auth_enabled: false

server:
http_listen_port: 3100

ingester:
lifecycler:
ring:
kvstore:
store: inmemory
replication_factor: 1
chunk_idle_period: 5m
chunk_retain_period: 30s

schema_config:
configs:
- from: 2023-01-01
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h

storage_config:
boltdb_shipper:
active_index_directory: /var/lib/loki/index
cache_location: /var/lib/loki/cache
shared_store: filesystem

limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h

chunk_store_config:
max_look_back_period: 0s

table_manager:
retention_deletes_enabled: false
retention_period: 0s


📌 Запуск Loki
loki -config.file=/etc/loki/config.yaml




🛠 Установка Promtail (для сбора логов)
curl -O -L "https://github.com/grafana/loki"
chmod +x promtail-linux-amd64
mv promtail-linux-amd64 /usr/local/bin/promtail


📌 Пример конфига /etc/promtail/config.yaml
server:
http_listen_port: 9080

positions:
filename: /var/lib/promtail/positions.yaml

clients:
- url: http://localhost:3100/loki/api/v1/push

scrape_configs:
- job_name: system_logs
static_configs:
- targets:
- localhost
labels:
job: "varlogs"
host: "server-1"
__path__: /var/log/*.log


📌 Запуск Promtail
promtail -config.file=/etc/promtail/config.yaml




🎨 2. Настройка Grafana
📌 Установка (Debian/Ubuntu)
sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
sudo apt-get update
sudo apt-get install grafana


📌 Запуск и включение в автозагрузку
sudo systemctl start grafana-server
sudo systemctl enable grafana-server


📌 Настройка Grafana для Loki
1. Зайти в веб-интерфейс Grafana (http://<server>:3000)
2. Перейти в ConfigurationData Sources
3. Добавить источник Loki
- URL: http://localhost:3100
- Access: Server
- Save & Test



🔍 3. Запросы в Loki (LogQL)

📝 Базовый синтаксис
{job="varlogs"} | json

🔹 Фильтр по метке (job="varlogs")
🔹 Парсинг JSON

🔍 Фильтрация логов
{job="varlogs"} |= "error"

🔹 Ищет строки, содержащие "error"

{job="varlogs"} != "debug"

🔹 Исключает строки с "debug"

📊 Агрегация логов
rate({job="varlogs"}[5m])

🔹 Подсчет количества записей за последние 5 минут

count_over_time({job="varlogs"}[10m])

🔹 Количество логов за 10 минут

sum by (level) (count_over_time({job="varlogs"}[10m]))

🔹 Подсчет логов по уровням (например, error, info)



🛠 4. Управление и отладка

🚀 Перезапуск сервисов
systemctl restart loki
systemctl restart promtail
systemctl restart grafana-server


📂 Просмотр логов
journalctl -u loki -f
journalctl -u promtail -f
journalctl -u grafana-server -f


🔄 Очистка старых логов
rm -rf /var/lib/loki/*
rm -rf /var/lib/promtail/*


📡 Проверка работы Loki API
curl -s "http://localhost:3100/ready"

Ответ: ready

@sysadmin1
🤩21👍1🔥1🎉1
📌Объединение файлов командой cat

Команда cat (сокращение от «concatenate») в Linux и других UNIX-подобных системах широко используется для работы с текстовыми файлами. Одной из её ключевых возможностей является объединение (конкатенация) нескольких файлов в один.

Основные способы объединения файлов
1. Объединение двух и более файлов в один
Формат команды:
cat file1.txt file2.txt > result.txt

Этот вариант соединяет содержимое file1.txt и file2.txt и записывает его в result.txt. Если result.txt уже существует, он будет перезаписан.

2. Добавление содержимого к существующему файлу
Формат команды:
cat file1.txt >> result.txt

Эта команда добавляет содержимое file1.txt в конец result.txt, сохраняя уже имеющуюся информацию.

3. Объединение всех файлов в директории
Если нужно объединить все текстовые файлы в текущей директории в один файл:
cat *.txt > all_files_combined.txt

Этот вариант объединяет все файлы с расширением .txt в all_files_combined.txt.

Практическое применение
1. Лог-файлы: Объединение нескольких логов в один:

   cat /var/log/syslog.1 /var/log/syslog.2 > syslogs_combined.log

2. Конфигурационные файлы: Создание общего файла конфигурации:

   cat config_part1.conf config_part2.conf > full_config.conf

3. Архивы данных: Объединение частей архивов или дампов БД:

   cat backup_part1.sql backup_part2.sql > full_backup.sql


Проверка результата объединения
После выполнения команды можно проверить содержимое объединённого файла командой:
cat result.txt

Или с постраничным просмотром:
less result.txt


@sysadmin1
2👍21🎉1🏆1
Linux Networking.pdf
5.8 MB
Linux Networking (Eng ver)
Paul Cobbaut (2015)

Посвящен всему, что связано с Linux в сети.

Эта книга предназначена для использования на занятиях под руководством преподавателя. При самостоятельном изучении книги следует читать ее рядом с работающим компьютером с Linux, чтобы сразу же заниматься каждой темой, отрабатывая каждую команду.
Эта книга предназначена для начинающих системных администраторов Linux (и может быть интересна и полезна для домашних пользователей, которые хотят узнать немного больше о своей системе Linux). Однако эта книга не предназначена для ознакомления с настольными приложениями Linux, такими как текстовые редакторы, браузеры, почтовые клиенты, мультимедийные или офисные приложения.

@sysadmin1
11👍1🔥1🎉1
Олды тут?

Пост ностальгии...

— Процессор — 80286 12MHz
— 1MB RAM
— HDD — 2x20 MB
— Стальной корпус с толщиной стенки примерно 2мм

@sysadmin1
👍2