🐳❓ Хотите стать экспертом по Docker и микросервисам? Освойте ключевые навыки для разработки, упаковки и развертывания приложений с Docker-образами!
⏰ На открытом вебинаре 13 мая в 20:00 мск мы разберём, как эффективно использовать Docker для контейнеризации и автоматизации процессов развертывания микросервисов. Вы познакомитесь с принципами создания и оптимизации Docker-образов, а также с лучшими практиками DevOps и CI/CD.
Умение использовать Docker для автоматизации и управления микросервисами сделает вас более конкурентоспособным на рынке труда. Получите знания, которые востребованы в крупных компаниях.
👉 Регистрируйтесь на открытый урок и получите скидку на программу обучения «DevOps-практики и инструменты»: https://vk.cc/cLR9VN
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
⏰ На открытом вебинаре 13 мая в 20:00 мск мы разберём, как эффективно использовать Docker для контейнеризации и автоматизации процессов развертывания микросервисов. Вы познакомитесь с принципами создания и оптимизации Docker-образов, а также с лучшими практиками DevOps и CI/CD.
Умение использовать Docker для автоматизации и управления микросервисами сделает вас более конкурентоспособным на рынке труда. Получите знания, которые востребованы в крупных компаниях.
👉 Регистрируйтесь на открытый урок и получите скидку на программу обучения «DevOps-практики и инструменты»: https://vk.cc/cLR9VN
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Forwarded from Bash Советы
Спецсимволы в bash
Далее перечислены символы и синтаксические конструкции, имеющее особое значение в bash. Для ввода спецсимволов как они есть используют кавычки или спецсимвол \ отменяющий специальное значение следующего символа
\ Экранирование. Отменяет специальное значение следующего символа
\\ Символ "\"
# Комментарий, не работает в кавычках и в некоторых подстановках переменных и преобразовании основания чисел
echo "Это #не комментарий"
echo 'Это # не комментарий’
echo Это \# не комментарий
echo Это # Вот комментарий.
echo ${PATH#*:} #Специальная переменная
echo $(( 2#101011 )) #Преобразование системы счисления в арифметической подстановке.
>, >> - перенаправление стандартного вывода программы в файл
< - перенаправление стандартного ввода программы из файла
<<TERM перенаправление стандартного ввода программы из текста текущего скрипта со следующей строки до строки, состоящей из слова TERM.
|- перенаправление стандартного вывода программы на стандартный ввод другой программы
; Разделитель команд в строке
echo hello; echo world
;; Разделитель альтернатив в операторе case
case "$VARiable" in
abc) echo "$VARiable = abc" ;;
xyz) echo "$VARiable = xyz" ;;
esac
. Аналог команды source (#include в С++). Выполняет скрипт в текущем интерпретаторе.
. myconf
".." Двойные кавычки, отменяют действие спецсимволов кроме $
'...' Апострофы, отменяют действие всех спецсимволов в том числе и \, по этому нельзя включить апостроф в строку ограниченную апострофами
: Нулевая команда, всегда возвращает нулевой код ответа. В сочетании с перенаправлением ">" создает файл, или обнуляет существующий. В сочетании с перенаправлением ">>" создает файл, или изменяет время модификации существующего
:> data.xxx # File “data.xxx” now empty.
(можно и без двоеточия)
Шаблоны в именах файлов. Если подходящие имена находятся, то они подставляются в командную строку как отдельные аргументы (возможно с пробелами внутри). Если имена не находятся, то шаблон остается как есть.
* Шаблон заменяющий любую последовательность символов
? Шаблон заменяющий ровно один символ
[xyz] Шаблон заменяющий один из перечисленных символов
{xxx,yyy,zzz,...} Подстановка одного из вариантов в шаблон. В скобках не должно быть неэкранированных пробелов
grep Linux file*.{txt,htm*} # Ищет слово “Linux” в файлах вида “fileA.txt”, “file2.txt”, “fileR.html”, “file-87.htm”, etc.
$ Подстановка значения переменной, арифметического выражения или стандартного вывода программы. Если значение содержит пробелы, то при подстановке оно разбивается на отдельные аргументы.
$A содержимое переменной A
$$ PID процесса
$? Код возврата из последней выполненной программы или функции, а также код возврата самого скрипта
$((2*2)) подстановка результата вычисления арифметического выражения
$(cmd) подстановка стандартного вывода программы
Пример: A=EE; echo $A $(echo QQ) $((7+5))
Результат: EE QQ 12
Ошибка: $A=ZZ
Результат: bash: EE=ZZ: command not found
(...) Группировка команд
(A=hello; echo $A)
Для выполнения группы в скобках запускается новый интерпретатор
A=123
(A=321)
echo A = $A # A = 123
# "A" внутри скобок – локальная переменная.
(...) Создание массива ( только в bash версии > 2)
Array=(element1 element2 element3)
[] Элемент массива ( только в bash версии > 2)
Array[1]=slot_1
echo ${Array[1]}
{1..10} - подстановка чисел от 1 до 10
{c..n} - подстановка символов от "c" до "n"
{...} Создание безымянной функции, удобно для перенаправления ввода/вывода нескольких команд в один файл. В отличие от настоящей функции видимости переменных не изменяется.
PACK=mysql
{
echo
echo "Archive Listing:"
rpm -qpl ${PACK} # Список фалов в пакете rpm
echo
rpm -i --test ${PACK} # Проверка, установлен ли пакет.
} > "${PACK}.txt" #И весь вывод в один файл.
[...] Встроенная функция test для вычисления логических выражений
((...)) Арифметическая подстановка, вычисляет арифметическое выражение в стиле языка Си внутри скобок
& - запуск программы в фоновом режиме
bash$ sleep 10 &
[1] 850
[1]+ Done sleep 10
👉@bash_srv
Далее перечислены символы и синтаксические конструкции, имеющее особое значение в bash. Для ввода спецсимволов как они есть используют кавычки или спецсимвол \ отменяющий специальное значение следующего символа
\ Экранирование. Отменяет специальное значение следующего символа
\\ Символ "\"
# Комментарий, не работает в кавычках и в некоторых подстановках переменных и преобразовании основания чисел
echo "Это #не комментарий"
echo 'Это # не комментарий’
echo Это \# не комментарий
echo Это # Вот комментарий.
echo ${PATH#*:} #Специальная переменная
echo $(( 2#101011 )) #Преобразование системы счисления в арифметической подстановке.
>, >> - перенаправление стандартного вывода программы в файл
< - перенаправление стандартного ввода программы из файла
<<TERM перенаправление стандартного ввода программы из текста текущего скрипта со следующей строки до строки, состоящей из слова TERM.
|- перенаправление стандартного вывода программы на стандартный ввод другой программы
; Разделитель команд в строке
echo hello; echo world
;; Разделитель альтернатив в операторе case
case "$VARiable" in
abc) echo "$VARiable = abc" ;;
xyz) echo "$VARiable = xyz" ;;
esac
. Аналог команды source (#include в С++). Выполняет скрипт в текущем интерпретаторе.
. myconf
".." Двойные кавычки, отменяют действие спецсимволов кроме $
..
и \'...' Апострофы, отменяют действие всех спецсимволов в том числе и \, по этому нельзя включить апостроф в строку ограниченную апострофами
: Нулевая команда, всегда возвращает нулевой код ответа. В сочетании с перенаправлением ">" создает файл, или обнуляет существующий. В сочетании с перенаправлением ">>" создает файл, или изменяет время модификации существующего
:> data.xxx # File “data.xxx” now empty.
(можно и без двоеточия)
Шаблоны в именах файлов. Если подходящие имена находятся, то они подставляются в командную строку как отдельные аргументы (возможно с пробелами внутри). Если имена не находятся, то шаблон остается как есть.
* Шаблон заменяющий любую последовательность символов
? Шаблон заменяющий ровно один символ
[xyz] Шаблон заменяющий один из перечисленных символов
{xxx,yyy,zzz,...} Подстановка одного из вариантов в шаблон. В скобках не должно быть неэкранированных пробелов
grep Linux file*.{txt,htm*} # Ищет слово “Linux” в файлах вида “fileA.txt”, “file2.txt”, “fileR.html”, “file-87.htm”, etc.
$ Подстановка значения переменной, арифметического выражения или стандартного вывода программы. Если значение содержит пробелы, то при подстановке оно разбивается на отдельные аргументы.
$A содержимое переменной A
$$ PID процесса
$? Код возврата из последней выполненной программы или функции, а также код возврата самого скрипта
$((2*2)) подстановка результата вычисления арифметического выражения
$(cmd) подстановка стандартного вывода программы
...
тоже, что и $(...) – подстановка стандартного вывода программыПример: A=EE; echo $A $(echo QQ) $((7+5))
Результат: EE QQ 12
Ошибка: $A=ZZ
Результат: bash: EE=ZZ: command not found
(...) Группировка команд
(A=hello; echo $A)
Для выполнения группы в скобках запускается новый интерпретатор
A=123
(A=321)
echo A = $A # A = 123
# "A" внутри скобок – локальная переменная.
(...) Создание массива ( только в bash версии > 2)
Array=(element1 element2 element3)
[] Элемент массива ( только в bash версии > 2)
Array[1]=slot_1
echo ${Array[1]}
{1..10} - подстановка чисел от 1 до 10
{c..n} - подстановка символов от "c" до "n"
{...} Создание безымянной функции, удобно для перенаправления ввода/вывода нескольких команд в один файл. В отличие от настоящей функции видимости переменных не изменяется.
PACK=mysql
{
echo
echo "Archive Listing:"
rpm -qpl ${PACK} # Список фалов в пакете rpm
echo
rpm -i --test ${PACK} # Проверка, установлен ли пакет.
} > "${PACK}.txt" #И весь вывод в один файл.
[...] Встроенная функция test для вычисления логических выражений
((...)) Арифметическая подстановка, вычисляет арифметическое выражение в стиле языка Си внутри скобок
& - запуск программы в фоновом режиме
bash$ sleep 10 &
[1] 850
[1]+ Done sleep 10
👉@bash_srv
Media is too big
VIEW IN TELEGRAM
Введение в Linux – Полный курс для начинающих (
Если вы новичок в Linux, этот курс предназначен для вас. Вы познакомитесь со многими инструментами, которые ежедневно используют как системные администраторы Linux, так и миллионы пользователей, работающих с дистрибутивами Linux, такими как Ubuntu, на своих компьютерах. Курс научит вас работать с графическим интерфейсом Linux и его мощной экосистемой командной строки.
⌨️ (0:00:00) Introduction
⌨️ (0:01:38) Chapter 1. Introduction to Linux Families
⌨️ (0:07:39) Chapter 2. Linux Philosophy and Concepts
⌨️ (0:16:37) Chapter 3. Linux Basics and System Startup
⌨️ (1:05:36) Chapter 4. Graphical Interface
⌨️ (1:34:29) Chapter 5. System Configuration from the Graphical Interface
⌨️ (2:04:27) Chapter 6. Common Applications
⌨️ (2:12:57) Chapter 7. Command Line Operations
⌨️ (3:25:50) Chapter 8. Finding Linux Documentation
⌨️ (3:36:53) Chapter 9. Processes
⌨️ (4:07:51) Chapter 10. File Operations
⌨️ (4:31:11) Chapter 11. Text Editors
⌨️ (4:49:25) Chapter 12. User Environment
⌨️ (5:13:32) Chapter 13. Manipulating Text
⌨️ (5:40:04) Chapter 14. Network Operations
источник
👉 @i_odmin
Eng ver
)Если вы новичок в Linux, этот курс предназначен для вас. Вы познакомитесь со многими инструментами, которые ежедневно используют как системные администраторы Linux, так и миллионы пользователей, работающих с дистрибутивами Linux, такими как Ubuntu, на своих компьютерах. Курс научит вас работать с графическим интерфейсом Linux и его мощной экосистемой командной строки.
⌨️ (0:00:00) Introduction
⌨️ (0:01:38) Chapter 1. Introduction to Linux Families
⌨️ (0:07:39) Chapter 2. Linux Philosophy and Concepts
⌨️ (0:16:37) Chapter 3. Linux Basics and System Startup
⌨️ (1:05:36) Chapter 4. Graphical Interface
⌨️ (1:34:29) Chapter 5. System Configuration from the Graphical Interface
⌨️ (2:04:27) Chapter 6. Common Applications
⌨️ (2:12:57) Chapter 7. Command Line Operations
⌨️ (3:25:50) Chapter 8. Finding Linux Documentation
⌨️ (3:36:53) Chapter 9. Processes
⌨️ (4:07:51) Chapter 10. File Operations
⌨️ (4:31:11) Chapter 11. Text Editors
⌨️ (4:49:25) Chapter 12. User Environment
⌨️ (5:13:32) Chapter 13. Manipulating Text
⌨️ (5:40:04) Chapter 14. Network Operations
источник
👉 @i_odmin
Удаление бакетов в S3: что стоит учесть?
Объектное хранилище S3 — надёжный способ работать с большими объёмами данных. 27 мая проведем митап для тех, кто хочет точно понимать, как устроены ключевые процессы S3 — от настройки версионирования до безопасного удаления бакетов.
В формате демо разберём
🔹 настройку версионирования, multipart-загрузок и lifecycle-политик
🔹 автоматизацию очистки бакета (включая delete marker и незавершённые multipart-загрузки)
🔹 как подготовить бакет к удалению
🔹 настройку политик доступа, временных ссылок и шифрование на стороне сервера SSE
Спикер
Евгения Тарашкевич, инженер K2 Cloud
Формат
Онлайн-митап
Ждем администраторов, девопсов, системных архитекторов и всех, кто работает с S3.
Зарегистрироваться>>
Объектное хранилище S3 — надёжный способ работать с большими объёмами данных. 27 мая проведем митап для тех, кто хочет точно понимать, как устроены ключевые процессы S3 — от настройки версионирования до безопасного удаления бакетов.
В формате демо разберём
🔹 настройку версионирования, multipart-загрузок и lifecycle-политик
🔹 автоматизацию очистки бакета (включая delete marker и незавершённые multipart-загрузки)
🔹 как подготовить бакет к удалению
🔹 настройку политик доступа, временных ссылок и шифрование на стороне сервера SSE
Спикер
Евгения Тарашкевич, инженер K2 Cloud
Формат
Онлайн-митап
Ждем администраторов, девопсов, системных архитекторов и всех, кто работает с S3.
Зарегистрироваться>>
Генерируем пароль в терминале Linux
Будем использовать /dev/urandom и утилиты makepasswd, pwgen.
Используем /dev/urandom
При чтении устройство /dev/urandom возвращает бесконечный набор случайных байтов. Этот вывод можно отфильтровать с помощью утилиты tr. Затем, вывод передать команде xargs которая, по умолчанию выполняет команду echo и ей передается всё, что было прочитано из стандартного ввода. А с помощью утилиты head можно указать необходимое количество символов в пароле.
То есть сгенерировать пароль в Linux поможет следующая команда:
Вы можете сделать bash функцию и записать её в ваш .bashrc:
Затем применим изменения и попробуем сгенерировать пароль:
Используем makepasswd
Утилита makepasswd может также помочь сгенерировать пароль в Linux. Она также использует /dev/urandom, чтобы создавать случайные пароли. Вы можете установить её с помощью apt:
Просто выполните эту команду без параметров чтобы получить случайный пароль:
Можете указать количество символов в пароле с помощью опции chars и можете создать несколько паролей с помощью опции count:
Можно создать пароли и сразу вывести их зашифрованный хеш с помощью опции crypt-md5:
Используем pwgen
Утилита pwgen генерирует легко запоминаемые пароли. Но также можешь генерировать случайные пароли. Устанавливается она также, с помощью apt:
Если выполнить её без опций, то вы увидите список из легко запоминаемых паролей:
....
Вы можете указать количество необходимых паролей с помощью опции -N и указать количество символов в пароле с помощью опции -n:
Существует также опция -s чтобы создавать более сложные пароли (их сложнее запомнить и подобрать):
Я не заметил разницу в использовании опции -s, но в инструкции написано, что без этой опции пароль легче подобрать.
👉 @i_odmin
Будем использовать /dev/urandom и утилиты makepasswd, pwgen.
Используем /dev/urandom
При чтении устройство /dev/urandom возвращает бесконечный набор случайных байтов. Этот вывод можно отфильтровать с помощью утилиты tr. Затем, вывод передать команде xargs которая, по умолчанию выполняет команду echo и ей передается всё, что было прочитано из стандартного ввода. А с помощью утилиты head можно указать необходимое количество символов в пароле.
То есть сгенерировать пароль в Linux поможет следующая команда:
$ tr -dc A-Za-z0-9_ < /dev/urandom | head -c 10 | xargs
AurTdatFbw
Вы можете сделать bash функцию и записать её в ваш .bashrc:
$ nano .bashrc
genpasswd() {
local l=$1
[ "$l" == "" ] && l=16
tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs
}
Затем применим изменения и попробуем сгенерировать пароль:
$ . .bashrc
~$ genpasswd 5
Hbe7a
$ genpasswd 10
PDbt1tjBg0
Используем makepasswd
Утилита makepasswd может также помочь сгенерировать пароль в Linux. Она также использует /dev/urandom, чтобы создавать случайные пароли. Вы можете установить её с помощью apt:
$ sudo apt install makepasswd
Просто выполните эту команду без параметров чтобы получить случайный пароль:
$ makepasswd
5q6m4jMHJ
Можете указать количество символов в пароле с помощью опции chars и можете создать несколько паролей с помощью опции count:
$ makepasswd --chars 4 --count 3
1d65
R5Xe
Lhes
Можно создать пароли и сразу вывести их зашифрованный хеш с помощью опции crypt-md5:
$ makepasswd --chars 4 --count 3 --crypt-md5
DWBN $1$awZ5uNo/$r50RTWsihcMKEVQzoDyoZ1
xLN7 $1$h4ThtOu1$Bsmqhr/Tq/IIdGPtAVGda.
A2R2 $1$bss49Rj7$y.9nAbyr749N.eYRUF155.
Используем pwgen
Утилита pwgen генерирует легко запоминаемые пароли. Но также можешь генерировать случайные пароли. Устанавливается она также, с помощью apt:
$ sudo apt install pwgen
Если выполнить её без опций, то вы увидите список из легко запоминаемых паролей:
$ pwgen
Xu6Phei7 Ree2ud9e ohphah8I iiZ8Efoo foG0moh3 aSho2neL Phero4Ud thiCh9ei
uvaeChu0 eeCie5Um Wovie0do Eibuo3Ou Sai1Ovah po3OhT9j XeYei9ei eiQu2mai
....
Вы можете указать количество необходимых паролей с помощью опции -N и указать количество символов в пароле с помощью опции -n:
$ pwgen -N 3 -n 5
aeCo2 Le7oy uv6Oh
Существует также опция -s чтобы создавать более сложные пароли (их сложнее запомнить и подобрать):
$ pwgen -N 3 -n 5 -s
fY60V y6FIU 9XEt4
Я не заметил разницу в использовании опции -s, но в инструкции написано, что без этой опции пароль легче подобрать.
👉 @i_odmin
Forwarded from Bash Советы
🧠 Bash-совет дня: Проверка скорости интернет-соединения прямо из терминала
Если тебе нужно быстро проверить скорость интернета на сервере (например, VPS), не устанавливая громоздкие GUI-программы — вот решение:
📝 Альтернатива без установки — через
📊 Удобно использовать при диагностике проблем с сетью, особенно на серверах в разных дата-центрах.
👉@bash_srv
Если тебе нужно быстро проверить скорость интернета на сервере (например, VPS), не устанавливая громоздкие GUI-программы — вот решение:
#!/bin/bash
# Проверяем наличие speedtest-cli
if ! command -v speedtest &> /dev/null; then
echo "⏳ Устанавливаем speedtest-cli..."
apt update && apt install -y speedtest-cli # Для Debian/Ubuntu
# yum install -y speedtest-cli # Для RHEL/CentOS
fi
# Запускаем тест скорости
echo "🚀 Проверяем скорость интернет-соединения..."
speedtest
📝 Альтернатива без установки — через
curl
:
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -
📊 Удобно использовать при диагностике проблем с сетью, особенно на серверах в разных дата-центрах.
👉@bash_srv
Как упростить хранение логов и работу с данными?
В помощь отделу ИБ, DevOps- и SRE-инженерам, дата-аналитикам и разработчикам Selectel предлагает облако для OpenSearch.
Вы сможете создать готовый к работе кластер OpenSearch за несколько минут. Это поможет быстро найти, визуализировать и проанализировать данные, события или метрики без ограничений в масштабируемости.
Кроме производительного железа, бесперебойной работы и быстрого масштабирования в облаке Selectel для OpenSearch вы получите:
● бесплатные автоматические бекапы,
● возможность использовать диски разной производительности для холодного и горячего хранения
● Dashboard из коробки для аналитики и управления
Создайте кластер в OpenSearch за несколько кликов в Selectel по ссылке: https://slc.tl/4c9yj
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqwCvHSk
В помощь отделу ИБ, DevOps- и SRE-инженерам, дата-аналитикам и разработчикам Selectel предлагает облако для OpenSearch.
Вы сможете создать готовый к работе кластер OpenSearch за несколько минут. Это поможет быстро найти, визуализировать и проанализировать данные, события или метрики без ограничений в масштабируемости.
Кроме производительного железа, бесперебойной работы и быстрого масштабирования в облаке Selectel для OpenSearch вы получите:
● бесплатные автоматические бекапы,
● возможность использовать диски разной производительности для холодного и горячего хранения
● Dashboard из коробки для аналитики и управления
Создайте кластер в OpenSearch за несколько кликов в Selectel по ссылке: https://slc.tl/4c9yj
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqwCvHSk
Media is too big
VIEW IN TELEGRAM
SQL за полтора часа в одном видео! Полный базовый курс по SQL. Базы данных курс для начинающих!
00:00:00 Введение
00:02:43 Платные курсы и что изучать дальше
00:04:55 Коротко об онлайн редакторе
00:07:11 Что такое база данных
00:08:10 Что такое CRUD
00:10:05 Запрос на создание первой таблицы
00:11:57 Типы данных у атрибутов(колонок) (DATA TYPES)
00:17:26 Прописываем атрибуты(колонки) первой таблицы
00:21:07 Создаем первую таблицу (CREATE TABLE)
00:21:38 Проверка на наличие таблицы при создании (IF NOT EXISTS)
00:22:18 Запрос на удаление таблицы(DROP TABLE)
00:22:33 Проверка на наличие таблицы при удалении(IF EXISTS)
00:22:57 Запрос на добавление объекта в таблицу (INSER INTO table)
00:23:35 Запрос на чтение(получение) объектов из таблицы(SELECT * FROM table)
00:24:18 Модификаторы для атрибутов(колонок) таблицы(NOT NULL, DEFAULT, UNIQUE)
00:29:26 Изменение уже существующей таблицы(ALTER TABLE, ADD, DROP, RENAME, MODIFY COLUMN)
00:36:08 Удаление объектов из таблицы(DELETE FROM table)
00:37:06 Редактирование объекта в таблице(UPDATE table)
00:39:03 Первичный ключ(PRIMARY KEY)
00:45:37 Композиция в бд
00:50:38 "Иностранный" ключ(FOREIGN KEY)
00:57:26 Индексы в бд(INDEX)
00:59:24 Готовим данные для темы алиас, юнион и слияние таблиц
01:03:30 Слияние таблиц(INNER JOIN)
01:06:02 Слияние таблиц(LEFT JOIN)
01:06:53 Слияние таблиц(RIGHT JOIN)
01:07:26 Слияние таблиц(FULL JOIN/OUTER JOIN) и Union
01:09:04 Алиас(table AS alias)
01:12:18 Select Distinct в SQL
01:13:42 AND OR NOT в SQL
01:16:18 ORDER BY и LIMIT в SQL
01:17:35 MIN и MAX в SQL
01:18:25 COUNT SUM AVG в SQL
01:19:29 LIKE в SQL
01:21:31 IN и BETWEEN в SQL
01:22:50 GROUP BY в SQL
01:25:17 EXISTS в SQL
01:27:37 ANY и SOME в SQL
01:29:00 INSERT INTO в SQL
01:30:40 Отношения в базе данных
01:32:11 Отношения один к одному
01:33:09 Отношения один ко многим
01:34:09 Отношения многие ко многим
01:37:10 Отношения один к одному и один ко многим "через"
01:39:10 SQL инъекции
источник
👉 @i_odmin
00:00:00 Введение
00:02:43 Платные курсы и что изучать дальше
00:04:55 Коротко об онлайн редакторе
00:07:11 Что такое база данных
00:08:10 Что такое CRUD
00:10:05 Запрос на создание первой таблицы
00:11:57 Типы данных у атрибутов(колонок) (DATA TYPES)
00:17:26 Прописываем атрибуты(колонки) первой таблицы
00:21:07 Создаем первую таблицу (CREATE TABLE)
00:21:38 Проверка на наличие таблицы при создании (IF NOT EXISTS)
00:22:18 Запрос на удаление таблицы(DROP TABLE)
00:22:33 Проверка на наличие таблицы при удалении(IF EXISTS)
00:22:57 Запрос на добавление объекта в таблицу (INSER INTO table)
00:23:35 Запрос на чтение(получение) объектов из таблицы(SELECT * FROM table)
00:24:18 Модификаторы для атрибутов(колонок) таблицы(NOT NULL, DEFAULT, UNIQUE)
00:29:26 Изменение уже существующей таблицы(ALTER TABLE, ADD, DROP, RENAME, MODIFY COLUMN)
00:36:08 Удаление объектов из таблицы(DELETE FROM table)
00:37:06 Редактирование объекта в таблице(UPDATE table)
00:39:03 Первичный ключ(PRIMARY KEY)
00:45:37 Композиция в бд
00:50:38 "Иностранный" ключ(FOREIGN KEY)
00:57:26 Индексы в бд(INDEX)
00:59:24 Готовим данные для темы алиас, юнион и слияние таблиц
01:03:30 Слияние таблиц(INNER JOIN)
01:06:02 Слияние таблиц(LEFT JOIN)
01:06:53 Слияние таблиц(RIGHT JOIN)
01:07:26 Слияние таблиц(FULL JOIN/OUTER JOIN) и Union
01:09:04 Алиас(table AS alias)
01:12:18 Select Distinct в SQL
01:13:42 AND OR NOT в SQL
01:16:18 ORDER BY и LIMIT в SQL
01:17:35 MIN и MAX в SQL
01:18:25 COUNT SUM AVG в SQL
01:19:29 LIKE в SQL
01:21:31 IN и BETWEEN в SQL
01:22:50 GROUP BY в SQL
01:25:17 EXISTS в SQL
01:27:37 ANY и SOME в SQL
01:29:00 INSERT INTO в SQL
01:30:40 Отношения в базе данных
01:32:11 Отношения один к одному
01:33:09 Отношения один ко многим
01:34:09 Отношения многие ко многим
01:37:10 Отношения один к одному и один ко многим "через"
01:39:10 SQL инъекции
источник
👉 @i_odmin
🌐 MPLS и корпоративные сети: невостребованные опции или жизненно необходимый функционал?
Понимание основ технологий MPLS позволяет на качественно новом уровне рассмотреть применение их в сегменте корпоративных сетей.
Также сравнение типов сервисов, предоставляемых набором технологий MPLS, позволяют выявить ограничения в использовании какого- либо иного сервиса в корпоративных сетях.
На уроке:
- Рассмотрим основы MPLS
- Узнаем, как реализуются сервисы на базе MPLS
- Реализуем на практике один из сервисов MPLS
👉 Регистрация и подробности о курсе Network Engineer. Professional https://vk.cc/cLVEwC
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Понимание основ технологий MPLS позволяет на качественно новом уровне рассмотреть применение их в сегменте корпоративных сетей.
Также сравнение типов сервисов, предоставляемых набором технологий MPLS, позволяют выявить ограничения в использовании какого- либо иного сервиса в корпоративных сетях.
На уроке:
- Рассмотрим основы MPLS
- Узнаем, как реализуются сервисы на базе MPLS
- Реализуем на практике один из сервисов MPLS
👉 Регистрация и подробности о курсе Network Engineer. Professional https://vk.cc/cLVEwC
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
1. Основные зарезервированные папки в ubuntu linux
2. Команды ubuntu linux о системе, озу, цпу, жёсткий диск
3. Создание, удаление, изменение файлов и папок в ubuntu linux
4. Менеджер зависимостей в ubuntu linux
5. Процессы, мониторинг и остановка процессов в ubuntu
6. Systemctl start, stop, reload, status, enable в ubuntu linux
7. Пользователи. Создание, удаление пользователей в ubuntu linux
8. Sudoers, visudo, root пользователь и привилегии в ubuntu linux
9. Права и доступы в ubuntu linux
10. Общие рекомендации к ubuntu linux
источник
👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Книги для Системного Администратора
🖥 KVM: Управление виртуальными машинами из консоли (шпаргалка)
🔧 1. Проверка поддержки виртуализации:
Если результат > 0 — виртуализация поддерживается.
🔧 2. Установка KVM и утилит:
Для CentOS/RHEL:
🔧 3. Проверка запуска демонов:
📂 Основные команды управления ВМ:
📌 Список виртуальных машин:
📌 Запуск ВМ:
📌 Остановка ВМ (корректно):
📌 Жёсткое выключение (аналог выдернуть шнур):
📌 Автозапуск при загрузке хоста:
📌 Удаление ВМ:
📌 Снимок (snapshot):
📌 Восстановление из снимка:
📌 Консоль к ВМ (требуется virtio):
🛠 Создание новой ВМ из образа:
💾 Управление образами:
📌 Создать образ диска:
📌 Проверка и инфо о диске:
🔗 Сетевые настройки:
📌 Список сетей:
📌 Создание мостовой сети (bridge):
Редактировать
📌 Применить изменения:
📎 Полезное:
📌 Список ISO-образов, путь по умолчанию:
📌 Управление пулом хранения:
💡 Советы:
– Используйте
– Изучите
– Используйте
👉 @i_odmin_book
🔧 1. Проверка поддержки виртуализации:
egrep -c '(vmx|svm)' /proc/cpuinfo
Если результат > 0 — виртуализация поддерживается.
🔧 2. Установка KVM и утилит:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
Для CentOS/RHEL:
sudo yum install qemu-kvm libvirt virt-install bridge-utils virt-manager
🔧 3. Проверка запуска демонов:
sudo systemctl enable --now libvirtd
sudo systemctl status libvirtd
📂 Основные команды управления ВМ:
📌 Список виртуальных машин:
virsh list --all
📌 Запуск ВМ:
virsh start <vm_name>
📌 Остановка ВМ (корректно):
virsh shutdown <vm_name>
📌 Жёсткое выключение (аналог выдернуть шнур):
virsh destroy <vm_name>
📌 Автозапуск при загрузке хоста:
virsh autostart <vm_name>
📌 Удаление ВМ:
virsh undefine <vm_name>
📌 Снимок (snapshot):
virsh snapshot-create-as <vm_name> <snapshot_name>
📌 Восстановление из снимка:
virsh snapshot-revert <vm_name> <snapshot_name>
📌 Консоль к ВМ (требуется virtio):
virsh console <vm_name>
🛠 Создание новой ВМ из образа:
virt-install \
--name vm1 \
--ram 2048 \
--vcpus=2 \
--disk path=/var/lib/libvirt/images/vm1.qcow2,size=20 \
--os-type=linux \
--os-variant=ubuntu20.04 \
--network network=default \
--graphics none \
--console pty,target_type=serial \
--location /iso/ubuntu-20.04.iso \
--extra-args 'console=ttyS0'
💾 Управление образами:
📌 Создать образ диска:
qemu-img create -f qcow2 /var/lib/libvirt/images/vm1.qcow2 20G
📌 Проверка и инфо о диске:
qemu-img info /path/to/image.qcow2
🔗 Сетевые настройки:
📌 Список сетей:
virsh net-list --all
📌 Создание мостовой сети (bridge):
Редактировать
/etc/netplan/*.yaml
или /etc/network/interfaces
(в зависимости от дистрибутива).📌 Применить изменения:
netplan apply
📎 Полезное:
📌 Список ISO-образов, путь по умолчанию:
/var/lib/libvirt/images/
или /iso/
📌 Управление пулом хранения:
virsh pool-list
virsh vol-list default
💡 Советы:
– Используйте
virt-top
для мониторинга ВМ в реальном времени.– Изучите
virt-clone
для клонирования ВМ.– Используйте
virsh dumpxml
и virsh edit
для тонкой настройки конфигурации ВМ.👉 @i_odmin_book
⏳ Хотите перестать тратить часы на рутинные задачи сборки релизов 1С и автоматизировать весь процесс одним нажатием?
⏺ На открытом вебинаре 21 мая в 20:00 МСК вы узнаете, как использовать Docker, Jenkins и OneScript для автоматизации сборки релизов 1С. Разберёмся с настройкой окружения контейнера и запуском конфигурации напрямую из репозитория.
После урока вы сократите время на сборку и получите навыки для профессионального роста как DevOps-инженер 1С.
🚀 Присоединяйтесь к открытому вебинару и получите специальную скидку на курс «DevOps 1С»: https://vk.cc/cLX1z2
После урока вы сократите время на сборку и получите навыки для профессионального роста как DevOps-инженер 1С.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM