По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Продолжаем рассказывать про Terraform. Предыдущая статья тут. В данной статье мы разберем динамичные блоки кода в Terraform, которые можно использовать в своей работе. Данный функционал значительно облегчает написание кода Terraform с помощью которого мы управляем сервисами Amazon. В статье будет описан сценарий с генерацией кода Terraform. Данный функционал был добавлен в terraform 0.12 версии. Для работы создадим новую директорию, можно путем копирования из предыдущего урока. Директорию назовем lesson-5. Для написания кода мы по-прежнему используем текстовый редактор Atom. Мы можем создать файлик с именем DynamicSecurityGroup.tf или переименуем существующий webserver.tf если вы добавили папку путем копирования. Если вы создавали путем копирования отредактируем файл, убрав строчки, которые создают веб-сервер. Удаляем. Теперь мы начнем писать код Terraform, чтобы у нас появилась динамическая группа безопасности. В прошлой статье мы прописывали 2 правила. Данные правила открывали нам порты 80 и 22, аналогично можно прописать, чтобы открывался порт 443 ну или любой другой, который нам необходим для корректного инстанса и работоспособности сервиса. А теперь представим, что нам необходимо открыть еще 20 разных портов. Можно сделать это с помощью copy-paste, т.е. копированием и вставкой уже существующих блоков кода с редактированием протокола и номеров портов. В terraform версии 0.12 добавили функционал и назвали его DynamicBlocks, что позволит генерировать кусочки кода в Terraform. Добавим следующую часть кода: dynamic "ingress" { for_each = ["80", "443", "8080", "1541", "9092"] content { from_port = ingress.value to_port = ingress.value protocol = "tcp" cidr_blocks = ["0.0.0.0/0"] } } Разберем для лучшего понимания. Функция Dynamic, далее кавычки двойные и внутри мы пишем, что-будет динамическим, в нашем случае это функция Ingress. Открываем фигурные скобки и пишем цикл с помощью for_each = ["номерпорта1", "номерпорта2"] указывая номера портов. Следовательно, цикл for_each пройдется по каждому из параметров и будет применена конструкция content. Значения внутри конструкции content, будут заменены, а именно с какого порта на какой порт открывается доступ. Далее в конструкции content описываем используемый протокол сетевого уровня и cider_blocks – с каких IP или диапазонов IP разрешено использовать данной правило. Конструкция 0.0.0.0/0 позволяет указать, что данное правило с данным портом разрешено использовать всему интернету вне зависимости от IP адреса. В целях информационной безопасности рекомендую использовать конкретные подсети или конкретные IP адреса, конечно, если это не публичный сервис. Если посмотреть на пример, то написанное таким образом правило, сгенерирует нам 5 отдельных правил, т.е. получается достаточно удобно и сокращает нам количество строчек в коде, а также потенциально количество ошибок. Код становится более читаемым и легким. После использования в коде функции dynamic, мы можем удалить все ставшие ненужными функции ingress. Не забывайте изменить имя ресурса. Это делается путем редактирования переменной name в разделе функции resource, для читаемости кода и удобства управления ресурсами в облаке AWS. После того, как у нас готов наш код, мы можем его запустить. Так как, была создана новая папка, нам необходимо инициализировать ее использования. Переходим в необходимую директорию, в которой находится файл. И запускаем инициализацию стандартной командой terraform init. После ввода команды ожидаем пару минут, пока Terraform скачает все необходимые модули для подключения и работы. Следующей командой terraform apply мы запускаем код на исполнение. И получаем запрос на подтверждение операции. Среди вывода мы можем видеть: Это значит что все порты, которые были указаны в аргументах будут созданы. Осталось подтвердить и дождаться успешного выполнения операции.
img
Со временем все сталкиваются с проблемой нехватки места на диске компьютера. Если это ПК, то решить проблему сравнительно просто: добавляем еще один жёсткий диск на терабайт (при условии, что на материнской плате достаточно нужных разъемов). Но вот ноутбук - другое дело. Да, можно купить внешний жёсткий диск (у меня таких два по терабайту каждый) и носить с собой. Но есть риск повреждения диска и потери данных. Если перед вами стоит задача увеличения объёма жёсткого диска, то следующие несколько советов помогут временно решить эту проблему. Очистка корзины Самый простой способ - очистка корзины. При обычном удалении (например, через Delete или разделом Удалить из контекстного меню) с компьютера фотографий, видео или других уже ненужных файлов они не удаляются сразу. Это сделано чтобы предотвратить случайное удаление важных файлов. (Но это не помогает, когда ты "очень умный" и пользуешься Shift+Delete вместо Delete). В этом кейсе файлы перемещаются в корзину и занимают столь нужное место в памяти девайса. Чтобы очистить корзину на рабочем столе, сделайте правый клик кнопкой мыши на иконке корзины и выберите "Очистить корзину". Система еще раз предупреждает о невозможности восстановления файлов после данной операции. Для продолжения кликните кнопку "Да". Очистка диска Еще со времён XP (более старыми версиями я не пользовался) в Windows имеется встроенная утилита очистки диска, которая называется, как ни странно, "Очистка диска". Она может помочь освободить место путем удаления различных файлов, включая временные файлы Интернета, файл дампа системной памяти и даже предыдущие установки Windows, которые занимают немало места на HDD. Очистку диска можно запустить из меню Пуск в меню Администрирование Windows → Очистка диска или просто найти с помощью поиска. Выберите типы файлов, которые вы хотите удалить - например загруженные программные файлы, миниатюры - и нажмите кнопку ОК. Если не знаете, какие файлы удалятся при выборе каждого из перечисленных элементов, нажмите кнопку Просмотр файлов, чтобы проверить, прежде чем продолжить. А если вы хотите удалить все, включая системные файлы, вроде папки Windows со старой установкой, выберите Очистить системные файлы. Удаление временных файлов В Windows 10 есть возможность удаления временных и неиспользуемых файлов на запустив утилиту очистки диска. Для этого перейдите в Настройки → Система и выберите Хранилище. Затем нажмите на Временные файлы и компьютер отобразит статистику использования системного диска (обычно это диск C). Из списка выберите тип данных, которых хотите удалить и нажмите на "Удалить файлы" Включение контроля памяти Еще одним нововведение в Windows 10 является возможность настройки периодической автоматической очистки хлама. Это делается с помощью функции Контроль памяти в настройках устройств хранилища в настройках системы. Можно настроить систему на автоматическую очистку корзины и папки Загрузки вплоть до одного раза в день. Также можно настроить перемещение редко используемых файлов в облако. Очень удобно, что Windows сама регулярно может очищать корзину, а также отслеживает старые и ненужные файлы. Сохранение файлов на других дисках Если на компьютере установлены более одного жесткого диска или же один достаточно емкий диск разбит на несколько разделов, и вы заметили, что место на данном диске или разделе заканчивается, то эту проблему легко можно решить. Для этого достаточно изменить место сохранения по умолчанию для приложений, документов, музыки, изображений и видео. Откройте меню "Параметры" и выберите Система → Хранилище, а затем щелкните ссылку внизу для изменения места сохранения нового содержимого. Вы можете выбрать раздел или дисковод, даже съемный накопитель, например, USB флэш-накопитель или карту памяти, который подключен к компьютеру. Отключение режима гибернации Вместо полного отключения компьютера его можно перевести в режим гибернации, который позволяет компьютеру быстрее запускаться. Когда компьютер переходит в спящий режим, он сохраняет снимок файлов и драйверов перед завершением работы, и это занимает много места. Если для некритично время запуска системы (в любом случае SSD диски никто не отменял), вы можете освободить немного места на жестком диске, полностью отключив режим гибернации, потому что файл hiberfil.sys может занять гигабайты места на диске. Для этого запустите командную строку от имени администратора. В окне командной строки введите: powercfg/hibernate off, а затем нажмите Enter. (Если вам нужен будет этот режим, его можно повторно включить командой powercfg/hibernate.) Удаление неиспользуемых приложений У любого уважающего себя пользователя (особенно айтишника) на компьютере есть приложения и программы, которые не используется, либо приложения, которые установили и добросовестно забыли, или программное обеспечение, которое было предварительно установлено предусмотрительным производителем на компьютере. Чтобы узнать, какие приложения сколько места занимают, откройте меню "Параметры" и перейдите в раздел Приложения → Приложения и компоненты, а затем выберите "Сортировка по размеру". Чтобы удалить приложение из этого меню, выберите приложение и щелкните Удалить. Если по той или иной причине на Windows 10 установлены устаревшие программы, в этом списке они не отобразятся (некоторые появляются, но некоторые нет). Чтобы найти их, откройте Панель управления, Программы и компоненты. Чтобы удалить программу из этого списка, щелкните ее левой кнопкой мыши, чтобы выбрать ее, и нажмите кнопку "Удалить" в верхней части списка. Хранение файлов в облачных хранилищах Если вы используете облачное хранилище вроде OneDrive (идет по умолчанию с Windows 10) или другой службы, возможно, на компьютере имеются дубликаты фотографий или других файлов. Это не обязательно - все облачные службы хранения позволяют выбирать папки, которые загружаются и хранятся на компьютере (или в облаке). В случае с OneDrive щелкните правой кнопкой мыши значок OneDrive на панели задач и выберите Параметры. На вкладке Настройки установите флажок Экономить место и загружать файлы при необходимости. Этот параметр позволяет просматривать файлы, хранящиеся в OneDrive из проводника на компьютере, что позволяет показать все локальные и облачные файлы в одном месте. В проводнике в столбце "Состояние" можно отследить статус файлов в папке OneDrive. Имеются три состояния, который отмечены разными значками. Синее облако: файл хранится в облаке Зеленая галочка внутри белого кружочка: файл хранится локально, но если места станет мало он будет загружен обратно в облако; Белая галочка внутри зелёного кружочка: файл хранится локально, независимо от оставшегося маста. Можно легко перемещать папки и файлы OneDrive на компьютер и обратно. Чтобы переместить файл или папку, хранящуюся в OneDrive, на компьютер, щелкните его правой кнопкой мыши и выберите "Всегда сохранять на этом устройстве". Чтобы удалить локальную копию файла или папки и сохранить ее только в OneDrive, щелкните ее правой кнопкой мыши и выберите "Освободить место".
img
Команды Linux могут показаться пугающими на первый взгляд, если вы не привыкли использовать терминал. Для выполнения операций и процессов в вашей системе Linux существует огромное количество команд. Независимо от того, являетесь ли вы новичком в Linux или опытным пользователем, полезно иметь список общих команд под рукой. В этом руководстве вы найдете часто используемые команды Linux, а также загружаемую шпаргалку (так называемый cheatsheet) с синтаксисом и примерами. Скачать PDF Список команд Linux Важное замечание: В зависимости от настроек вашей системы для выполнения некоторых из приведенных ниже команд может потребоваться запуск sudo. Информация об оборудовании Показать сообщения, которые выводило ядро во время загрузки: dmesg Показать информацию о процессоре: cat /proc/cpuinfo Показать свободную и использованную память с: free -h Список информации о конфигурации оборудования: lshw Показать информацию о блочных устройствах: lsblk Показать устройства PCI в древовидной схеме: lspci -tv Отображение USB-устройств в виде древовидной диаграммы: lsusb -tv Показать информацию об оборудовании из BIOS: dmidecode Показать информацию о диске: hdparm -i /dev/disk Провести тест скорости чтения на устройстве/диске: hdparm -tT /dev/[device] Проверка на нечитаемые блоки на устройстве/диске: badblocks -s /dev/[device] Поиск Поиск определенного паттерна в файле: grep [pattern] [file_name] Рекурсивно искать паттерн в каталоге: grep -r [pattern] [directory_name] Найти все файлы и каталоги, связанные с конкретным именем: locate [name] Вывести список имен, начинающиеся с указанного символа a в указанном месте /folder/location, с помощью команды find: find [/folder/location] -name [a] Просмотр файлов, размер которых превышает указанный размер + 100M в папке: find [/folder/location] -size [+100M] Файлы Список файлов в каталоге: ls Список всех файлов (включая скрытые): ls -a Показать каталог, в котором вы сейчас работаете: pwd Создать новый каталог: mkdir [directory] Удалить файл: rm [file_name] Удалить каталог рекурсивно: rm -r [directory_name] Рекурсивно удалить каталог без подтверждения: rm -rf [directory_name] Скопировать содержимое одного файла в другой файл: cp [file_name1] [file_name2] Рекурсивно скопировать содержимое одного файла во второй файл: cp -r [directory_name1] [directory_name2] Переименовать имя_файла1 в имя_файла2: mv [file_name1] [file_name2] Создать символическую ссылку на файл: ln -s /path/to/[file_name] [link_name] Создать новый файл: touch [file_name] Показать содержимое файла: more [file_name] Показать первые 10 строк файла: head [file_name] Показать последние 10 строк файла: tail [file_name] Зашифровать файл: gpg -c [file_name] Расшифровать файл: gpg [file_name.gpg] Показать количество слов, строк и байтов в файле: wc Навигация Подняться на один уровень вверх в структуре дерева каталогов: cd .. Перейти в каталог $ HOME: cd Изменить местоположение на указанный каталог: cd /chosen/directory Сжатие файлов Заархивировать существующий файл: tar cf [compressed_file.tar] [file_name] Извлечь заархивированный файл: tar xf [compressed_file.tar] Создайте сжатый gzip tar-файл: tar czf [compressed_file.tar.gz] Сжать файл с расширением .gz: gzip [file_name] Передача файлов Скопировать файл в каталог сервера через ssh: scp [file_name.txt] [server/tmp] Синхронизировать содержимое каталога с резервным каталогом: rsync -a [/your/directory] [/backup/] Пользователи Показать подробности об активных пользователях: id Показать последние системные логины: last Показать, кто в данный момент вошел в систему: who Показать, какие пользователи вошли в систему и их активность: w Добавить новую группу: groupadd [group_name] Добавить нового пользователя: adduser [user_name] Добавить пользователя в группу: usermod -aG [group_name] [user_name] Удалить пользователя: userdel [user_name] Изменить информацию о пользователе: usermod Установка пакета Список всех установленных пакетов с yum: yum list installed Найти пакет по связанному ключевому слову: yum search [keyword] Показать информацию и краткую сводку о пакете: yum info [package_name] Установить пакет с помощью менеджера пакетов >YUM: yum install [package_name.rpm] Установить пакет с помощью менеджера пакетов >DNF: dnf install [package_name.rpm] Установить пакет с помощью менеджера пакетов >APT: apt-get install [package_name] Установить пакет .rpm из локального файла: rpm -i [package_name.rpm] Удалить пакет .rpm: rpm -e [package_name.rpm] Установить программное обеспечение из исходного кода: tar zxvf [source_code.tar.gz] cd [source_code] ./configure make make install Процессы Показать снимок активных процессов: ps Показать процессы в древовидной диаграмме: pstree Показать карту использования памяти процессами: pmap Показать все запущенные процессы: top Завершить процесс Linux с заданным идентификатором: kill [process_id] Завершить процесс с определенным именем: pkill [proc_name] Завершите все процессы, помеченные как proc: killall [proc_name] Список и сводка остановленных заданий в фоновом режиме: bg Перевод последней фоновой задачи в активный режим: fg Перевод конкретной задачи в активный режим: fg [job] Список файлов, открытых запущенными процессами: lsof Системная информация Показать информацию о системе: uname -r Показать информацию о релизе ядра: uname -a Показать, как долго работает система, включая среднюю нагрузку: uptime Показать имя хоста системы: hostname Показать IP-адрес системы: hostname -i История перезагрузки системы: last reboot Показать текущее время и дату: date Запрос и изменение системных часов: timedatectl Показать текущий календарь (месяц и день): cal Список залогиненых пользователей: w Показать текущего пользователя: whoami Показать информацию о конкретном пользователе: finger [username] Использование диска Показать свободное и использованное пространство на смонтированных системах: df -h Показать свободные иноды (inode) на смонтированных файловых системах: df -i Показать разделы диска, размеры и типы: fdisk -l Показать использование диска для всех файлов и каталогов: du -ah Показать использование диска в каталоге, в котором вы находитесь: du -sh Показать целевую точку монтирования для всей файловой системы: findmnt Смонтировать устройство: mount [device_path] [mount_point] SSH Подключиться к хосту как пользователь: ssh user@host Подключиться к хосту через SSH порт по умолчанию 22: ssh host Подключиться к хосту, используя определенный порт: ssh -p [port] user@host Подключиться к хосту через telnet порт по умолчанию 23: telnet host Разрешение файлов Назначить права на чтение, запись и выполнение всем: chmod 777 [file_name] Дать владельцу право на чтение, запись и выполнение, а также разрешение на чтение и выполнение для группы и других пользователей: chmod 755 [file_name] Назначить полное разрешение владельцу, а также разрешение на чтение и запись для группы и других пользователей: chmod 766 [file_name] Изменить владельца файла: chown [user] [file_name] Изменить владельца и групповое владение файлом: chown [user]:[group] [file_name] Сеть Список IP-адресов и сетевых интерфейсов: ip addr show Назначить IP-адрес интерфейсу eth0: ip address add [IP_address] Отображение IP-адресов всех сетевых интерфейсов: ifconfig Показать активные (прослушиваемые) порты: netstat -pnltu Показать порты tcp и udp и их программы: netstat -nutlp Показать больше информации о домене: whois [domain] Показать DNS информацию о домене: dig [domain] Обратный поиск по домену: dig -x host Обратный поиск IP-адреса: dig -x [ip_address] Поиск IP для домена: host [domain] Показать локальный IP-адрес: hostname -I Скачать файл из домена с помощью команды wget: wget [file_name] Сочетания клавиш Linux Убить процесс, запущенный в терминале: Ctrl + C Остановить текущий процесс: Ctrl + Z Вырезать одно слово перед курсором и добавить его в буфер обмена: Ctrl + W Вырезать часть строки перед курсором и добавить ее в буфер обмена: Ctrl + U Вырезать часть строки после курсора и добавить ее в буфер обмена: Ctrl + K Вставить из буфера обмена: Ctrl + Y Вызвать последнюю команду, которая соответствует предоставленным символам: Ctrl + R Запустите ранее вызванную команду: Ctrl + O Выйти из истории команд без выполнения команды: Ctrl + G Запустить последнюю команду еще раз: !! Выйти из текущей сессии: exit Заключение Чем чаще вы используете команды Linux, тем лучше вы их запомните. Не переживайте о запоминании их синтаксиса - используйте наш шпаргалку. А больше материалов про Linux можно найти в нашем разделе.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59