Добро пожаловать в базу знаний

Виртуальные серверы

🔧 Шаблоны: Centos 6, 7 ; Debian 10, 11 ; Ubuntu 20.04 , 22.04 ; AlpineLinux

 

Диапазоны ip

🇷🇺 Россия: 31.41.44.1 - 31.41.47.254
🇧🇬 Болгария: 185.68.93.1 - 185.68.95.254 (подключение по протоколу BGP: https://stat.ripe.net/widget/whois#w.resource=185.68.93.0-185.68.95.255 )

 

⚙ Каждый VDS сервер изначально настроен на работу с одним IP-адресом. Стоимость подключения каждого дополнительного IP-адреса - 150 рублей в месяц.
К одной VDS можно подключить не более 5 ip, выданных последовательно из одной подсети.

 
 🔎Проверка доступности от VDS до Вашего ip: https://looking.house/company.php?id=14

Управление сервером

Как подключить домен к VDS

Для этого воспользуйтесь услугой DNS хостинга. Инструкция по подключению домена ->тут.

Для этого воспользуйтесь услугой DNS хостинга. Инструкция по подключению домена ->тут.

Информация полезна?
0

Kernel panic - not syncing: attempted to kill init

VDS не пингуется c ошибкой "Kernel panic - not syncing: attempted to kill init!" . Что делать?1) Подключаемся по VNC -> инструкция2)…

VDS не пингуется c ошибкой "Kernel panic - not syncing: attempted to kill init!" . Что делать?
1) Подключаемся по VNC -> инструкция
2) Первым делом, когда ошибка ядра - перезагрузка. Отправляем VDS в перезагрузку. Обычно помогает.

kernel1.jpg
3) Если не помогло, то грузимся с более старого ядра. При перезапуске видим загрузчик GRUB. Стрелочками вниз ↓ и вверх ↑ выбираем более старую версию ОС и нажимаем Enter.

kernel2.jpg

Если хотим все время грузиться с определенного ядра, то выполняем п.4 инструкции: https://qa.yodo.im/t/kak-ya-mogu-zagruzitsya-s-bolee-staroj-versiej-yadra/3468/4

Откуда берется более старая версия OS ?
При обновлении системы ставится новое ядро, а старое остаётся в системе, его можно удалить через apt: https://www.diera.ru/blog/remove-old-kernels-in-ubuntu/

Информация полезна?
0

Управление пакетами в Linux

Программы в Linux Взгляд на распространение ПО различается в системах Windows и Linux. При упаковке готового релиза программы в Windows…
Программы в Linux

Взгляд на распространение ПО различается в системах Windows и Linux. При упаковке готового релиза программы в Windows собирается установочный пакет со всеми библиотеками и модулями для работы программы. Если несколько программ используют одну и ту же библиотеку, то объём каждого приложения кратно увеличится из-за дублирования данных.

В Linux каждое приложение выполняет только свою функцию, но в установочном пакете описаны все дополнительные пакеты или зависимости для работы программы. При запуске команды установки система управления пакетами анализирует перечень зависимостей и устанавливает только те, которых нет на сервере. Для установки стороннего софта можно подключить репозиторий разработчика и установить пакет оттуда. Этот подход позволяет реализовать распределённое использование общих ресурсов.

Системы управления пакетами

В Linux для для установки, обновления и удаления программных пакетов используются пакетные менеджеры:

• yum (Yellowdog Updater Modified) в CentOS, Fedora, AlmaLinux и других дистрибутивов, в основе которых лежит Red Hat.
• apt (Advanced Packaging Tool) или apt-get (устаревший) для дистрибутивов, произошедших от Debian (Ubuntu, Linux Mint и прочих).
• dnf (Dandified YUM) — это следующее поколение утилиты YUM.

Параметры apt

У apt есть несколько команд, которые регулярно используются:

• list выводит список всех доступных пакетов. С параметром --installed выводится список установленных на сервере пакетов. Можно использовать совместно с командой grep для поиска.
• show выводит информацию о пакете, включая список зависимостей и размер.
• install устанавливает указанный пакет вместе со всеми зависимостями.
• remove удаляет пакет из системы, но оставляет конфигурационные файлы и пакеты из зависимостей.
• purge полностью удаляет приложение из системы, вместе с зависимостями и конфигурационными файлами.
• update обновляет список доступных пакетов.
• upgrade обновляет установленные пакеты.

Обновление пакетов

Обновление списка пакетов и установка обновлений - первое, что необходимо сделать после заказа vds, а также периодически выполнять для профилактики взломов.
Обновляем список пакетов из репозитория:
~# sudo apt update
Устанавливаем обновления:
~# sudo apt-get dist-upgrade
Или все вместе
~# sudo apt update && sudo apt dist-upgrade
Данные команды не только обновят все установленные в настоящее время пакеты в вашей системе, но и обработают изменения зависимостей с новыми версиями пакетов.
apt.png

 

Источник:
https://my.rebrainme.com/course/demo/task/2095?utm_campaign=all_all_enkod_email_triggered_webinar&utm_content=webinar&utm_medium=email&utm_source=enkod&utm__rebrain_landing_page=linux-basics

Информация полезна?
0

Применение директивы Alias в Apache

1. Сопоставление URL ресурса с его физическим местоположением в файловой системе, независимо от его местоположения Например, админка MODX и панель…
1. Сопоставление URL ресурса с его физическим местоположением в файловой системе, независимо от его местоположения

Например, админка MODX и панель ISPmanager по умолчанию обе имеют одинаковый адрес: имя_домена/manager
Поэтому, чтобы не возникал конфликт доступа применяем директиву Alias.

Директива Alias берет путь /manager/ в URL и заменяет его на путь к файлу или каталогу /var/www/userXXXX/data/www/domain.ru/manager/
поэтому запрос к http://domain.ru/manager/index.php автоматически переводится в /var/www/userXXXX/data/www/domain.ru/manager/index.php

Обратите внимание, для корректного сопоставления префикса URL с префиксом каталога при включении/исключении косой черты в пути URL необходимо также включить/исключить косую черту в пути к файлу

1) Открываем конфиг апача: nano /etc/apache2/apache2.conf.

В секции VirtualHost добавляем alias:

<VirtualHost 5.9.59.109:81 >

        ServerName domain.ru

        AssignUserID userXXXX userXXXX

        AddType application/x-httpd-php-source .phps

        php_admin_value open_basedir "/var/www/userXXXX/data:."

        ...

        php_admin_value session.save_path "/var/www/userXXXX/data/mod-tmp"

        php_admin_value memory_limit "67108864"

        RLimitCPU 10

        RLimitMEM 67108864

        RLimitNPROC 1

        Alias /manager/ /var/www/userXXXX/data/www/domain.ru/manager/

</VirtualHost>

2) В конфиге nginx так же есть настройка, которая адрес /manager резервирует под панель.
Поэтому открываем конфиг nginx: nano /etc/nginx/nginx.conf
В секции server удаляем или комментируем строку
include /usr/local/ispmgr/etc/nginx.inc; 

server {
                server_name domain.ru www.domain.ru;
                listen 5.9.59.109;

                disable_symlinks if_not_owner from=$root_path;
                location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {

                ....
                root $root_path;}

                location ^~ /webstat/ {
                        auth_basic "Restricted area";
                        auth_basic_user_file /var/www/userXXXX/data/etc/1232443.passwd;
                        try_files $uri @fallback;
                }
                limit_conn userXXXX 2;
            include /usr/local/ispmgr/etc/nginx.inc;
 закомментировать эту строку
                set $root_path /var/www/userXXXX/data/www/domain.ru;
        } 

3) Выполняем restart сереров apache и nginx

4) Проверяем вход в админку MODX по адресу http://domain.ru/manager

 

Кроме директивы Alias для сопоставления можно использовать регулярные выражения (директива AliasMatch) и целые сценарии (директивы ScriptAlias и ScriptAliasMatch). Подробнее об этом -> тут

2. Создание постоянных псевдонимов команд с помощью alias

Например, если необходимо сохранить сложную команду под заданным именем для постоянного применения на сервере. Для этого Вам нужно вписать и сохранить значение alias в файле настроек оболочки (в Debian это Bash :/root/.bashrc)

Синтаксис alias:
• Cоздание псевдонима

alias <имя_псевдонима>=“<значение>/<команда> <аргумент>/<путь_к_файлу>”

1) Открываем файл:
~# nano ~/.bashrc
2) Находим свободное место для добавления псеводнима
и добавляем команду
alias n='service nginx restart'

alias1.png
3) Далее сохраним файл. Он будет автоматически загружен при запуске следующего сеанса.

4) Теперь командой n мы перезагружаем nginx

alias2.png

• Для просмотра всех заданных псеводнимов используется команда alias

alias4.png

• Для удобства можно создать отдельный файл - ~/.bash_aliases, в котором будут храниться все псевдонимы. Также это позволит уменьшить риск работы с ~/.bashrc.

Для этого в конец файла ~/.bashrc нужно добавить строки:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

Далее создать/открыть файл ~/.bash_aliases и вписать туда все нужные псевдонимы.

 Для отключения какого либо псевдонима без его удаления необходимо перед командой указать "\"

При запуске следующего сеанса мы увидим, что команда больше не определена

alias3.png

Информация полезна?
0

Как восстановить пароль root в случае утери (на примере ОС Debian)

Если пароль от VDS утерян, то есть 2 варианта восстановления:- с потерей данных - переустановить VDS. Инструкция -> тут;- без…

Если пароль от VDS утерян, то есть 2 варианта восстановления:
- с потерей данных - переустановить VDS. Инструкция -> тут;
- без потери данных - попытаться переустановить пароль, изменив параметры загрузки.

Последовательность действий для попытки восстановления пароля без потери данных описана ниже.

1. Подключаемся через VNC (Инструкция -> тут)

pass-restore.png

 

2. Перезагружаем машину по кнопке Send CtrlAltDel, в правом верхнем углу.

pass-restore1.png

3. Во время перезапуска жмем 'e' для перехода в режим редактирования

pass-restore2.png

4.  Меняем параметры загрузки

В Debian:

- клавишами и переходим к строке linux /boot, заменяем ro на:

rw init=/bin/bash

- жмем CTRL+X или F10 для запуска системы.

pass-restore3.pngpass-restore4.png

В CentOS:

- выбираем строку, начинающуюся с "kernel /vmlinuz- ", нажмаем "e", чтобы отредактировать ее;

- добавляем параметр "single" после пробела в конце строки, нажимаем Enter;

- затем нажмаем "b", чтобы запустить систему в однопользовательском режиме.

pass-restore5.png

5.  После приглашения ввода команды, для смены пароля указываем стандартную passwd, дважды прописываем новый пароль (он не будет отображаться при вводе)

pass-restore6.png

6. Командой sync записываем все буферизированные изменения. Перезапускаем машину командой reboot -f

 pass-restore7.png

Пароль сменен!

Информация полезна?
0

Где найти данные root-доступа к серверу и к его панели управления

Данные доступа к Виртуальному серверу можно найти в письме, направленном на e-mail при активации сервера. В нем содежится информация с…

Данные доступа к Виртуальному серверу можно найти в письме, направленном на e-mail при активации сервера.

В нем содежится информация с ip адресом VDS, логином и паролем для консольного доступа, а также данные доступа к панели управления сервером.

 root1.png

Информацию о сервере также можно увидеть в биллинговой системе.

Для этого  в разделе "Виртуальные серверы" кликните по строке с услугой и нажмите кнопку "Инструкция" 

VNC6.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

По кнопке "Перейти" Вы можете осуществить беспарольный переход в панель управления сервером, где можно получить информацию о работе сервера, осуществлять его перезагрузку, отключение и переустановку, подключаться по VNC

root2.png

 

Как подключиться к серверу -> по SSH 
Как подключиться к серверу -> по VNC

Информация полезна?
0

Как подключиться под root'ом по SSH после активации VDS

Вход с корневыми правами root запрещен по умолчанию в последних версиях ОС семейства Linux. Чтобы работать безопасно, не выдавая пароля root…

Вход с корневыми правами root запрещен по умолчанию в последних версиях ОС семейства Linux.

Чтобы работать безопасно, не выдавая пароля root и логируя ошибки, предоставим пользователю контролируемые настройками sudo права суперпользователя.

1) C помощью Putty или из коммандной строки Windows подключаемся по ssh под логином: user (пароль предоставляется при активации VDS. Подробнее -> тут);

Процесс подключения в Windows, MacOS и Linux выглядит совершенно идентично:
ssh user@ipv4_адрес

Пример подключения
ssh1.png
2) Переключаемся в режим суперпользователя su - (минус важен!);
3) Командой visudo открываем файл /etc/sudoers и добавляем туда пользователя user с предоставлением административных привелегий:
user ALL = (ALL) ALL , иначе получим ошибку при работе с sudo: user is not in the sudoers file. This incident will be reported
4) Теперь можно работать под user'ом с административными привилегиями, разово указав пароль от пользователя
user@debian:~$ sudo -i - сменит так же и домашний каталог пользователя на /root
[sudo] password for user:
root@debian:~#
root.png

Подробнее о su, su- и sudo:
https://www.altlinux.org/Su
https://help.ubuntu.ru/wiki/суперпользователь_в_ubuntu

В целях безопасности и предотвращения автоматических атак лучше оставить root отключенным и продолжать работать в режиме su или sudo.

А если все же есть необходимость работать непосредственно под root'ом, то инструкция по предоставлению root-доступа тут:
https://wiki.cishost.ru/index.php/Не_могу_зайти_в_SSH


Информация полезна?
0

Как переустановить VDS

Ниже описаны действия, необходимые для переустановки VDS  ! При пересоздании VDS все данные удаляются 1) Переходим в панель управления VDS 2)…

Ниже описаны действия, необходимые для переустановки VDS 

! При пересоздании VDS все данные удаляются

1) Переходим в панель управления VDS

VNC1.jpg

2) Кликаем по синей кнопке управления виртуальными серверами

VNC2.jpg

3) Открываем параметры виртуальной машины, кликнув по заголовку с её описанием

VNC3.jpg

4) Нажать на красную кнопку корзины

reinstall.png

5) Выбираем "Terminate the machine"

reinstall2.png

6) Далее необходимо бновить страницу. Видим, что VDS удалена. Нажимаем кнопку с плюсом "Добавить" 

reinstall3.png

7) Выбираем нужный шаблон новой VDS, нажимаем "Create" ("Создать")

reinstall4.png

 

8) Дожидаемся завершения установки и активации виртуальной машины

reinstall5.png

reinstall6.png

Информация полезна?
0

Как заменить пароль root через VNC (remote console)

1. Подключаемся по VNC -> пошаговая инструкция: https://testdev-www.cishost.ru/faq/vds/upravlenie-serverom/kak-podklyuchitsya-k-serveru-po-vnc  - переходим в панель управления VDS https://vmm.cishost.ru/ или https://vme.cishost.ru/ (биллинговая система - меню услуги -…

1. Подключаемся по VNC -> пошаговая инструкция: https://testdev-www.cishost.ru/faq/vds/upravlenie-serverom/kak-podklyuchitsya-k-serveru-po-vnc  
- переходим в панель управления VDS https://vmm.cishost.ru/ или https://vme.cishost.ru/ (биллинговая система - меню услуги - "Перейти в панель") -> нажимаем синюю кнопку -> кликаем по шапке блока с описанием VDS - нажимаем синюю кнопу с Монитором (remote console)
- после появления экрана консоли нажимаем Enter ;
- указываем логин root и пароль (биллинговая система - меню услуги - "Инструкция") ! Пароль вводится "вслепую" без отображения ;

2. Командой passwd меняем пароль на новый ;
3. Выполняем перезагрузку командой reboot ;
4. Подключаемся по ssh с новым паролем.

 

Информация полезна?
0

Команды для работы с системой и процессами

Статистика who или w - просмотр авторизованных пользователей last - список информации о последних входах в систему, включая время, имя пользователя, ip-адрес…
  • Статистика
  • who или w - просмотр авторизованных пользователей
    • last - список информации о последних входах в систему, включая время, имя пользователя, ip-адрес и длительность сеанса
    • history - история запросов
          • uptime - Продолжительность работы системы и средняя загрузка
            last reboot - показывает историю перезагрузок
      Процессы
      • top или htop - выводит список запущенных процессов и информацию о них
        • ps aux | grep имя_файла/процесса - найти идентификатор процесса по имени файла или его названию, где ps - выводит текущие запущенные процессы
        • Что обозначают буквы в поле STAT при запуске ps -aux или top ?
          R - Процесс выполняется в данный момент
          S - Процесс ожидает выполнение (спит)
          D - Процесс в полной (непрерываемой) спячке, например, ожидает ввода/вывода
          Z - zombie или defunct процесс, т.е. процесс у которого нет родителя.
          T - Процесс остановлен.
          W - процесс в свопе
          < - процесс в приоритетном режиме.
          N - процесс в режиме низкого приоритета
          L - real-time процесс, имеются страницы заблокированные в памяти.
        • lsof | grep имя_файла/процесса – Показывает списки файлов, которые используют процессы
        • kill pid - завершить процесс по его индентификатору id
        • killall processname - завершить все процессы с именем processname
              •  
            Устройства
            • uname -a -показывает информацию о ядре Linux
            • cat /proc/cpuinfo - показывает информацию о процессоре и о количестве ядер: cat /proc/cpuinfo | grep 'cpu cores'
            • cat /proc/meminfo - показывает информацию об оперативной памяти
            • lshw - показывает информацию об устройствах
            • lsblk - показать информацию о жестком диске
            • free -m - псвобождает память: RAM и swap (переключатель -m в MB)
            •  
              Диск
              • df -h - Показывает свободное пространство на смонтированных разделах (в байтах)
              • df -i - Показывает свободные inodes в файловой системе
              • fdisk -l - Показывает информацию о диске, разделах и файловой системе
              • du -sh - Отображает нераспределенное пространство на смонтированных разделах в MB, GB, TB
              • cat /sys/block/sda/queue/rotational - показывает (Начиная с версии ядра 2.6.29 Linux) тип диска hdd или ssd: 0 - значит SSD, если 1 - тогда установлен HDD 
            • Сеть
              • ifconfig -a - проверка настройки сети
              • netstat - отображение различной сетевой информации
Информация полезна?
0

Привилегии cуперпользователя Su - и sudo -i

Доступ под root'ом запрещен по умолчанию для ОС семейства Linux. Чтобы работать безопасно, не выдавая пароля root и логируя ошибки,…

Доступ под root'ом запрещен по умолчанию для ОС семейства Linux. Чтобы работать безопасно, не выдавая пароля root и логируя ошибки, предоставим пользователю контролируемые настройками sudo права суперпользователя.


1. Подключаемся по ssh под user'ом (пароль предоставляется при активацииVDS).
2. Переключаемся в режим суперпользователя su - (минус важен!).
3. Командой visudo открываем файл /etc/sudoers и добавляем туда пользователя user с предоставлением административных привелегий:
user ALL = (ALL) ALL , иначе получим ошибку при работе с sudo: user is not in the sudoers file. This incident will be reported

sudoers.jpg

4. Теперь можно работать под user'ом с административными привилегиями, разово указав пароль от пользователя
user@debian:~$ sudo -i - сменит так же и домашний каталог пользователя на /root
[sudo] password for user:
root@debian:~#

Подробнее о su, su- и sudo:
https://www.altlinux.org/Su
https://help.ubuntu.ru/wiki/суперпользователь_в_ubuntu

А если все же есть необходимость работать непосредственно под root'ом, то инструкция по предоставлению root-доступа тут:
https://wiki.cishost.ru/index.php/Не_могу_зайти_в_SSH

Информация полезна?
0

Бесплатные панели управления HestiaCP/VestaCP/FastPanel для VDS, пример установки

Примерный перечень бесплатных панелей управления VestaCP -  https://vestacp.com/ + файловый менеджер  https://sprut.ioMyVESTA -  https://www.myvestacp.com/Hestia -  https://www.hestiacp.com/Control-WebPanel -  https://control-webpanel.com/aaPanel -  https://www.aapanel.com/index.htmlBrainy -  https://brainycp.com/,FastPanel -  https://fastpanel.direct/cPanel вместе с WHMCS Сравнение панелей…
Примерный перечень бесплатных панелей управления

VestaCP -  https://vestacp.com/ + файловый менеджер  https://sprut.io
MyVESTA -  https://www.myvestacp.com/
Hestia -  https://www.hestiacp.com/
Control-WebPanel [CWP] -  https://control-webpanel.com/
aaPanel -  https://www.aapanel.com/index.html
Brainy -  https://brainycp.com/,
FastPanel -  https://fastpanel.direct/
cPanel вместе с WHMCS

Сравнение панелей приводится -> тут

Некоторые из них, например HestiaCP и VestaCP имеют в своем арсенале конфигуратор для дальнейшей установки в пару кликов.

Общий принцип установки панелей HestiaCP/VestaCP на VDS

1. Заказываем VDS:  https://www.cishost.ru/vds ;
2. Задаем параметры панели:
HestiaCP:  https://hestiacp.com/install.html ;

hestiaCP.jpg
VestaCP: https://vestacp.com/install/ ;

vestaCP.jpg
3. Получаем 2 готовые команды для установки панели по SSH .

4. По завершении установки переходим в панель по адресу

https://<IP-адрес сервера>:порт/

Порты по умолчанию для различных панелей: 

:1500 - ISPmanager
:8002 - BrainyCP
:8083 - VestaCP
:8083 - HestiaCP
:8888 - FastPanel
:10000 - Webmin + плагин Virtualmin
:2082 - Cpanel
:2222 - DirectAdmin

 

Пример установки панели HestiaCP на VDS с Ubuntu 22.04

1. Заказываем VDShttps://www.cishost.ru/vds , выбрав самую свежую версию ОС

2. После активации подключаемся по ssh c правами root ( команда su - ) и актуализируем пакеты:

~# apt-get update && apt-get dist-upgrade

3. Ставим пакет, позволяющий приложениям на основе SSL проверять подлинность соединений SSL:

~# apt-get install ca-certificates

4. На странице установки панели Hestia CP: https://hestiacp.com/install.html , - задаем нужную конфигурацию сервера, указываем какие сервисы и службы должны быть установлены

hestiaCP2.jpg

5. Далее по ssh с правами root выполняем команды, сгенерированные на основе выбранной нами конфигурации

hestiaCP3.jpg

6. Дожидаемся завершения установки панели HestiaCP

hestiaCP5.jpghestiaCP6.jpg

7. В конце для завершения установки нам будет предложено нажать любую клавишу, после чего VDS будет перезагужена. Процесс перезагрузки можно наблюдать через VNC.

hestiaCP7.jpghestiaCP8.jpg

8. После завершения перезагрузки можно подключаться к панели по адресу:

https://<IP-адрес сервера>:порт/

Порт по умолчанию для HestiaCP/VestaCP - 8083

hestiaCP4.jpg

 

Как установить Fast Panel на CentOS 7


1) Обновляем все установленные в системе пакеты:
# yum update
2) Пересоздаем кеш пакетов заново, устанавливаем загрузчик файлов
# yum makecache; yum install wget
3) Отключаем SELinux: https://linuxize.com/post/how-to-disable-selinux-on-centos-7/
в /etc/selinux/config:
SELINUX=disabled
4) Перезапускаем VDS:
# shutdown -r now
5) Устанавливаем панель:
wget repo.fastpanel.direct/install_fastpanel.sh -O - | bash -

Если возникла ошибка:
MariaDB-server-10.6.16-1.el7.centos.x86_64: [Errno 256] No more mirrors to try. Обновляем пакеты для MariaDB: https://mariadb.org/download/?t=repo-config&d=CentOS+7&v=10.6&r_m=truenetwork
и заново производим установку панели по п.5

7) Задаем пароль пользователя панели fastuser:
# passwd fastuser
Изменяется пароль пользователя fastuser.
Новый пароль : *****
Повторите ввод нового пароля :*****

8) Переходим в панель.
https://ip_адрес_Вашего_сервера:8888
Логин: fastuser.
Пароль:*****

fastpanel.jpg

Информация полезна?
0

Как подключиться к серверу по VNC

Консоль VNC (Virtual Network Computing) — система удалённого управления виртуальным сервером. Для подключения к консоли нужно выполнить следующие шаги. 1)…

Консоль VNC (Virtual Network Computing) — система удалённого управления виртуальным сервером. Для подключения к консоли нужно выполнить следующие шаги.

1) Переходим в панель управления VDS

VNC1.jpg

2) Кликаем по синей кнопке управления виртуальными серверами

VNC2.jpg

3) Открываем параметры виртуальной машины, кликнув по заголовку с её описанием

VNC3.jpg

4) Запускаем консоль VNC (Virtual Network Computing — система удалённого управления виртуальным сервером)

VNC4.jpg

5) Активируем консоль кликом по черному окну, нажимаем Enter

VNC5.jpg

6) Вручную вбиваем логин root и пароль (посмотреть можно в биллинге по кнопке «Инструкция")

VNC6.jpg

VNC7.jpg

7) По завершении работ в консоли не забываем выйти из сессии командой exit

VNC8.jpg

 

 

Информация полезна?
0

Статьи по настройке

О маршрутизации по протоколу BGP

Хостинг-провайдер CISHost предоставляет услуги VDS в России и Болгарии на собственных адресах. Используются диапазоны: Россия: 31.41.44.1 - 31.41.47.254;Болгария: 185.68.93.1 - 185.68.95.254. Протокол BGP позволяет…

Хостинг-провайдер CISHost предоставляет услуги VDS в России и Болгарии на собственных адресах. Используются диапазоны: 
Россия: 31.41.44.1 - 31.41.47.254;
Болгария: 
185.68.93.1 - 185.68.95.254.

Протокол BGP позволяет выбрать какие сети и где анонсировать, то есть какую из подсетей прикреплять к России, а какую к Болгарии. При этом совсем не обязательно подцеплять целиком всю сеть. Самая маленькая единица /24. 
О том, как определить границы, имея IP и маску с длиной 21 сети читайте тут: https://vk.com/wall-29173255_8632, о вычислении ip адресов доступных к выдаче из заданной подсети: https://vk.com/@cishostru-razbiraemsya-s-ip-rossiiskoi-podseti-314140021https://vk.com/@cishostru-razbiraemsya-s-ip-rossiiskoi-podseti-314140021, о маске подсети (чем меньше длина маски, тем больше диапазон) - тут: https://vk.com/wall-29173255_8631, IP калькулятор:https://ivit.pro/services/ip-kalkulyator/

Общий принцип подключения сети по протоколу BGP

При настройке выбираем какую сеть анонсировать, создаем нужный route объект в БД RIPE и анонсируем через BGP. При настройке указываются AS (номера автономных сетей ASN) соседних провайдеров. Таблицы маршрутизации с номерами AS, через которые проходят пакеты, есть на BGP роутерах, называются full view. Подробнее тут: https://linkmeup.gitbook.io/sdsm/8.-bgp-i-ip-sla/2.-bgp/2.-nastroika-bgp-i-praktika/1.-full-view-i-default-route

Пример настройки интерфейса BGP на маршрутизаторах Microtik приведен в статье:
https://itproffi.ru/nastrojka-bgp-na-marshrutizatorah-mikrotik/

Пример того, как выглядит настройка BGP на российском роутере Microtik (на скриншотах)

BGP1.png

BGP3.png
BGP2.pngBGP4.png

! IP BGP шлюза могут быть атакованы, в результате чего может упасть сеть, поэтому в целях безопасности реальные ip скрыты.

Инциденты с BGP
В связи с тем, что BGP не имеет встроенных механизмов верификации маршрутов, сети BGP подвержены различного рода атакам, таким как утечка и подмена BGP-маршрутов (атаки BGP hijacking), взлом BGP-маршрутизаторов, BGP- перехват (https://www.securitylab.ru/news/490369.php?R=1https://habr.com/ru/companies/mws/articles/459400/). Поэтому, как вариант, для защиты от DDos ЦОДы сами анонсируют сети, при этом атакуемые IP сбрасываются в blackhole, внедряются инструменты проверки маршрутов, обнаружения подмены маршрутов, разрабатываются международные стандарты (MANRS) обмена маршрутами в сети.

Варианты подключения в видео: https://youtu.be/ZfAxtNp_ZU0
- Если есть своя сеть, но нет AS, то можно "подселиться" к AS ЦОДа и работать с этого ЦОДА
- Можно договориться о BGP сессии с двумя провайдерами ISP-1 и ISP-2, оба выдадут маршруты по умолчанию и можно ходить по маршруту того провайдера, который нам больше нравится. В этом случае надо второй иметь маршрутизатор. То есть должно быть 2 точки включения (между которыми так же должно быть соединение).

Об IP в Болгарии
Нам часто задают вопрос, о том что IP адрес VDS сервера, заказанного в Болгарии, некоторыми сервисами определяется как российский.
Мы, компания зарегистрированная в РФ и используем собственные IP-адреса, подключенные по протоколу BGP, возможно поэтому некоторые IP-lookup сервисы и определяют локацию некорректно. Официальный источник занимающийся регистрацией автономных сетей (RIPE NCC), подтверждает информацию о том что сеть используется на территории Болгарии:
https://stat.ripe.net/widget/whois#w.resource=185.68.93.0-185.68.95.255
Официальный источник (country: BG): https://apps.db.ripe.net/db-web-ui/query?searchtext=185.68.9X.XX

BGP5.pngBGP6.png

Информация полезна?
0

Поддержка NVMe m2 SSD на VDS

Мы не раз указывали о наличии поддержки NVMe m.2 SSD на всехcерверах CISHost. Что же это означает?SSD-диск, Solid State Drive, — это твердотельный накопитель,…

Мы не раз указывали о наличии поддержки NVMe m.2 SSD на всех
cерверах CISHost. Что же это означает?

SSD-диск, Solid State Drive, — это твердотельный накопитель, сохраняет информацию на полупроводниковых чипах в ячейках памяти, Главное отличие от HDD — в отсутствии движущихся частей. В результате чего — занимает меньше места, бесшумный, более надежный (не «изнашивается» из-за чтения данных), быстрее записывает и считывает данные. Для сравнения: время полной загрузки Windows 7 у HDD составляет в среднем 49 секунд, а у SSD — 19 секунд.

NVMe (Non-Volatile Memory Host Controller Interface Specification) — это стандарт передачи данных с ним скорость SSD может достигать до 3,2 ГБ/с, что в 6 раз больше, чем у SATA 3, изначально разрабатываемого для HDD-дисков.

M.2 — это форм-фактор SSD. Это тот же SSD, но без пластикового корпуса: просто плата, на которой расположены чипы, контроллер, буферная память. Накопители SSD M.2 подключаются в специальные слоты, без кабелей питания или шлейфов. Питаются от материнской платы.

Подробнее: https://selectel.ru/blog/ssd-m2-nvme/

Точно узнать hdd или ssd используется на VDS нельзя, так как сервер виртуальный, для физических серверов DS можно воспользоваться командой:

 
root@s14:~# cat /sys/block/sda/queue/rotational
1
root@s14:~#
 
Начиная с версии ядра 2.6.29 Linux автоматически опеределяет SSD и HDD диски.
Если в результате вы получаете 0 - значит SSD, если 1 - тогда установлен HDD.

nvme.png



Информация полезна?
0

Как проверить, запущен ли сервис на VDS

Вариант1 ~# service название status или ~$ systemctl status название.service active (running) означает, что сервис запущен и работает. enabled означает, что он…

Вариант1

~# service название status

status1.png

или

~$ systemctl status название.service

  • status3.png
  • active (running) означает, что сервис запущен и работает.
  • enabled означает, что он автоматически запустится после перезапуска системы.

 

Вариант 2

Запускаем htop
И фильтруем (F4) по названию службы, например, exim
Видим, что процесс запущен

htop1.png

Расшифровка htop - > тут

Информация полезна?
0

Как узнать и обновить дату и время на сервере

Выполняем команды Узнать текущее время:~# dateВс фев 17 04:59:16 MSK 2019 Вариант 1: с помощью встроенной утилиты systemd-timesyncd Сервер синхронизации указан…

Выполняем команды

Узнать текущее время:
~# date
Вс фев 17 04:59:16 MSK 2019

Вариант 1: с помощью встроенной утилиты systemd-timesyncd

Сервер синхронизации указан в файле /etc/systemd/timesyncd.conf
[Time]
NTP=pool.ntp.org
Сервер pool.ntp.org можно заменить на свой при желании

Активировать systemd-timesyncd можно так:
~# systemctl enable systemd-timesyncd.service

Дополнительные команды:
systemctl status systemd-timesyncd - узнать статус работы службы
systemctl start systemd-timesyncd - запуск, если деактивирован

Вариант 2: Обновление по протоколу NTP — протокол для синхронизации системного времени с эталонным

1) устанавливаем утилиту синхронизации времени

~# apt-get install ntpdate
Следующие НОВЫЕ пакеты будут установлены:
ntpdate

2) обновляем дату и время с указанием сервера времени
~# ntpdate time.nist.gov
1 Jul 10:07:25 ntpdate[30476]: step time server 132.163.97.4 offset 169448733.370653 sec

Проверка результата:
~# date
Пн июл 1 10:07:28 MSK 2024

Вариант 3: Chronyальтернативный клиент и сервер протокола сетевого времени NTP


Требует установки при этом удаяются другие запущенные службы NTP :
~# apt install chrony
Следующие пакеты будут УДАЛЕНЫ:
systemd-timesyncd
Следующие НОВЫЕ пакеты будут установлены:
chrony

Файл конфигурации для редактирования серверов: /etc/chrony.conf:
# Use Debian vendor zone.
pool 2.debian.pool.ntp.org iburst
Здесь араметр iburst используется для ускорения начальной синхронизации

Для синхронизации достаточно перезапустить данный сервис:
~# service chrony restart

 

Перевод времени

Выполняем команду:
dpkg-reconfigure tzdata

После чего в консоли откроется выбор географического положения и город, соответсвующей временной зоне
Для перевода часов на московское время, выбираем Европу, затем Москву
timezone1.png
После чего получим сообщение с установленной временной зоной

 timezone2.png

 

Используемые ресурсы:
https://habr.com/ru/companies/vdsina/articles/505314/
https://redos.red-soft.ru/base/arm/arm-network/synchro-time/chrony/
https://rubukkit.org/threads/kak-postavit-msk-vremja-na-server.127003/

Информация полезна?
0

Автозапуск сервисов или скриптов в Debian на примере Apache

Вариант1: с помощью команды systemctl в подсистеме systemd Systemd - менеджер управления службами в Linux - система инициализации. Система инициализации —…
Вариант1: с помощью команды systemctl в подсистеме systemd

Systemd - менеджер управления службами в Linux - система инициализации. Система инициализации — это система в Linux, которая подготавливает к работе операционную систему, запускается ядром как первый процесс в операционной системе. И уже затем, этот первый процесс, запускает все остальные процессы. Также при выключении система инициализации занимается остановкой всех процессов. Подробнее: https://sysadminium.ru/adm-serv-linux-systemd-init-system/ )

Systemctl - команда для управления Systemd

Команда включает автозапуск службы apache:

systemctl enable apache2

Подробнее тут: https://www.dmosk.ru/miniinstruktions.php?mini=systemctl 

Systemd - система инициализации по умолчанию в Linux с 2010 года. В некоторых ОС при использовании команды systemctl все еще может возникать ошибка systemctl is not installed. Это значит, что на вашей машине установлена другая система инициализации. Но сменить её на systemd несложно. Первое, что нужно сделать — установить пакет systemd:

sudo apt-get install systemd 

Затем в настройках ядра Linux нужно прописать использование systemd. Для этого откроем файл с настройками загрузчика GRUB: 

 sudo nano /etc/default/grub 

и добавим в настройку GRUB_CMDLINE_LINUX_DEFAULT опцию init=/lib/systemd/systemd. 

Чтобы применить изменения нужно сгенерировать новый файл конфигурации grub и перезапустить систему: 

sudo update-grub
sudo shutdown -r now

Источник: https://timeweb.cloud/tutorials/linux/kak-ispolzovat-systemctl-dlya-upravleniya-sluzhbami-systemd

Вариант2: с помощью rc.local - для запуска произвольных скриптов

Например, с помощью скрипта можно настроить автозапуск apache2, nginx, zram и другое. Для этого в файле rc.local необходимо прописать команды запуска

1) Узнаем, где лежит скрипт запуска. В случае с apache Для запуска демона httpd лучше всего использовать скрипт apachectl. Этот скрипт устанавливает ряд переменных окружения, необходимых для правильной работы сервера под некоторыми операционными системами, а затем запускает исполняемый файл httpd (Источник: https://httpd.apache.org/docs/2.2/ru/invoking.html ).

~# which apache2ctl
/usr/sbin/apache2ctl

2) Прописываем его в файле /etc/rc.local с флагом -k, необходимым для запуска, остановки (подробнее: https://httpd.apache.org/docs/2.4/programs/httpd.html)

~# nano /etc/rc.local
/usr/sbin/apache2ctl -k start

rc-local.png

Детальная инструкция по применению скрипта rc.local тут: https://azrr.info/page/view/65-zastavlyaem-rabotat-rclocal-na-debian-10.html 

Вместо /usr/sbin/apache2ctl -k start можно прописать /usr/sbin/apache2 start или /etc/init.d/apache2 start, где /etc/init.d/apache2 - скрипт, который запускает исполняемый бинарный файл /usr/sbin/apache2.

sbin.png

Обращаем Ваше внимание, что rc.local - это старый метод автозапуска. Скрипты init.d заменил systemd. Поэтому лучше использовать Вариант1- systemctl для управления службами Systemd.

Информация полезна?
0

Повышаем приоритет IPv4 перед IPv6 в Ubuntu | Debian

Когда у домена есть A и AAAA записи, то по умолчанию сперва ищется AAAA (ipv6), а уже после этого A…

Когда у домена есть A и AAAA записи, то по умолчанию сперва ищется AAAA (ipv6), а уже после этого A (ipv4) запись .

Пример

Ресурс ya.ru при пинге выдает только ipv6, вместо ipv4

root@debian:~# ping ya.ru
PING ya.ru(ya.ru (2a02:6b8::2:242)) 56 data bytes
From 2a05:1700:0:1:0:1fff:fe29:2d5a (2a05:1700:0:1:0:1fff:fe29:2d5a) icmp_seq=1 Destination unreachable: Address unreachable
From 2a05:1700:0:1:0:1fff:fe29:2d5a (2a05:1700:0:1:0:1fff:fe29:2d5a) icmp_seq=2 Destination unreachable: Address unreachable

Проверка

1) работает ли сеть:

root@debian:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=108 time=15.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=108 time=15.8 ms
--- 8.8.8.8 ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 15.750/15.797/15.845/0.134 ms

2) пингуется ли ресурс по ipv4:

C:\Users>ping ya.ru
Обмен пакетами с ya.ru [77.88.55.242] с 32 байтами данных:
Ответ от 77.88.55.242: число байт=32 время=9мс TTL=55
Ответ от 77.88.55.242: число байт=32 время=9мс TTL=55
Статистика Ping для 77.88.55.242:
Пакетов: отправлено = 2, получено = 2, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс:
Минимальное = 9мсек, Максимальное = 9 мсек, Среднее = 9 мсек

Решение

Назначаем приоритет для IPv4 выше чем у IPv6.

Для этого в файле /etc/gai.conf раскомментируем строку (убираем # вначале строки)

precedence ::ffff:0:0/96 100

После этого, если у ресурса в DNS есть и IPv6 и IPv4 запись , то будет выбираться IPv4.

ipv4.jpg

Итог

Первоначально выбирается IPv4. При этом IPv6 так же остается рабочим.

root@debian:~# ping ya.ru
PING ya.ru (77.88.55.242) 56(84) bytes of data.
64 bytes from ya.ru (77.88.55.242): icmp_seq=1 ttl=55 time=8.81 ms
64 bytes from ya.ru (77.88.55.242): icmp_seq=2 ttl=55 time=8.59 ms
64 bytes from ya.ru (77.88.55.242): icmp_seq=3 ttl=55 time=10.4 ms
64 bytes from ya.ru (77.88.55.242): icmp_seq=4 ttl=55 time=8.68 ms
--- ya.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 8.595/9.142/10.477/0.777 ms

Информация полезна?
1

Как заменить имя хоста (на примере Debian 11)

Если, к примеру, Вы работаете в одной сессии ssh c несколькими виртуальными машинами c именем хоста по умолчанию, то может…

Если, к примеру, Вы работаете в одной сессии ssh c несколькими виртуальными машинами c именем хоста по умолчанию, то может возникнуть путаница, на каком конкретно сервере Вы сейчас выполняете команды. Чтобы такой ситуации не возникло, можно поменять имя хоста:

user@debian на user@новое_имя_хоста

1. Для этого переходим в режим суперпользователя

user@debian:~$ su -

2. Уже под рутом проверяем текущее имя хоста

root@debian:~# hostname

debian

3. Задаем предпочитаемое имя_хоста

root@debian:~# hostnamectl set-hostname новое_имя_хоста

4. Проверяем, что оно сменилось в файле hostname

root@debian:~# nano /etc/hostname

новое_имя_хоста

5. Производим замену имени хоста в файле hosts

root@debian:~# nano /etc/hosts

127.0.0.1 localhost

127.0.1.1 новое_имя_хоста

6. Перезагружаем ОС для применения изменений

root@debian:~# systemctl reboot

После следующего подключения по ssh к данному серверу мы увидим приглашение к указанию команд с уже замененным именем хоста

root@debian:~# ssh Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.

Last login: Wed Oct 12 14:50:06 2022 from 31.41.XX.XX

user@новое_имя_хоста:~$

Информация полезна?
0

Работа с файлами

Куда устанавливаются программы в Linux'е

В Linux в соответствии со стандартом FHS для прикладных программ (https://ru.wikipedia.org/wiki/FHS) файлы одного типа и назначения помещаются в соответствующие директории,…

В Linux в соответствии со стандартом FHS для прикладных программ (https://ru.wikipedia.org/wiki/FHS) файлы одного типа и назначения помещаются в соответствующие директории, в отличие от Windows, где все файлы программы помещаются в одну папку, то есть разные типы файлов в одной программе (картинки, документация, примеры, конфигурационные фалйы, библиотеки и исполняемые файлы) при установке расфасовываются не в 1 место, а в разные в зависимости от типа файла и его предназначения.

Менеджер пакетов apt в Debian, pacman в Arch, dnf в Fedora и т.д. в основном всё кладут в /usr :
- в /usr/bin или /usr/local/bin - исполняемые файлы пакетов из репозиториев, где usr - User System Resources (аналочино Program Files в Windows)
- в /usr/local - файлы помещаемые с использованием утилиты make install
- в /usr/lib - библиотеки
- в /usr/share - разделяемые немодифицируемые данные
- в /usr/share/applications - для программ с интерфейсом «меню приложений»
В /etc - конфиги
В /bin - системные программы, наиболее важные для функционирования системы
В /var - каталоги для логов и специальных файлов
В /opt или /home - shar-ы проприетарного ПО, вручную установленные сторонние программы или вспомогательные файлы пакетов из репозиториев


Как узнать куда установилась программа:
1) при установке любого пакета список его файлов сохраняется в /var/lib/dpkg/info/<имя_пакета>.list
2) С помощью утилиты apt-file и команды apt-file find <имя>
3) #echo $PATH
/usr/local/bin:~/.local/bin:/opt/bin
4) С помощью Менеджера пакетов synaptic (если установлен графический интерфейс)

Материал скомпилирован на основе данных: https://www.linux.org.ru/forum/linux-install/15909001#comments 

Информация полезна?
0

Определение размера файлов

Для внутреннего хранения файла файловая система разбивает хранилище на блоки (по 4 Кб или 512 байт).Содержимое 1-байтового файла всё равно…

Для внутреннего хранения файла файловая система разбивает хранилище на блоки (по 4 Кб или 512 байт).
Содержимое 1-байтового файла всё равно занимает 4 КБ дискового пространства.

Поэтому есть размер файла:
ls -l file.c
df file.c
stat
Есть реальное использование диска файлом:
ls -ls file.c
du file.c
stat
Команда stat производит выборку данных из inode - структуры памяти, представляющей файл:

struct inode {
/* excluded content */
loff_t i_size; /* file size - размер файла ls -l */
struct timespec i_atime; /* access time */
struct timespec i_mtime; /* modification time */
struct timespec i_ctime; /* change time */
unsigned short i_bytes; /* bytes used (for quota) */
unsigned int i_blkbits; /* block size = 1 << i_blkbits */
blkcnt_t i_blocks; /* number of blocks used */
/* excluded content */
}

Количество inode ограничено и задается при создании файловой системы в случае с ext2fs).
Узнать число занятых inodes можно командой:

df -i

В случае превышения числа разрешенных файлов возникнет ошибка "disk quota exceeded" и сервер начнет тормозить. Соответственно, потребуется анализ занятого пространства (например, с помощью утилиты ncdu) и очистка лишних файлов.

inodes.png

Следовательно правильно учитывать реальное использование диска файлом с учетом размера занимаемых им блоков.
disk-usage1.png


Кроме этого есть файлы, которые не сразу удаляются, а продолжают висеть в процессах с пометкой deleted
df их размер не отображает, а du, наоборот, указывает, что они есть.
disk-usage2.png

Источники:

https://habr.com/ru/companies/flant/articles/354802/
https://rebrainme.com/webinars/linux-special-directories/ 
http://memoryhigh.ru/disk-quota-exceeded-ili-kak-ochistit-inodes-v-debian/

Информация полезна?
0

Команды для работы с файлами по SSH

Консольные команды • wget имя_файла(ссылка на файл) - загружает файл • tail -f /имя-файла - Просмотр вносимых изменений в файле с момента…

Консольные команды

  • • wget имя_файла(ссылка на файл) - загружает файл

• tail -f /имя-файла - Просмотр вносимых изменений в файле с момента запуска этой команды
• chattr -i/+i - Запрет/отмена запрета на редактирование файла
• grep -rl 'слово1' /путь/* - рекурсивный поиск в каталоге по ключевому слову. Для замены найденного слова1 на слово 2 добавляем:
| xargs perl -p -i -e 's/слово1/слово2/g',
• pscp c:/full/path/file.php  Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.:/home/telegrambot/telebot_1 - скопировать файл на сервер из cmd Windows. Для копирования множества файлов лучше использовать WinSCP
• mc - переход в файловый менеджер
• ls -al – Показывает файлы и каталоги в текущей папке с правами, размером и датой изменения
• pwd - Отображает текущий рабочий каталог
• cd /path/ - Переход в нужный каталог
• mkdir NewFolder - Создает новый каталог с именем "NewFolder".
• rm NewFile - Удаляет файл с именем "NewFile"
• rm -f NewFile - Принудительное удаление файла с именем "NewFile"
• rm -r NewFolder - Рекурсивно удаляет каталог с именем "NewFolder"
• rm -rf NewFolder - Принудительное удаление каталога с именем "NewFolder" рекурсивно
• cp oldfile1 newfile2 - Копирует содержимое oldfile1 в newfile2
• cp -r olddir1 newdir2 - Рекурсивно копирует каталог "olddir1" в "newdir2". Dir2 будет создан, если он не существует.
• mv oldfile1 newfile2 - Переименовывает "oldfile1" в "newfile2".
• ln -s /etc/log/file logfile - Создает ярлык на файл
• touch newfile - Создает пустой файл с именем newfile

 

Работа с утилитой cat

• cat > newfile - Помещает STDIN в newfile
• cat < test2 - Выводит содержимое файла на экран

Файл STDIN (стандартный ввод) по умолчанию "связан" с клавиатурой - все что вы печатаете на клавиатуре, попадает туда.

Файл STDOUT (стандартный вывод) по умолчанию "связан" с монитором - все, что вы запишите в него, вы увидите на экране.

Различные примеры использования:  https://blog.sedicomm.com/2023/08/28/13-primerov-komandy-cat-dlya-nachinayushhih-v-linux/


Полезные команды текстового редактора nano 

Ctrl+W - Искать текст или регулярное выражение
Ctrl+K - Вырезать текущую строку и сохранить её в буфере обмена
Ctrl+U - Вставить содержимое буфера обмена в текущую строку
Ctrl+_ или Alt-G - Перейти на указанный номер строки и ряд
Alt-| или Alt-\ - переход в начало файла
Alt+? или Alt+/ - переход в конец файла
Alt+Y — Показывать подсветку синтаксиса
Alt+Shift+3 — Показывать номера строк
Alt-L - включить/выключить перенос строк
Ctrl+X - Выйти из nano

Другие команды: https://habr.com/ru/articles/106471/ 

 

Работа с текстовым редактором vi (visual editor) описана в источнике: https://docs.altlinux.org/ru-RU/archive/2.3/html-single/junior/alt-docs-extras-linuxnovice/ch02s10.html

Чтобы начать редактировать файл, нужно войти в режим -- INSERT -- . Для этого наберите Shift+i.
Чтобы выйти из этого режима, нажмите Esc .

Как выйти из текстового редактора vim:
1) :q - Выйти если не делали изменений
2) :wq - Сохранить изменения и выйти "write and quit"
3) :q! - Если изменения были, но не хотим их сохранять
4) Альтернативный способ выхода: https://youtu.be/Q1RUYQIgVKM
:!ps axuw | grep vim | grep -v grep | awk '{print $2}' |xargs kill -9

Информация полезна?
0

Права доступа к файлам/каталогам для владельца/группы/других

Основные команды ls -l - просмотреть права доступа для файла ls -ld - посмотреть права доступа для определенного каталога. chmod - изменить права…
Основные команды

ls -l - просмотреть права доступа для файла

ls -ld - посмотреть права доступа для определенного каталога.

chmod - изменить права доступа для файла или каталога.

chown newuser:newgroup newfolder - изменить  владельца/группу файла или каталога 

  • stat -c "%U %G" newfile - отображает владельцев, пользователей и группы файла
 
Разбор значений

Права могу быть представлены в виде 10 символов, где:

  • - первый символ определяет тип файла ("—" прочерк - обычный файл, d - это каталог);
  • - следующие три символа права user'а (пользователя/владельца);
  • - следующие три символа - права для group (группы);
  • - последние три символа - права others (других).

Порядок записи разрешений всегда такой: чтение (r), запись (w), выполнение (x).

chmod1.jpg

Права могут быть представлены в виде трех цифр восьмиричной системы, каждая цифра определяет наличие трех типов разрешений для трех групп.

chmod2.jpg

chmod3.jpg

По умолчанию на хостинге права для каталогов устанавливаются 755, для файлов - 644. Для разбора удобно представить в виде таблицы:

chmod4.jpg

Запись 755 для папок означает:

- у владельца — все права: право просматривать содержимое каталога (выполнить команду ls), право записывать данные в каталог (создавать файлы и подкаталоги), право зайти в каталог (выполнить команду cd)

- у группы — нет только права на запись;

- у остальных — нет только права на запись.

Запись 644 для файлов означает:

- у владельца — нет права на выполнение;

- у группы — есть право только на чтение;

- у остальных — есть право только на чтение.

При отсутсвтвии доступа к ssh на хостинге, назначить права для файлов и каталогов можно через Панель управления - Менеджер файлов - кнопка «Атрибуты», опционально выбрав рекурсивное указание прав для всех вложенных файлов и/или каталогов.

chmod5.jpg

Статья базируется на материалах ресурса https://codechick.io/tutorials/unix-linux/unix-linux-permissions , откуда можно почерпнуть более подробную информацию о правах доступа.

Информация полезна?
0

Поиск и замена текста в файлах по ssh

Варианты команд  grep -rl 'cловосочетание' /var/directory/* | xargs perl -p -i -e 's/значение1/значение2/g' или find /var/directory/ -type f | xargs sed…
Варианты команд 

grep -rl 'cловосочетание' /var/directory/* | xargs perl -p -i -e 's/значение1/значение2/g'

или

find /var/directory/ -type f | xargs sed -i  's/значение1/значение2/g'

, где
в директории и во вложенных каталогах /var/directory/* ищем заданное словосочетание и везде, где нашли, заменяем в нем значение 1 на значение 2.

Пример

При смене домена остались старые пути в скриптах, тогда:

1) рекурсивно заменим домен dopusk-78.su на dopusk-79.ru

grep -rl 'dopusk-78.su' /var/www/user79101/data/www/dopusk-79.ru/* | xargs perl -p -i -e 's/8.su/9.ru/g'
2) или рекурсивно заменим домен almai.ru на alma-i.ru
find /var/www/user8678/data/www/ -type f | xargs sed -i  's/almai.ru/alma-i.ru/g'  

Информация полезна?
0

Копирование файлов по ssh между серверами Linux

Для копирования файлов между серверами Linux используется команда scp, входящая в пакет OpenSSH по умолчанию Вариант1: копирование с удаленного на локальный…

Для копирования файлов между серверами Linux используется команда scp, входящая в пакет OpenSSH по умолчанию

Вариант1: копирование с удаленного на локальный сервер

1) Подключаемся по ssh к серверу, на который должен быть скопирован файл.

2) Указываем команду:

scp username@servername:/directory/test.doc /var/directory

, где:

username@servername - имя пользователя и адрес сервера, с которого будет скачан файл;
/directory/test.doc - сам файл, который должен быть скопирован;
/var/directory - директория, куда должен быть скопирван файл.

Пример - копирование файла с Linux-сервера 31.41.44.17 на Linux-сервер s1:

scp.jpg

Готово, файл с бэкапом скопирован с одного сервера Linux на другой.

Вариант 2: копирование с локального сервера на удаленный

1) Подключаемся к серверу, с которого производится копирование
2) Указываем команду
scp /var/directory/test.zip username@servername:/directory/abc/

, где:

/var/directory/test.zipсам файл, который должен быть скопирован;

username@servername - имя пользователя и адрес удаленного сервера, на который будет закачан файл;

/directory/abc/ - директория на удаленном сервере, куда должен быть скопирван файл.

Пример - копирование файла www.zip с локального сервера на удаленный сервер 31.41.40.14

scp2.png

Готово, файл с zip архивом скопирован в директорию /var/www/user17656/data на сервере 31.41.40.4

 

Более быстрый вариант копирования - утилита rsync. Подробнее в материале "7z и rsync для архивирования и копирования файлов с сервера на сервер"



 

 

Информация полезна?
0

Копирование файлов из Windows на сервер Linux ( и наоборот ) по ssh

Как скопировать файл из Windows на сервер Linux Если интернет соединение не стабильно и происходит обрыв закачки файла по FTP,…

Как скопировать файл из Windows на сервер Linux

Если интернет соединение не стабильно и происходит обрыв закачки файла по FTP, то есть альтернативный вариант - закачать файл по ssh, используя приложение для Windows pscp.exe (аналог утилиты scp (Secure Copy) для Linux).

1. Качаем Pscp (входит в состав PuTTY): https://github.com/putty-org-ru/PuTTY/releases/download/PuTTY-0.73-RU-17/pscp.exe .

Запускаем ее. Так как приложение консольное, у него нет графического интерфейса. Если вы попытаетесь запустить PSCP без аргументов, то в ответ получите только лишь справочную информацию, после чего программа моментально закроется.

2. Открываем коммандную строку (cmd) Windows с правами администратора. По умолчанию откроется каталог: C:\WINDOWS\system32> .

3. Выполняем команду копирования файла с компьютера на сервер

pscp “C:/documents/test.doc” username@servername:/directory

, где:

“C:/documents/test.doc” - путь до файла на компьютере, который нужно скопировать;
username@servername<span< a="">> </span<>- имя пользователя и адрес сервера для доступа по ssh;
/directory - каталог на сервере, куда должен быть скопирован файл (Каталог должен быть предварительно создан!) .

Пример - копирование файла с компьютера Windows на севрер Linux утилита pscp:

pscp1.jpg

Готово, файл бэкапа скопирован на сервер!

Для копирования с сервера Linux на компьютер Windows

Используем обратную команду:

pscp username@servername:/directory/test.doc C:/documents

, где:

username@servername - имя пользователя и адрес сервера для доступа по ssh;
/directory/test.doc - путь до файла на сервере Linux, который должен быть скопирован на компьютер Windows;
C:/documents - папка, куда должен быть скопирован файл.

Пример:

pscp2.jpg

Готово, файл с сервера скопирован на рабочий стол!

Информация полезна?
0

Как скачать файлы с VDS по sFTP без установки FTP cервера

«…Поддержка протокола SFTP обычно обеспечивается реализацией сервера SSH». Источник: https://ru.wikipedia.org/wiki/SFTP Поэтому качаем по протоколу ssh. Для этого вFTP клиенте FileZilla или…

«…Поддержка протокола SFTP обычно обеспечивается реализацией сервера SSH». Источник: https://ru.wikipedia.org/wiki/SFTP

Поэтому качаем по протоколу ssh. Для этого вFTP клиенте FileZilla или WinSCP указываем:
Хост: sftp://ip-адрес сервера
Имя пользователя: root
Пароль
Порт:22

Данные доступа к серверу можно найти на почте (направляются при заказе VDS), либо в биллинге по кнопке «Инструкция»

sFTP1.jpg

Соединяемся, попадаем в каталог /root/ , из которого можно перейти на уровень выше в корневой каталог /

sFTP2.jpg

Выбираем нужный файл или каталог и перетаскиваем в левую колонку в директорию на Вашем компьютере.

Информация полезна?
0

Работа с базой

Экспорт / Импорт дампа MySQL по ssh

Дамп (англ. dump – сбрасывать) – текстовый файл с расширением .sql, включающий в себя содержимое базы данных, создаваемый в рамках резервного…
Дамп (англ. dump – сбрасывать) – текстовый файл с расширением .sql, включающий в себя содержимое базы данных, создаваемый в рамках резервного копирования или переноса базы на другой сервер.
 

Экспорт и импорт базы данных выполняется с помощью утилиты MySQLdump

 

Экспорт (создание дампа):

mysqldump -u пользователь_БД -p имя_БД > /var/www/userXXXX/data/имя_файла.sql

Для экспорта с удаленного сервера
mysqldump --user=Login --password=Password --host=XXX.XXX.XXX.XXX db_name
> db_name.sql

, где XXX.XXX.XXX.XXX - IP-адрес удаленного сервера

 

Импорт (восстановление таблиц из дампа) в фоновом режиме:

mysql -u  пользователь_БД  -p  имя_БД < /var/www/userXXXX/data/имя_файла.sql

Для наглядного импорта:
1) Подключаемся к базе, указав имя пользователя:
root@s15:/var/www/user8441/data# mysql -u user8441_test -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 1642535
Server version: 10.3.11-MariaDB-1:10.3.11+maria~stretch mariadb.org binary distribution
 
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
 2) Указываем базу, с которой хотим работать
MariaDB [(none)]> use user8441_test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
 
3) Выбираем файл дампа для загрузки в базу
MariaDB [user8441_test]> source /var/www/user8441/data/shopworld.sql
...
Query OK, 3 rows affected (0.074 sec)
Records: 3  Duplicates: 0  Warnings: 0
Query OK, 0 rows affected (0.000 sec)
 
4) Выходим из базы
MariaDB [user8441_test]> 
quit;
Bye
root@s15:/var/www/user8441/data#
Информация полезна?
0

Защита

Что делать, если сервер атакуют

Пример брутфорса:Dec 8 14:49:04 web0 sshd: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=158.101.12.235В данном случае производится сканирование портов…

Пример брутфорса:
Dec 8 14:49:04 web0 sshd[19892]: Address 125.91.126.92 maps to serv1.example.com, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Dec 8 14:49:04 web0 sshd[19892]: Invalid user jenkins from 185.68.93.138 port 51156
Dec 8 14:49:04 web0 sshd[19892]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=125.91.126.92
Dec 8 14:49:07 web0 sshd[19892]: Failed password for invalid user jenkins from 125.91.126.92 port 51156 ssh2
Dec 8 14:49:07 web0 sshd[19892]: Received disconnect from 125.91.126.92 port 51156:11: Bye Bye [preauth]
Dec 8 14:49:07 web0 sshd[19892]: Disconnected from 185.68.93.138 port 51156 [preauth]
Dec 8 14:57:33 web0 sshd[21080]: Address 158.101.12.235 maps to serv2.example.com, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Dec 8 14:57:33 web0 sshd[21080]: Invalid user admin1 from 158.101.12.235 port 48622
Dec 8 14:57:33 web0 sshd[21080]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=158.101.12.235

В данном случае производится сканирование портов в надежде найти установленное незакрытое соединение.

Как защититься
1) отключить незащищенное соединение по протоколу ftp, использовать только sftp;
2) закрыть VNC соединение шифрованием;
3) отключить доступ к ssh по паролю. Разрешить подключение только по ключу;
4) подключение по ssh следует разрешить только с определенного ip;
5) cменить sshd, vpn порты по умолчанию, на порты из диапазона 50000;
6) установить и настроить fail2ban.

Информация полезна?
0

Некоторые способы защиты серверов от DDoS

1) настраиваем iptables межсетевого экрана Netfilter: Разбор утилиты iptables межсетевого экрана Netfilter.Просмотр правил: https://losst.ru/prosmotr-pravil-iptablesПринцип работы: https://www.k-max.name/linux/netfilter-iptables-v-linux/  2) Настраиваем fail2ban для блокировки по IP:…

1) настраиваем iptables межсетевого экрана Netfilter: 
Разбор утилиты iptables межсетевого экрана Netfilter.
Просмотр правил: https://losst.ru/prosmotr-pravil-iptables
Принцип работы: https://www.k-max.name/linux/netfilter-iptables-v-linux/ 

iptables2.png

iptables.png

2) Настраиваем fail2ban для блокировки по IP: https://putty.org.ru/articles/fail2ban-ssh.html ;

3) настраиваем firewall с помощью UFW -> инструкция ;

4) прячем адреса за Cloudflare: https://blog.cishost.ru/2022/02/10/kak-spryatat-sayt-za-cloudflare.html ;
5) некоторые датацентры сразу осуществляют фильтрацию на своей стороне: https://blog.cishost.ru/2016/01/28/antiddos.html.

Стоит отметить, что организация DDoS-атак на ресурсы являются дорогостоящими и обычно не продолжительны по времени.

Информация полезна?
0

Брандмауэр UFW

Настройки базовой защиты на сервере VDS в дистрибутивах Ubuntu и Debian  1) Устанавливаем удобный брандмауэр UFW.sudo apt install ufwЕсли происходило…

Настройки базовой защиты на сервере VDS в дистрибутивах Ubuntu и Debian 

1) Устанавливаем удобный брандмауэр UFW.
sudo apt install ufw
Если происходило переподключение, то система запросит пароль нового администратора.

2) Устанавливаем защиту от брутфорса паролей:
apt install -y fail2ban

3) Запрещаем все входящие подключения.
sudo ufw default deny incoming

4) Делаем исключение для удалённого управления.
sudo ufw allow ssh

5) Разрешаем все исходящие подключения.
sudo ufw default allow outgoing

6) Активируем брандмауэр.
sudo ufw enable

7) На запрос подтверждения вводим “y”.

8) Проверяем правильность настройки.
sudo ufw status verbose

ufw.png

О настройке firewall c помощью UFW читаем в -> источнике

9) Дополнительные способы защиты серверов от DDoS - тут

Информация полезна?
0

ClamAV и maldet - антивирусные сканеры для Linux серверов

ClamAV Документация Установка: https://linux.die.net/HOWTO/Postfix-Cyrus-Web-cyradm-HOWTO/installing-anti-spam.htmlНастройки конфигурации/etc/clamav/clamd.conf: https://linux.die.net/man/5/clamd.confПараметры консольного запуска: https://linux.die.net/man/5/clamd.conf Работа с антивирусным сканером Установка на сервер: ~# sudo apt-get install clamav После установки…
ClamAV

Документация

Установка: https://linux.die.net/HOWTO/Postfix-Cyrus-Web-cyradm-HOWTO/installing-anti-spam.html
Настройки конфигурации/etc/clamav/clamd.conf: https://linux.die.net/man/5/clamd.conf
Параметры консольного запуска: https://linux.die.net/man/5/clamd.conf

Работа с антивирусным сканером

Установка на сервер:

~# sudo apt-get install clamav

После установки нужно обновить вирусные базы ClamAV:
~# freshclam

Cканирование содержимого корневой директории /:

~# clamscan -r /

Чтобы зараженные файлы удалялись автоматически, добавьте параметр --remove, значение --move=/<директория> будет отправлять их в карантин:

~# clamscan /etc --remove

~# clamscan /etc --move=/help

Для исключения файла из результатов сканирования по ложному срабатыванию: 

 - открываем конфигурационный файл clamd.conf

nano /etc/clamav/clamd.conf

- добавляем строку

ExcludePath ^/var/www/userXXXX/data/www/domain.ru/files/
 
Linux Malware Detect (maldet)

C помощью движка ClamAV может выполняться более быстрое сканирование антивирусом Linux Malware Detect (maldet).

Скачать, распаковать и установить можно 

~# wget https://www.rfxn.com/downloads/maldetect-current.tar.gz - скачиваем с сайта разработчика ~# tar -xvzf maldetect-current.tar.gz - распаковываем

~# ls -l | grep maldetect - узнаем директорию и актуальной версию maldetect

~# cd maldetect-x.x.x - переходми в эту директорию
~# ./install.sh - утанавливаем

Для сканирование файлов выполняем команду
maldet -a

Для помещения в карантин
maldet -q

Просмотр файлов, помещенных в карантин
ls /usr/local/maldetect/quarantine


Пример работы maldet

root@g7 ~ # maldet -a /var/www/user42766/data/www/ Linux Malware Detect v1.4.2 (C) 2002-2013, R-fx Networks <Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.> (C) 2013, Ryan MacDonald <Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.> inotifywait (C) 2007, Rohan McGovern <Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.> This program may be freely redistributed under the terms of the GNU GPL v2 maldet(30139): {scan} signatures loaded: 13716 (11815 MD5 / 1901 HEX) maldet(30139): {scan} building file list for /var/www/user42766/data/www/, this might take awhile... maldet(30139): {scan} file list completed, found 109885 files... maldet(30139): {scan} found ClamAV clamscan binary, using as scanner engine... maldet(30139): {scan} scan of /var/www/userXXXX/data/www/ (109885 files) in progress... maldet(30139): {scan} processing scan results for hits: 40 hits 0 cleaned maldet(30139): {scan} scan completed on /var/www/userXXXX/data/www/: files 109885, malware hits 40, cleaned hits 0 maldet(30139): {scan} scan report saved, to view run: maldet --report 021015-1108.30139 maldet(30139): {scan} quarantine is disabled! set quar_hits=1 in conf.maldet or to quarantine results run: maldet -q 021015-1108.30139 maldet(30139): {alert} sent scan report to Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. maldet -q 021015-1108.30139 для помещения в карантин

Информация полезна?
0

Полезные инструменты

Утилита bpytop

Инструмент bpytop — мощная и красивая альтернатива top и htop. Красивый  интерфейс: яркие графики CPU, RAM, дисков и сети в…

Инструмент bpytop — мощная и красивая альтернатива top и htop.

Красивый  интерфейс: яркие графики CPU, RAM, дисков и сети в реальном времени.

Подробная статистика: нагрузка, процессы, скорость дисков и сети.

Управление: фильтрация процессов, отправка сигналов, три режима отображения (full, stat, proc).

Настройка: гибкие параметры через F2, сохранение в ~/.config/bpytop.

 

Установка (Debian):
apt install bpytop

Запуск: после установки вы можете запустить утилиту, просто введя команду bpytop .

 

brytop.png

Информация полезна?
0

Утилита mtr (My Traceroute)

Сетевая утилита mtr (сочетает в себе функциональность двух инструментов: ping + traceroute) - показывает постоянно обновляемую информацию о задержке и…

Сетевая утилита mtr (сочетает в себе функциональность двух инструментов: ping + traceroute) - показывает постоянно обновляемую информацию о задержке и потере пакетов на пути к месту назначения. Разберём пример на скриншоте.

mtr.png
Главное тут - отсутствие потери пакетов на последнем переходе 0%. Это означает, что сетевой путь фактически не является проблемным.
На некоторых предыдущих узлах показатель 100% потерь означает, что сетевыми операторами установлено ограничение числа запросов ICMP политикой "Control Plane Policing" для предотвращения "перегрузки плоскости управления" маршрутизатора слишком большим количеством таких пакетов.
Cправочные материалы:
- подробнее об mtr: https://www.cloudflare.com/ru-ru/learning/network-layer/what-is-mtr/ 
- примеры использования mtr: https://blog.sedicomm.com/2018/09/12/mtr-instrument-diagnostiki-seti-dlya-linux-s-primerami/ 
- пример полной потери пакетов и разбор утилиты tracert приведены -> тут
- проверка mtr, tracert, ping из наших локаций VDS серверов до нужного Вам ip: https://looking.house/company.php?id=14 .

Информация полезна?
0

Серверы Looking Glass

Серверы Looking Glass — это серверы в Интернете, на которых запущена одна из множества общедоступных реализаций программного обеспечения Looking Glass,…

Серверы Looking Glass — это серверы в Интернете, на которых запущена одна из множества общедоступных реализаций программного обеспечения Looking Glass, позволяющая удаленно проверять такие параметры сети как маршрут, время отклика и трассировку до нужного хоста.

Перед заказом часто запрашивают отдельные ip для проверки доступности VDS из какой-либо локации. При этом результаты трассировки будут не будут корректными -  если какой-то ip уже занят Vds'кой, то он будет пинговаться, другой ip свободен, поэтому и не пингуется.

Что-бы адрес пинговался, надо:
- настроить сервисы;
- прикрепить адрес к виртуальной машине;
- настроить сеть.

Поэтому для отображения корректных результатов воспользуйтесь сервисом Looking Glass c уже настроенным сервером из наших подсетей:

31.41.44.1 - 31.41.47.254 (Россия), 185.68.93.1 - 185.68.95.254 (Болгария): https://looking.house/company.php?id=14, - проверка mtr, tracert, ping из наших локаций VDS серверов до нужного Вам ip.

looking-glass.png

Другие источники данных о динамической маршрутизации и диагностики сети:

https://portal.noc.gov.ru/ru/lg/ - Looking Glass ЦМУ ССОП;

https://lg.selectel.ru/ - Looking Glass Selectel и других операторов.

https://www.host.ag/looking-glass - Looking Glass Host.ag

 

Информация полезна?
0

7z и rsync для архивирования и копирования файлов с сервера на сервер

Утилита синхронизации файлов rsync По ssh подключаемся к серверу на который хотим скопировать файлы. Далее:- устанавливаем rsync~# apt-get install rsync-…
Утилита синхронизации файлов rsync

По ssh подключаемся к серверу на который хотим скопировать файлы. Далее:
- устанавливаем rsync
~# apt-get install rsync
- копируем файлы с удаленного сервера g1 в каталог www на текущем сервере
~# rsync —archive —verbose —progress Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.:/var/www/userXXXX/data/www/домен/ /var/www/userXXXX/data/www/
Подробнее: https://www.servers.ru/knowledge/linux-administration/how-to-copy-files-between-linux-servers-using-rsync

Архиватор 7z

apt install p7zip-full - установка
7z a -tzip domain.zip - создание архива
7z x domain.zip - распаковка
Подробнее: https://www.oslogic.ru/knowledge/1143/shpargalka-po-arhivatoru-7z-7-zip-v-linux-ubuntu-mint/

Информация полезна?
0

Инструменты мониторинга

1. Nload — мониторинг использования пропускной способности сети Linux в режиме реального времени. Удобный инструмент контроля перегрузки флудом сетевого интерфейса. Как…

1. Nload — мониторинг использования пропускной способности сети Linux в режиме реального времени. Удобный инструмент контроля перегрузки флудом сетевого интерфейса.

Как установить: https://ru.linux-console.net/?p=1850



2. Iftop — инструмент мониторинга пропускной способности сети для Linux.

3. NetHogs — мониторинг использования пропускной способности сети для каждого процесса в Linux.

4. VnStat — мониторинг сетевого трафика в реальном времени в Linux.

5. Bmon — мощный инструмент мониторинга и отладки пропускной способности сети.

Информация полезна?
0

Расшифровка htop

Область информации о системе Mem — это общее количество оперативной памяти и используемая память. Task — обобщённая статистика по процессам Swp — уровень…
htop2.png
Область информации о системе

Mem — это общее количество оперативной памяти и используемая память.

Task — обобщённая статистика по процессам

Swp — уровень занятости файла подкачки (если он есть)

Load average — средняя загрузка центрального процессора

Uptime — время работы операционной системы с момента последней загрузки

Область информации о процессах

Программа htop выводит следующие столбцы:

PID

Идентификатор процесса.

USER

Имя пользователя владельца процесса или ID если имя не может быть определено.

PRI

Приоритет — внутренний приоритет ядра для процесса, обычно это просто значение nice плюс двадцать. Отличается для процессов имеющих приоритет выполнения real-time.

NI

NICE значение процесса от 19 (низкий приоритет) до -20 (высокий приоритет). Более высокое значение означает, что процесс «приятный» для других и позволяет им иметь более высокий приоритет выполнения.

VIRT

Размер виртуальной памяти процесса (M_SIZE).

RES

Размер резидентного набора (text + data + stack) процесса (т.е. размер используемой физической памяти процесса, M_RESIDENT).

SHR

Размер общих страниц процесса (M_SHARE).

S

STATE, состояние процесса, может быть:

  • S для спящих (в простое)
  • R для запущенных
  • D для сна диска (бесперебойный)
  • Z для зомби (ожидает родитель считает его статус выхода)
  • T для отслеживания или приостановки (т. е. от SIGTSTP)
  • W для подкачки

CPU%

Процент процессорного времени, которое процесс использует в данный момент.

MEM%

Процент памяти, используемой процессом в данный момент (в зависимости от размера резидентной памяти процесса, см. M_RESIDENT выше).

TIME+

Время, измеренное в часах, указывает на то, сколько процесс провёл в пользовательском и системном времени.

Command

Полная командная строка процесса (то есть имя программы и аргументы).

Источник и более подробная информация: https://zalinux.ru/?p=3581

Информация полезна?
0

Утилита ncdu (Ncurse Disk Usage) для анализа дискового пространства

Утилита ncdu - эффективный инструмент для борьбы с переполнением дискового пространства. Предоставляет информацию о распределении и использовании диска, позволяет идентифицировать…

Утилита ncdu - эффективный инструмент для борьбы с переполнением дискового пространства. Предоставляет информацию о распределении и использовании диска, позволяет идентифицировать наиболее затратные каталоги, провести анализ использования диска по категориям, например, сколько места занимают музыкальные файлы, фотографии, видео, документы и т.п.
Установка: apt install ncdu (в Debian/Ubuntu) или yum install ncdu ( в Centos)
Применение: ncdu /имя-каталога
Количество символов "#" позволяет понять, какая из директорий имеет наибольший объем.
a — переключение между отображением реального размера файлов (apparent size) и объемом занимаемого пространства на диске (disk usage);
i — вывести информацию о выбранном элементе;
Выход: q

ncdu.png

Информация полезна?
0

Утилита Spacer для работы с логами на VDS

Утилита Spacer автоматически разделяет активность в логах, работая с командой tail -f tail -f /var/log/exim4/mainlog | spacer Репозиторий: https://github.com/samwho/spacer

Утилита Spacer автоматически разделяет активность в логах, работая с командой tail -f

tail -f /var/log/exim4/mainlog | spacer

Репозиторий: https://github.com/samwho/spacer

spacer.png

Информация полезна?
0

Генератор статических сайтов Hugo на Alpine Linux

Легковесный сайт на Hugo на легковесном Alpine Linux - максимальная скорость и безопасность. Шаблон Alpine Linux на VDS - маленький…

Легковесный сайт на Hugo на легковесном Alpine Linux - максимальная скорость и безопасность.

Шаблон Alpine Linux на VDS - маленький и быстрый, для создания надежных и скоростных сайтов: https://ru.wikipedia.org/wiki/Alpine_Linux

Размер базовой системы Alpine Linux составляет всего лишь 4-5 Мбайт (исключая ядро)
Инструкция по заказу VDS с Alpine Linux -> тут

alpine1.png

Шаблон Alpine Lilnux как нельзя лучше подойдет для создания статического сайта с помощью генератора Hugo.

Генератор статических сайтов - программа, которая обрабатывает структурированные исходные файлы (тексты, картинки, шаблоны) и генерирует статический HTML-сайт, который можно загрузить на сервер.

Статические сайты отличаются от динамических тем, что там нет динамически управляемых данных - то, что обычно хранят в базе. Это максимально простой сайт с точки зрения бекенда - нет исполняемого бэкенда, нет БД, нет проблем с безопасностью.

alpine.png

Информация полезна?
0