Введение в Свн
Полное название SVN — Subversion, которая является системой контроля версий. SVN, как и CVS, является кроссплатформенным программным обеспечением, которое поддерживает большинство распространенных операционных систем. Как система контроля версий с открытым исходным кодом, Subversion управляет данными, которые со временем меняются. Эти данные размещаются в центральном хранилище. Этот архив очень похож на обычный файловый сервер, но он будет помнить каждое изменение файла. Таким образом, вы можете восстановить файл до старой версии или просмотреть историю изменений в файле. Subversion — это универсальная система, которая может использоваться для управления файлами любого типа, включая исходный код программы.
Настройка firewall (iptables) в Debian
В качестве firewall в Debian по-умолчанию используется iptables, его и будем настраивать. Изначально фаервол полностью открыт и пропускает весь трафик. Проверить список правил iptables можно следующей командой:
# iptables -L -v -n Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Обращаю пристальное внимание на то, что настраивать firewall без прямого доступа к консоли сервера не следует. Особенно, если вы не очень разбираетесь в этом и копируете команды с сайта
Шанс ошибиться очень высок. Вы просто потеряете удаленный доступ к серверу.
Создадим файл с правилами iptables:
# mcedit /etc/iptables.sh
Очень подробно вопрос настройки iptables я рассмотрел отдельно, рекомендую ознакомиться. Хотя в примере другая ОС linux, принципиальной разницы нет, настройки iptables абсолютно одинаковые, так как правила одни и те же.
Добавляем набор простых правил для базовой настройки. Все необходимое вы потом сможете сами открыть или закрыть по аналогии с существующими правилами:
#!/bin/bash # # Объявление переменных export IPT="iptables" # Активный сетевой интерфейс export WAN=ens18 export WAN_IP=10.20.1.16 # Очистка всех цепочек iptables $IPT -F $IPT -F -t nat $IPT -F -t mangle $IPT -X $IPT -t nat -X $IPT -t mangle -X # Установим политики по умолчанию для трафика, не соответствующего ни одному из правил $IPT -P INPUT DROP $IPT -P OUTPUT DROP $IPT -P FORWARD DROP # разрешаем локальный траффик для loopback $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT # разрешаем пинги $IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT $IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT $IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT $IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # Разрешаем исходящие соединения самого сервера $IPT -A OUTPUT -o $WAN -j ACCEPT # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. # Пропускать все уже инициированные соединения, а также дочерние от них $IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Пропускать новые, а так же уже инициированные и их дочерние соединения $IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Разрешить форвардинг для уже инициированных и их дочерних соединений $IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # Включаем фрагментацию пакетов. Необходимо из-за разных значений MTU $IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu # Отбрасывать все пакеты, которые не могут быть идентифицированы # и поэтому не могут иметь определенного статуса. $IPT -A INPUT -m state --state INVALID -j DROP $IPT -A FORWARD -m state --state INVALID -j DROP # Приводит к связыванию системных ресурсов, так что реальный # обмен данными становится не возможным, обрубаем $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP # Открываем порт для ssh (!!!не забудьте указать свой порт, который вы изменили ранее!!!) $IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT # Открываем порт для web сервера $IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT $IPT -A INPUT -i $WAN -p tcp --dport 443 -j ACCEPT # Записываем правила в файл /sbin/iptables-save > /etc/iptables_rules
Даем файлу права на запуск:
# chmod 0740 /etc/iptables.sh
Запускаем скрипт:
sh /etc/iptables.sh
Проверяем правила:
# iptables -L -v -n
Проверяем, что правила записались в файл /etc/iptables_rules. Если их там нет, то записываем их вручную.
# /sbin/iptables-save > /etc/iptables_rules
Правила применились и произошла их запись в файл /etc/iptables_rules. Теперь нужно сделать так, чтобы они применялись при загрузке сервера. Для этого делаем следующее. Открываем файл /etc/network/interfaces и добавляем в него строку pre-up iptables-restore < /etc/iptables_rules Должно получиться вот так:
# cat /etc/network/interfaces allow-hotplug eth0 iface eth0 inet dhcp pre-up iptables-restore < /etc/iptables_rules
Для проверки перезагрузите сервер и посмотрите правила iptables. Должен загрузиться настроенный набор правил из файла /etc/iptables_rules.
Шаг 7 — Hestia CP переключение версии PHP
Функция переключения версии PHP для конкретного сайта должна быть в каждой панели для управления хостингом. Ибо каждая CMS выдвигает свои требования для версии интерпретатора PHP.
Итак, проверим работает ли переключатель PHP в Hestia CP. После установки Hestia, я загрузил файл phpinfo. PHPinfo показал, что у меня установлен PHP версии 7.4.15.
Теперь я хочу установить поддержку PHP например версии 7.3, которую требует например движок DataLife Engine (DLE) (на php 7.4 DLE не работает).
Перехожу в меню Server → Configure → Web server, пролистываю до раздела Enabled PHP versions и ставлю галочку напротив нужно мне версии PHP. Нажимаю кнопку Save. Разработчики предупреждают: «Сохранение изменений может занять несколько минут. Дождитесь завершения процесса и не обновляйте страницу.»
Ждем какой-то время за чашкой чая. Страница обновляется. Переходим в настройки тестового сайта и в разделе «Backend Template PHP-FPM» выбираем нужную версию PHP.
Жмем кнопку Save. И обновляем страницу выводимую файлом phpinfo.
И таки да!!! Я вижу версию PHP Version 7.3.27-2+ubuntu20.04.1+deb.sury.org+1. Слава богу! Я действительно не просто потерял время на изучение этой панели и могу сказать панель HestiaCP пригодна к работе и является хорошим продуктом. Рекомендую к использованию на VDS/VPS Zomro.
1 Установка Ubuntu Server
Нам потребуется, установленный Ubuntu Server (я использовал версию 18.04.2 LTS), нужно будет задать ему имя (netxms, например), статический IP-адрес (тот еще квест с непланом этим) и обеспечить разрешение имен в сети.
Задать статический IP-адрес можно во время установки Ubuntu, на шаге 4. Небольшой нюанс, в этой версии, видимо, есть какой-то баг, при вводе Search domains установка запускается заново, поэтому это поле не заполняем:
Придётся его настроить после установки. На шаге 7 введите имя сервера, у меня это netxms. Не забудьте установить SSH-сервер, хотя можно поставить и после установки:
Больше мне про установку нечего сказать. Единственно что, я предпочитаю search domains прописать, чтобы разрешение имен по короткому имени нормально работало. Хотя это и необязательно, по полному тоже устроит. Для этого, после завершения установки и логина в сиcтему редактируем файл 50-cloud-init.yaml :
sudo nano /etc/netplan/50-cloud-init.yaml
Добавляем строку с нашим доменом AD, в моем случае это search: . Перед ней только пробелы, табы не подойдут:
network: ethernets: ens33: addresses: - 192.168.1.56/24 gateway4: 192.168.1.1 nameservers: search: addresses: - 192.168.1.51 version: 2
После сохранения нужно выполнить:
sudo netplan apply
После этого разрешение имен должно работать по короткому имени.
FAQ 3 — Как настроить удаленное резервное копирование по FTP в Hestia CP
Важно! Резервное копирование осуществляется изначально на локальном сервере и только потом происходит копирование на удаленный сервер по FTP или SFTP.
Для того чтобы хранить данные на удаленном сервере Hestia поддерживает резервное копирование на внешний FTP сервер.
- На пером шаге настраиваем доступ к внешнему FTP серверу, для этого переходим в Верхнем меню Server → Configure → Backups («Настройки сервера → Настроить → Резервные копии»). Здесь же находится вкладка для настроек Локального хранения резервных копий.
- Переходим в меню и открываем вкладку «Remote backup (Удалённый бекап) и заполняем все поля: «Протокол» – выбираем протокол, настроенный на вашем сервере резервного копирования — ftp или sftp (по умолчанию ftp). «Хост» – адрес ftp сервера. «Порт» – порт ftp сервера. «Аккаунт» – имя пользователя ftp сервера. «Пароль» – пароль пользователя. «Каталог» – указать адрес папки куда сохранять бэкапы сервера (адрес указываем от корня сервера, на например как в Vesta /home/backup/).
- Что бы резервное копирование выполнялось автоматически, необходимо настроенное задание в CRON. По умолчанию резервное копирование происходит в 5:10 утра по времени вашего сервера. Но если вы хотите поменять настройки запуска, вам следует на странице CRON найти скрипт v-backup-users и нажать кнопку конфигурирования.
Рекомендую создавать резервную копию в ночное время, при создании копии увеличивается нагрузка на сервер, из-за чего сайты могут открываться с задержкой.
По умолчанию панель управления делает резервные копии каждый день и сохраняет «1 копию». Для того чтобы изменить количество хранимых копий нужно перейти в раздел Users→Packages («Записи → Пакеты»). Изначально там находиться 1 пакет, с именем default. Зайдите в его настройки и задайте нужное количество резервных копий.
Подготовка к установке
Мы будем устанавливать систему из Live-образа, поэтому указанные действия верны именно для этого способа.
Шаг 1. Загрузка установочного образа
В отличие от netinst варианта, предлагаемого по умолчанию, большая часть пакетов находится в самом образе, что значительно ускорит процесс установки.
Подробнее про запись на флешку разными способами смотрите в этой статье.
Шаг 3. Загрузка с флешки
Для запуска с флешки следует выставить приоритет в BIOS/UEFI. В графическом интерфейсе просто перетащите флэш-накопитель на первое место, или же в разделе Boot – Priority переместите его на первое место в списке клавишами +/-. Также можете вызвать меню выбора накопителя.
Если вы всё сделаете правильно, то вас встретит такое меню при запуске компьютера.
Установка по сети (netinstall)
С сетевой установкой Debian есть определенная путаница. Как я уже ранее говорил, название iso образа netinst.iso вводит в заблуждение. На самом деле, с этого образа можно установить минимальную систему даже без наличия локальной сети. Но в то же время, при наличии интернета можно загрузить любой дополнительный пакет.
Настоящее руководство по netinstall представляет из себя совсем другую процедуру. Подробно она описана в официальном мануале — Подготовка файлов для загрузки по TFTP. Смысл сетевой установки в том, что вы со своего компьютера, на который хотите установить систему Debian, подключаетесь по технологии PXE к TFTP серверу и с него начинаете загружать установочные файлы.
При такой процедуре, вам для установки системы на компьютер не нужно ничего, кроме локальной сети и настроенного tftp сервера. Кроме этого, сетевая карта компьютера должна поддерживать технологию PXE. Такой вариант сетевой установки дебиан будет удобен, если вам необходимо развернуть систему на большое количество машин.
Мне приходилось настраивать TFTP сервер для отдачи файлов при загрузке по PXE. Изначально кажется, что все это слишком сложно, но на самом деле ничего сложного нет. Я без особых проблем смог настроить бездисковые станции для запуска linux системы. Но это отдельная история, выходящая за рамки данной инструкции.
Устанавливаем и настраиваем trac
Ставим trac на наш сервер
sudo apt-get install trac
Создаём окружение trac’a в папке, видимой веб-серверу (для примера пусть это будет )
sudo trac-admin /var/www/trac initenv
Устанавливаем владельца для папки с trac’ом
sudo chown -R www-data:www-data /var/www/trac
Поскольку trac использует авторизацию по файлу — создадим его:
sudo htpasswd -c /var/www/trac/.htpasswd my-username
Теперь мы можем запустить демон trac’a (для примера на 127.0.0.1:3050)
sudo tracd -d --port=3050 --hostname=127.0.0.1 --single-env /var/www/trac --basic-auth="trac,/var/www/trac/.htpasswd,Trac"
Теперь настроим nginx для работы с trac по такой схеме.
upstream trac { server 127.0.0.1:3050; } server { listen 80; server_name trac.my-cool-webserver.com; access_log /var/log/nginx/trac.access.log main; error_log /var/log/nginx/trac.error.log; root /var/www/trac; index index.html; location ~ /(.*?)/chrome/site/ { access_log off; autoindex off; expires 1d; rewrite /(.*?)/chrome/site/(.*) /$1/htdocs/$2 break; } location / { auth_basic "Restricted Zone"; auth_basic_user_file /var/www/trac/.htpasswd; proxy_pass https://trac; proxy_redirect off; include /etc/nginx/conf.d/proxy_cache.conf; } location ~ /\. { deny all; access_log off; log_not_found off; } }
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Range ""; proxy_set_header Request-Range ""; proxy_ignore_headers "Cache-Control" "Expires"; proxy_connect_timeout 60; proxy_send_timeout 600; proxy_read_timeout 600; proxy_buffering on; proxy_buffers 16 32k; proxy_buffer_size 32k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; add_header Cache-Control 'private'; proxy_hide_header "Cache-Control"; add_header Cache-Control "no-store, must-revalidate, post-check=0, pre-check=0"; proxy_hide_header "Pragma"; add_header Pragma "no-cache"; expires -1; add_header Last-Modified $sent_http_Expires;
Теперь создадим файл для запуска trac и сохраним его в /etc/init.d.
#!/bin/sh ### BEGIN INIT INFO # Provides: tracd # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the tracd web server # Description: starts tracd using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/bin/tracd NAME=tracd DESC=tracd HOST="127.0.0.1" PORT=3050 ROOTDIR="/var/www/trac" test -x $DAEMON || exit 0 set -e . /lib/lsb/init-functions case "$1" in start) echo -n "Starting $DESC: " $DAEMON -d --port=$PORT --hostname=$HOST --single-env $ROOTDIR --basic-auth="*,$ROOTDIR/.htpasswd,Trac" echo "OK" ;; stop) echo -n "Stopping $DESC: " killall $NAME echo "$NAME." ;; esac exit 0
Проверим в браузерe .
Для начала у вас должен быть запрошен логин и пароль, что мы указали в файле .htaccess. После чего вы увидите интерфейс trac.
Это всё.
Удачи!
Шаг 2 — Войдите как системный пользователь (root)
Вам нужно будет подключиться к вашему серверу как root, либо напрямую с консоли, либо удаленно с помощью SSH.
Обновите операционную систему, проверьте имя компьютера, локаль, время. Обычно достаточно просто обновить дистрибутив командами:
# apt update # apt list --upgradable # apt upgrade
и добавить несколько системных утилит:
# apt install lsb-release htop net-tools
Также проверьте имя компьютера командой hostname с ключом f. Имя сервера должно соответствовать FQDN, говоря по простому если вы можете используя имя сервера (а не его IP) получить доступ используй протокол SSH — то ОК. Безусловно, если вы планируете использовать полноценный почтовый сервер вам требуется сделать дополнительные проверки — изучите чек лист по настройке VPS/VDS, выделенного сервера Linux с нуля.
Работа с утилитой ifconfig
В завершении сетевых настроек хотел немного поговорить об ifconfig. Ранее я упомянул, что более современным средством для настройки сети является утилита ip. В последних релизеах Debian и CentOS ifconfig вообще исключили из базовой установки, ее приходится устанавливать отдельно. IP объединяет в себе два функционала — настройка сетевых интерфейсов и маршрутизации. То есть по сути она заменяет ifconfig + route. В ней реализован функционал обоих программ.
Сам я привык к ifconfig, так как она есть не только в linux, но и в freebsd. Удобно использовать одно и то же средство во всех дистрибутивах. Но последнее время переучиваюсь на ip, так как надо идти в ногу со временем. Тенденция такова, что ip будут продвигать все сильнее и сильнее в силу его большей новизны и, наверное, удобства. Что касается удобства, лично я ничего не могу сказать, мне совершенно все равно, какую команду использовать:
или
Делают они одно и то же. Остальные команды по конфигурированию сетевых интерфейсов тоже не сильно отличаются, просто пишутся немного по-разному. Вот пример работы с маршрутами:
или
В случае с ip мы работаем с одной командой, а не двумя. Чем пользоваться вам, выбирайте сами. Если не привыкли к чему-то конкретному, рекомендую использовать ip. Мне было бы любопытно узнать, кто, что использует. Оставьте свой комментарий на эту тему.
На этом я завершаю свой материал по теме настройки сети в debian. Я рассмотрел все наиболее значимые и необходимые параметры, с которыми приходится сталкиваться во время конфигурирования сервера.
Почему Jitsi лучше, чем Zoom?
Во-первых, мы не утверждаем, что это так. Но были вопросы о качестве конфиденциальности Zoom, которые заставляют многих людей искать другие варианты. Помимо прочего, Jitsi не требует от вас создания учетной записи или установки плагинов браузера для работы.
Кроме того, Jitsi Meet поставляет с довольно богатым набором функций совершенно бесплатно.
- общий доступ к экрану для презентации или обзоров документов;
- веселые, настраиваемые URL-адреса встреч;
- возможность приглашать столько пользователей, сколько поддерживает ваша инфраструктура;
- совместное редактирование документов;
- интеграция календаря Google и Microsoft;
- интеграция с другими программами для совместной работы, такими как Slack;
- мобильные приложения для Android и Apple.
Шаг 5: Настройка vsftpd в Debian
Для настройки vsftpd требуется несколько дополнительных манипуляций. И их надо выполнить, прежде чем мы сможем войти в систему и начать взаимодействовать с сервером. Для этого отредактируйте основной файл конфигурации – .
Есть несколько настроек, которые вам необходимо сделать.
Давайте сначала начнем с FTP-доступа. По умолчанию доступ предоставляется анонимным пользователям. Но это не то, чего мы хотим. Так как от этого страдает безопасность. Поэтому мы отключим вход анонимного пользователя и предоставим доступ только локальному пользователю.
Далее вам необходимо разрешить локальному пользователю загружать файлы и получать доступ к домашнему каталогу, а также вносить изменения в файлы. Сделайте следующую настройку:
Кроме того, вы можете ограничить локальных пользователей, которые могут получать доступ к файлам и загружать их, указав пользователей содержащихся в файле .
Чтобы обеспечить безопасное FTP-соединение с сервером, нам нужно зашифровать сервер с помощью SSL — сертификата. Мы создадим самозаверяющий сертификат SSL для шифрования сервера. Чтобы сделать это выполните команду.
Далее вернитесь к файлу конфигурации и вставьте эти строки, чтобы указать путь к сгенерированным сертификатам SSL и включить SSL.
Файл конфигурации должен содержать следующие строки:
Чтобы изменения вступили в силу, перезапустите сервер. Сделать это можно командой:
Чтобы убедиться, что все работает, вы можете проверить состояние следующей командой.
Установка утилит mc, htop, iftop
Следующим шагом я настраиваю некоторые полезные утилиты, которыми регулярно пользуюсь в повседневной работе. Первая из них это всем известный двухпанельный файловый менеджер Midnight Commander. Установим mc на наш сервер:
# apt install mc
И сразу же для него включаю подсветку синтаксиса всех файлов, которые не обозначены явно в файле /usr/share/mc/syntax/Syntax синтаксисом для sh и bash скриптов. Этот универсальный синтаксис нормально подходит для конфигурационных файлов, с которыми чаще всего приходится работать на сервере. Перезаписываем файл unknown.syntax. Именно этот шаблон будет применяться к .conf и .cf файлам, так как к ним явно не привязано никакого синтаксиса.
# cp /usr/share/mc/syntax/sh.syntax /usr/share/mc/syntax/unknown.syntax
Я сразу же ставлю редактором по-умолчанию mcedit. Для этого просто выбираю его из меню при первом редактировании какого-нибудь файла. Если у вас такое меню не появляется, можете вызвать его сами и выбрать необходимый редактор по-умолчанию:
# select-editor Select an editor. To change later, run 'select-editor'. 1. /bin/nano <---- easiest 2. /usr/bin/mcedit 3. /usr/bin/vim.tiny Choose 1-3 : 2
Так же я рекомендую очень удобный диспетчер задач — htop. Мне он помог, к примеру, решить проблему Взлома сервера CentOS. Ставим его на сервер:
# apt install htop
Полезной утилитой, позволяющей смотреть сетевую загрузку в режиме реального времени, является iftop. Очень рекомендую. Более простого и удобного инструмента мне не попадалось, хотя я много перепробовал подобных вещей. Устанавливаем iftop на сервер:
# apt install iftop
Общие сведения
TrueNAS – это операционная система, основанная на базе FreeBSD, с открытым исходным кодом, которая уже приобрела огромную популярность, так как позволяет создать собственную, профессиональную систему хранения данных без затрат на программное обеспечение.
Высокая надежность хранения данных обеспечивается благодаря:
- файловой системе OpenZFS, которая лежит в основе TrueNAS CORE;
- Интегрированному программному RAID, обеспечивающий дополнительную защиту данных;
- Автоматическому обнаружению и устранению повреждений в данных;
- Моментальным снимкам системы, которые позволяют откатывать ее к предыдущему состоянию;
- Перемещению информации в облако или другую локальную систему при помощи репликации;
- Интеграции с существующими решениями для резервного копирования (Veeam, Asigra).
Установка и настройка DBeaver в Ubuntu 20.04 / 18.04 / 16.04 и Debian 10/9
В этом посте я расскажу, как установить DBeaver Database Tool на Ubuntu 18.04 / Ubuntu 16.04 и Debian 10/9. DBeaver CE — это бесплатный мультиплатформенный инструмент управления базами данных / клиент SQL с открытым исходным кодом, разработанный для разработчиков, программистов SQL, аналитиков и администраторов баз данных.
DBeaver поддерживает любую базу данных, имеющую драйвер JDBC — MySQL / MariaDB, PostgreSQL, Oracle, DB2 LUW, Google BigQuery, Exasol, SQL Server, Sybase / SAP ASE, SQLite, Firebird, H2, HSQLDB, Derby, Teradata, Vertica, Netezza, Informix. и т. д. Если вам нужна поддержка источников данных, не относящихся к JDBC, таких как WMI, MongoDB, Cassandra, Redis, то подумайте об использовании DBeaver Enterprise Edition .
DBeaver основан на платформе Eclipse и является хорошим инструментом для создания SQL-запросов, редактирования и передачи данных, просмотра деревьев объектов, выполнения задач администрирования базы данных, мониторинга сеансов подключения к базе данных и многого другого.
Выполните следующие шаги, чтобы установить DBeaver в Ubuntu 18.04 / Ubuntu 16.04 / Debian 9.
Обновление системы, отличие apt upgrade от dist-upgrade и full-upgrade
Сеть настроили, теперь можно обновить систему и пакеты. В Debian это делается достаточно просто. Воспользуемся несколькими командами. Сначала обновим локальный индекс пакетов до последних изменений в репозиториях:
# apt update
Посмотреть список пакетов, готовых к обновлению, можно с помощью команды:
# apt list --upgradable
# apt upgrade
Ключ upgrade выполняет только обновление одной версии пакета на другую, более свежую. Он не будет устанавливать или удалять пакеты, даже если это необходимо для обновления других. Это наиболее безопасный и надежный вариант обновления, но он может обновить не все. Например, с ее помощью не обновить ядро до более свежей версии.
Ключ dist-upgrade или full-upgrade (это одно и то же) в дополнение к upgrade обрабатывает все изменения зависимостей для новых пакетов и во время работы может удалять ненужные и ставить необходимые пакеты для обновления. Вот выдержка из документации по поводу этих двух ключей.
Так что после обычного обновления, делаем еще full-upgrade.
# apt full-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: dh-python guile-2.0-libs libbind9-140 libdns162 libicu57 libisc160 libisccc140 libisccfg140 liblvm2app2.2 liblvm2cmd2.02 liblwres141 libperl5.24 libpython3.5-minimal libpython3.5-stdlib linux-image-4.9.0-3-amd64 python3-distutils python3-lib2to3 python3.5 python3.5-minimal rename sgml-base tcpd xml-core Use 'apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Мне предлагается удалить старые пакеты, которые больше уже не нужны. Это зависимости от старых версий софта, который уже обновился и получил новые пакеты из зависимостей, а эти ему больше не нужны. Очистим их командой:
# apt autoremove
Рекомендую делать это регулярно после обновлений, чтобы старые пакеты не занимали лишнее место на диске.
На этом обновление системы закончено. Если вы хотите обновить версию релиза, например Debian 9 обновить до Debian 10 Buster, то читайте отдельный материал.
Downloading the VPN app
1. Download the NordVPN Linux client by opening the terminal, writing the command below, and following any on-screen instructions:
sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)
Note: If you do not have a curl package, evidenced by the fact that the above does not work, you can alternatively use this command:
Additionally, if you receive the following issue: Whoops! Permission denied accessing /run/nordvpn/nordvpnd.sock, all you need to do is write the following command: sudo usermod -aG nordvpn $USER and then reboot your device.
2. Log in to your NordVPN account:
nordvpn login
3. Connect to a NordVPN server:
nordvpn connect
Установка шлюза по-умолчанию (default gateway)
Теперь разберемся со шлюзом по-умолчанию. В предыдущих примерах со статическим ip адресом и настройками по dhcp у нас не было необходимости указывать отдельно default gateway. Мы его устанавливали вместе с остальными настройками. Чтобы посмотреть установленный по-умолчанию шлюз в debian, можно воспользоваться следующей командой в консоли:
Это шлюз по-умолчанию (default gateway). Можно воспользоваться другими, более популярными и привычными командами:
Если получите ошибки:
Значит у вас не установлен пакет net-tools. Установить его можно следующей командой.
Сетевые инструменты из пакета net-tools объявлены устаревшими и не включены в состав базовой системы. Я ими продолжаю пользоваться, потому что мне нравится их вывод больше, чем у команды ip. Netstat мне видится более информативным, хотя по сути, они все показывают одно и то же. Отказ в пользу утилиты ip идет по той причине, что она объединяет в себе все основные сетевые инструменты. Удобнее пользоваться только ей одной для настройки сети, нежели разными утилитами для разных целей.
Если нам нужно сменить default gateway, то сначала надо удалить текущий шлюз, а потом назначить новый.
То же самое, только с помощью ip:
Проверяем, что получилось:
Все получилось. Эта настройка будет действовать до перезагрузки. Чтобы ее сохранить, либо меняйте конфигурационный файл interfaces, либо, при необходимости, придумывайте что-то еще.
Установка и настройка screen
Я привык в своей работе пользоваться консольной утилитой screen. Изначально она задумывалась как инструмент, который позволяет запустить что-то удаленно в консоли, отключиться от сервера и при этом все, что выполняется в консоли продолжит свою работу. Вы сможете спокойно вернуться в ту же сессию и продолжить работу.
Первое время я именно так и использовал эту утилиту. Редко ее запускал, если не забывал, когда выполнялся какой-то длительный процесс, который жалко было прервать из-за случайного обрыва связи или необходимости отключить ноутбук от сети и куда-то переместиться.
Позже я решил подробнее ознакомиться с этим инструментом и обнаружил, что там есть несколько удобных моментов, которые можно использовать в ежедневной работе. Вот как использую утилиту screen я. При подключении к серверу у меня запускается screen с тремя окнами 1, 2, 3. Первое окно автоматически переходит в каталог /, второе в /etc, третье в /var/log. Я осмысленно назвал эти окна: Main, etc, logs соответственно. Внизу находится строка состояния, в которой отображен список всех открытых окон и подсвечено активное окно.
С помощью горячих клавиш я очень быстро переключаюсь между окнами в случае необходимости. Вот как выглядит мое рабочее окно ssh подключения:
Переключаюсь между окнами с помощью стандартных горячих клавиш screen: ctrl+a 1, ctrl+a 2, ctrl+a 3. Я специально изменил нумерацию, чтобы она начиналась не с 0 по-дефолту, а с 1. Так удобнее на клавиатуре переключать окна. Кнопка 0 находится слишком далеко от 1 и 2.
Чтобы настроить такую же работу screen, как у меня, достаточно выполнить несколько простых действий. Сначала устанавливаем screen:
# apt install screen
Создаем в каталоге /root конфигурационный файл .screenrc следующего содержания:
# mcedit /root/.screenrc
#Выводим строку состояния hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" # Добавляем некоторые настройки startup_message off defscrollback 1000 defutf8 on shell -$SHELL # Создаем несколько окон chdir screen -t Main 1 chdir /etc screen -t etc 2 chdir /var/log screen -t logs 3 # Активное первое окно после запуска select 1
Для знакомства с настройками, горячими клавишами и вариантами применения утилиты screen можно по адресу http://itman.in/ssh-screen/ Мне помог этот материал. Написано кратко, по делу и доходчиво.