Вот по просьбе некоторых подписчиков и гостей канала, выкладываю скриншоты программы для администрирования AstraLinux SE: 1) скрин, где формируются хосты в таблицу(аналог SekretNet). Для тех кто не в теме то сверху имя машины, ниже версия установленной астры 2) скрин подключения по ssh bkb rdp 3) пример подключения по ssh к хосту, эта функция работает ко всем хостам в сети с открытыми портами Так же для обновления версии ПО используется машинка, на которой работает данная программа, а именно эта машина идеал, если версия на удаленных хостах не соответствует версии на данной машине (смотрит не только по самой версии, но и по допам, например 1.7.5.uu1), то копирует sources.list с этой машины на удаленный хост и инициализирует обновление с помощью Astra update, ключи -A -r -T (по желанию можно изменить) . P.S.: Уважаемые подписчики и гости данного канала, я понимаю, что не все асы и знают Linux, но давайте уважать тех, кто реально работает с данной системой. В комментариях есть люди, которые не понимают как всё работает (Astra примерно на 40% использует пакеты Python), и когда люди говорят, что в Astra Linux нет питона, это как минимум смешно. Хейтерам привет =)
Будни системного администратора.
1507
подписчиков
На данном канале раскрываем секреты и тонкости перехода на отечественное програмное обеспечение, а именно ОС Astra Linux SE Смоленск, а также я являюсь разработчиком програмных продуктов на языке программирования Python. Телеграм канал: https://t.me/pythonrazrabotchik
Наконец-то закончил писать консоль администрирования под AstraLinuxSE, она умеет: 1 - проверять доступен ли хост в режиме реального времени 2 - формируется из списка хостов ( принцип ansible) 3 - при нажатии на хост происходит подключение по ssh 4 - проверка логов на ошибки (dmesg последние 150 строк) 5 - показывает текущую версию астры на хосте ( формируется отдельное окно) 6 - добавлено исполнение собственных скриптов для настройки ОС и установки дополнительного ПО. 7 - применяется политика паролей для подключения как локальный администратор, так и с помощью ssh ключей. По вопросам приобретения или создания данного софта обращайтесь в телепрограмме, ссылка ниже⬇ https://t.me/pythonrazrabotchik
Столкнулся с очень интересным случаем на работе. Восстановление работы MS outlook, если ли вам это интересно, то оставляйте комментарии и реакции на данный пост и я обязательно выложу статью по данной теме.
Завтра будут опубликованы две новые видео лекции по разработке программных продуктов на языке python. Успей подписаться, чтобы узнавать о всех новостях среди первых. Также всё новости, результаты выполнения заказов по разработки и многое другое вы можете просматривать на нашем телеграмм канале: https://t.me/pythonrazrabotchik
Модули и пакеты
На сегодняшнем занятии мы с вами поговорим про модули в Python. Что же это такое? В принципе модулем можно назвать любой файл Python , который содержит код. Например, сейчас открыта папка с учебными проектами, и здесь есть файл «module1.py» (Рис.1). Любой другой файл с расширением «.py» здесь можно назвать модулем. Рис.1 Для чего это нужно? Представим такую ситуацию: мы делаем очень большой проект и держать все функции в одном месте со временем становится очень проблематично, потому что вносить...
Практика по функциям
На сегодняшнем занятии мы проведём небольшую практику, посвящённую функциям. Нашей задачей будет написать три функции: Эти задачи можно решить с помощью встроенных функций, с которыми мы познакомились ранее, но наша задача попрактиковаться и решить, то есть написать данные функции без использования встроенных. Создадим функцию, назовём её find_max()(рис.1). Она будет принимать какой-то список list и данная функция должна найти максимальный элемент. Для начала определимся, что для перебора элементов списка мы будем использовать цикл for...
Встроенные функции. Часть 2
На сегодняшнем занятии продолжаем тему о встроенных функциях, разберём функцию any(), функцию аll() и поговорим про интроспекцию. Начнём с any() и аII(). Представим, что у вас есть список и он содержит какие-то элементы, например, True, False, False. Функция any() проверяет объект, его содержимое, то есть пробегает по элементам. При условии, что хотя бы один из элементов внутри объекта будет True, функция вернёт нам True, в противном случае вернёт False. Передадим в функцию any() наш объект ‘а’ (наш список) и получим ответ True(рис...
Встроенные функции в Python
На сегодняшнем занятии поговорим про встроенные функции Python. Если на прошлых занятиях мы учились объявлять собственные функции, вызывать их, передавать им какие-то значения, то на этом занятии и на следующем будем работать уже с готовыми функциями. Существует перечень функций, которые встречаются при попытке преобразовать один тип данных к другому: #int() - целое число
#float() - число с плавающей запятой
#bool() - логические значения
#str() - строки
#list() - список
#tuple() - кортеж
#dict()...
Рекурсия
На этом уроке мы с вами поговорим про рекурсию. Что это такое, чем она опасна? Рекурсия — это такой способ определения функции или описание функции, когда эта самая функция вызывает саму себя. На практике давайте посмотрим на самый простой пример. Создадим функцию, которая будет находить суму чисел с помощью рекурсии(рис.1). Назовем ее summa - она будет принимать один параметр n и здесь при написании рекурсивной функции нас интересуют два момента: в какой момент функция будет вызывать саму себя и в какой момент все это дело будет останавливаться...
Произвольное число параметров
На прошлом занятии мы рассматривали функции с параметрами по умолчанию. Если вспомнить, то функции с параметрами по умолчанию могут вызываться с переменным количеством аргументов. Мы можем передавать в них, например 1, 2, 3, но в зависимости от того, сколько было объявлено параметров в момент объявления функции. Нередко возникает ситуация, когда нам необходимо передавать произвольное число параметров и главная проблема заключается в том, что мы не можем заранее предугадать, сколько параметров будет передано...
Распаковка позиционных параметров
Поговорим об операторе “звездочка”- *. Рис.1 Начнем с примера. Нам необходимо функции передать переменное количество позиционных параметров. Мы не знаем сколько их будет. Для этого мы можем указать “*args”(название можно поменять, у нас params). Все параметры, которые мы будем передавать при вызове функции print(params), у нас будут упакованы в кортеж(рис.2). Но если мы поставим “звездочку” ( print(*params)), то все параметры будут распакованы(рис.3). Рис.2 Рис.3 То есть, одну “звездочку” мы можем поставить тогда, когда не уверены или не знаем сколько у нас будет параметров...
Параметры по умолчанию внутри функции
На это уроке вновь поговорим о функциях. Но мы рассмотрим некоторые дополнительные возможности. Например, представим такую ситуацию. Мы пишем большую программу. У нас есть какая-то функция, но, пробегаясь по коду программы, мы видим, что каждый вызов функции у нас имеет один и тот же результат. Также, допустим, у нас функция принимающая, и в эту принимающую функцию в момент вызова мы передаём одни и те же значения. Например, функция, которая выводит нам сумму переданных в неё параметров(a+b). Где-то в программе мы её вызываем и видим, что такой вызов у нас встречается несколько раз...