Linux Club @linux_club_nomer_1 Channel on Telegram

Linux Club

@linux_club_nomer_1


VK: https://vk.com/linux_club_nomer_1

Контакт: @Filgood777 (реклама, сотрудничество)


Заказать рекламу:

https://telega.in/c/Linux_Club_nomer_1

https://wowblogger.ru?l=kKnNfbJW

Linux Club (Russian)

Добро пожаловать в канал Linux Club! Это место, где любители операционной системы Linux могут собраться, обсудить последние новости, делиться опытом и получать поддержку от единомышленников. Наш канал предлагает широкий спектр информации о Linux, включая обновления ядра, настройки, программное обеспечение и многое другое. Если вы увлечены миром открытых исходных кодов и хотите быть в курсе свежих событий в этой сфере, то Linux Club - идеальное место для вас! Присоединяйтесь к нам уже сегодня, чтобы стать частью активного и дружелюбного сообщества Linux-энтузиастов. Не упустите возможность обмениваться знаниями, задавать вопросы и общаться с экспертами в области Linux. Мы с нетерпением ждем вас в нашем канале! VK: https://vk.com/linux_club_nomer_1 Контакт: @Filgood777 (реклама, сотрудничество)

Linux Club

28 Jan, 11:28


Копаемся c архивами в Linux

В Linux существует множество консольных утилит для работы с архивами и сжатыми файлами.

Нередко в работе бывают случаи, когда GUI под рукой не оказывается (при работе через ssh) и приходится выкручиваться для того, чтобы прочитать ".tar.gz" или ".zip" архивчик.

команды zip и unzip

zip используется для сжатия и архивирования файлов по одноименному алгоритму.

Через параметр ARCHIVE команда принимает имя архива, в который надо добавить файлы. После этого параметру FILES передается набор архивируемых файлов/каталогов:


zip [OPTIONS] ARCHIVE FILES

$ zip myfiles.zip book.pdf image.png


Команда unzip, наоборот, позволяет распаковать архив и в общем случае имеет следующий формат:


unzip [OPTIONS] ARCHIVE

$ unzip myfiles.zip


команды tar, gzip и gunzip

gzip (GNU zip) - архиватор файлов с расширением ".gz".

Данная команда не умеет упаковывать несколько файлов в один архив и используется для поштучного сжатия. Для каждого переданного экземпляра создается спрессованный ".gz" собрат:


# -k : сохраняет изначальный файл

$ gzip -k file1.txt file2.txt


gunzip - распаковщик архивов ".gz". Команда является эквивалентом для "gzip -d":


$ gunzip file.txt.gz
$ gzip -d file.txt.gz


Для упаковки нескольких файлов, их сначала необходимо архивировать в один через утилиту tar и уже потом сжать результат командой gzip.

tar - это утилита, которая используется для объединения нескольких файлов и директорий в один архив.

Сама по себе команда не сжимает файлы, а просто сохраняет их в один ".tar" файл.

Давайте рассмотрим комбо:


# -c : Создать новый архив
# -f : Указать имя создаваемого архива

$ tar -cf archive.tar file.txt

$ gzip archive.tar


Таким образом, сжатые архивы обычно имеют двойное расширение ".tar.gz" или сокращённое ".tgz".

Для того, чтобы распаковать архив, можно использовать флаг "-x":


$ tar -xf archive.tar


команда zcat

Команда zcat похожа, по сути, на cat и используется для вывода содержимого сжатых файлов формата ".gz" без необходимости их предварительной распаковки:


$ zcat file.txt.gz
Hello world


🐧 Linux Club

Linux Club

28 Jan, 07:07


🔥 Твой портал в Web3, Web4 и Web5!

Хочешь создавать проекты будущего? Здесь ты найдёшь:

Пошаговые гайды по смарт-контрактам и блокчейну TON.
Практические знания о токенах, DeFi и DAO.
Эксклюзивные инструменты для работы с Web3, Web4 и Web5.

💡 Только практика, без х##ни.

Бонус: Мы запускаем свой токен и скоро будет аэрдроп — будь среди первых!!!

📲 Подписывайся — будущее уже здесь.

Linux Club

27 Jan, 15:44


Вот как-то так выглядит Linux, когда только начал погружаться

🐧 Linux Club

Linux Club

27 Jan, 10:08


Простой парень-программист с 12-летним стажем в российских IT-компаниях загорелся идеей переехать в Лондон 💂

Он прошел через настоящий ад: после 10-часового рабочего дня решал тестовые задачи, проходил собеседования, терпел отказы и унижения. Отказался от встреч с друзьями, путешествий и отпусков - лишь бы выкроить время для изучения языка и подготовки.  🤯

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

Хочешь увидеть, как выглядит путь программиста, решившего покорить Лондон, и заодно получить инсайты о работе в IT? 🧠

Подпишись на его канал @artur_speaking!

Linux Club

26 Jan, 13:18


⚙️ Как писать красивые и безопасные bash скрипты

✔️Добавить в начало скрипта:
set -euxo pipefail


➡️ Что всё это значит:
▶️set -e - прекращает выполнение скрипта если команда завершилась ошибкой, выводит в stderr строку с ошибкой. Обойти эту проверку можно добавив в пайплайн к команде true: mycommand | true.

▶️set -u - прекращает выполнение скрипта, если встретилась несуществующая переменная.

▶️set -x - выводит выполняемые команды в stdout перед выполненинем.

▶️set -o pipefail - прекращает выполнение скрипта, даже если одна из частей пайпа завершилась ошибкой. В этом случае bash-скрипт завершит выполнение, если mycommand вернёт ошибку, не смотря на true в конце пайплайна: mycommand | true.

🖼️ Ссылка на источник

🔨 bash_help

Linux Club

25 Jan, 14:53


Linux - сила, MacOS - могила!

🐧 Linux Club

Linux Club

22 Jan, 09:41


⚙️ Bash скрипты: автоматизация рутины с готовыми примерами кода

⚡️ Bash-скрипты представляют собой мощный инструмент для автоматизации задач, особенно в Unix-подобных операционных системах, таких как Linux и macOS. Они помогают автоматизировать рутинные задачи, обеспечивая более быструю и эффективную работу.

Содержание статьи:

🔤Основы Bash скриптов
🔤Создание и запуск скрипта
🔤Примеры скриптов для автоматизации
🔤Советы по оптимизации Bash скриптов
🔤Удобная организация скриптов
🔤GUI программы для bash скриптов

Статья

🐧 Linux Club

Linux Club

20 Jan, 15:27


Давно присматриваетесь к системному администрированию Linux?
У нас отличные новости!
23 января стартует конференция «Администрирование Linux
для начинающих». 
Мы приглашаем начинающих сисадминов Linux, администраторов Windows, разработчиков, специалистов по тестированию и вообще всех, кто интересуется темой администрирования.
Вы узнаете:
- Чем отличается проприетарный софт от свободного, а свободный – от бесплатного?
- Почему Windows популярен?
- Так ли хорош Linux на самом деле и так ли плох Windows?
- Что не так с MacOs?
Вы научитесь:
- Работать с текстом в терминале Linux
- Использовать текстовые утилиты
- Искать файлы по тексту
- Фильтровать вывод команд
Спикеры: Андрей Буранов, системный администратор VK, и Николай Лавлинский, технический директор «Метод Лаб»
Бонус! Всем участникам – скидка 7% на любой курс и 5 полезных материалов по Linux.
23 января, 19:00 МСК
Присоединяйтесь!
Записаться на конференцию - https://otus.pw/Bz62/?erid=2W5zFJxF2MN

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Linux Club

14 Jan, 07:07


Хочешь стать DevOps-инженером в новом году? Но не знаешь где взять информацию и четкий план?

💪 Тогда лови бесплатный мета-курсDevops Roadmap - это расширенный чек-лист, который поможет сориентироваться в мире DevOps и стать крутым спецом.

👀 В мета-курсе перечислены все основные разделы и навыки, которыми должен обладать DevOps инженер: от Linux до программирования в удобном формате.

✔️А еще он будет полезен при подготовке к собеседованиям.

👽 Кстати, бонусом крутой канал о девопс. Там тоже самые свежие IT-новости, полезные советы от DevOps-инженера с 20-летним стажем, эксклюзивные материалы, релизы топовых инструментов, обзоры вакансий и личный взгляд на девопс-сферу.

Linux Club

14 Jan, 05:00


🐧 Linux Club

Linux Club

13 Jan, 16:38


Как отправить электронное письмо прямо из терминала Linux? 💌

1️⃣ Для начала установите mailutils:

sudo apt-get install mailutils


2️⃣ Воспользуйтесь следующей командой, чтобы отправить письмо:

echo "Текст вашего письма" | mail -s "Тема письма" адрес_получателя@example.com


Замените "Текст вашего письма" на текст сообщения, "Тема письма" на тему письма и "адрес_получателя@example.com" на адрес электронной почты получателя.

3️⃣ Если нужно отправить письмо с вложением, воспользуйтесь командой "mutt":

mutt -s "Тема письма" -a /путь/к/вашему_файлу.txt адрес_получателя@example.com < /путь/к/текстовому_файлу.txt


Замените "/путь/к/вашему_файлу.txt" на путь к вашему вложению и "/путь/к/текстовому_файлу.txt" на путь к текстовому файлу с телом письма.

🐧 Linux Club

Linux Club

13 Jan, 07:17


Для тех кто просил, наш канал с мемами для программистов и айтишников
👇🏻

https://t.me/+O33ER4QtRXVlYjYy

Linux Club

09 Jan, 06:39


Python для Unix и Linux администрирования

Год: 2009
Автор:
Ноа Гифт
Язык:
Русский

Книга «Python в системном администрировании UNIX и Linux» демонстриру ет, как эффективно решать разнообразные задачи управления серверами UNIX и Linux с помощью языка программирования Python. Каждая глава посвящена определенной задаче, например многозадачности, резервному копированию данных или созданию собственных инструментов командной строки, и предлагает практические методы ее решения на языке Python. Среди рассматриваемых тем: организация ветвления процессов и передача информации между ними с использованием сетевых механизмов, создание интерактивных утилит с графическим интерфейсом, организация взаимодействия с базами данных и создание приложений для Google App Engine. Кроме того, авторы книги создали доступную для загрузки и свободно распространяемую виртуальную машину на базе Ubuntu, включающую исходные тексты примеров из книги и способную выполнять примеры, использующие SNMP, IPython, SQLAlchemy и многие другие утилиты.

#Python #Unix #Linux #book #ru

🐧 Linux Club

Linux Club

05 Jan, 18:21


Числа и байты: как работает память в Linux?

При создании операционных систем всегда уделяется внимание работе с памятью. Память — это компонент компьютера, где хранятся программы и данные, и без нее современные компьютеры не могли бы функционировать. Важной единицей хранения данных в памяти является бит, который может принимать два значения: 0 или 1. Память состоит из ячеек, каждая из которых имеет свой адрес. Ячейки могут содержать различное количество битов, и количество адресуемых ячеек зависит от количества бит в адресе.

📖 Статья

🐧 Linux Club

Linux Club

05 Jan, 09:43


🔥 Внимание, господа линуксоиды! 🐧 Всем известно, что кибербезопасность — это не просто тренд, а необходимость, а профессия пентестера является одной из самых увлекательных и высокооплачиваемых в ИТ-индустрии.

👾 Хочу порекомендовать вам канал Пентестинг. Этичный хакинг, где автор регулярно делится всевозможными инструментами и техниками пентеста, включая Kali Linux.

🚀 Канал настолько полезен, что подписаться на него просто необходимо. Исследуйте мир пентеста!

👉 Подписывайтесь и погружайтесь в мир кибербезопасности!

Linux Club

03 Jan, 10:47


Как очистить историю bash при выходе из системы

Как автоматически очищать историю GNU Bourne-Again SHell при выходе из оболочки shell?

Отключите переменную оболочки HISTFILE при входе в систему, чтобы история команд не сохранялась при выходе из оболочки.

$ echo "unset HISTFILE" | sudo tee /etc/profile.d/unset_histfile.sh 


При необходимости установите для переменной оболочки HISTSIZE значение 0 при входе в систему, чтобы выполненные команды не сохранялись в списке истории.

Внимание, это очень неудобно, так как полностью отключит историю в оболочке входа в систему.

$ echo "HISTSIZE=0" | sudo tee /etc/profile.d/disable_histsize.sh 


Создайте /etc/bash.bash_logout файл, который будет выполняться при выходе из шелла.

Используйте его для очистки истории.

Не волнуйтесь, он будет выполнен после отдельного файла очистки оболочки входа ~/.bash_logout.

$ echo "history -c" | sudo tee /etc/bash.bash_logout 


Обратите внимание, он не будет записывать пустой список истории в файл истории.

Добавление второй команды для записи списка истории в файл истории не будет работать, так как переменная оболочки HISTFILE не была установлена.

Это также означает, что список истории не будет инициализирован из файла истории при запуске.

Удалите существующий файл истории ~ /.bash_history, чтобы все было в порядке.

Но помните о других пользователях.

Вы всегда можете сохранить список истории в специальный файл.

Обратите внимание, что это добавит текущий список истории в файл.

$ HISTFILE=session_history.txt history -w
$ cat session_history.txt
cat .bash_history
HISTFILE=session_history.txt history -w


🐧 Linux Club

Linux Club

03 Jan, 07:07


✔️ Научим писать плейбуки и модули ✔️

Один пропущенный шаг — и конфигурация ломается. Члены команды выполняют задачи по-своему, документация не помогает. Добавление новых серверов — это боль и часы работы.

Как этого избежать? Мы научим вас работать с Ansible, чтобы вы смогли:

Настроить автоматизацию: один playbook — и ваши сервера настраиваются в считаные минуты.

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

Масштабировать в одно касание: развёртывание сотен серверов — больше не головная боль.

Экономить время: больше времени на стратегические задачи, меньше — на рутину.

Освоить лучшие практики на курсе «Ansible: Infrastructure as Code» – по ссылке.
Старт 20 января.

erid: 2W5zFJSv5Nx

Linux Club

30 Dec, 14:14


🐧 Linux Club

Linux Club

27 Dec, 07:37


Хватит выполнять скучную рутину руками

Ansible придумали, чтобы вы вместо возни с однотипными задачами по настройке конфигов:

писали плейбуки и роли,
деплоили Flask-приложения,
настраивали IaC в Gitlab,
автоматизировали процесс управления IT-инфраструктурой,
наводили в ней порядок.

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

А если вы уже знакомы с Ansible, чек-лист тоже будет полезен — для самопроверки и подготовки к собеседованиям, ведь эти умения точно будут в требованиях к вакансиям 👌

👉 Забрать чек-лист можно бесплатно прямо сейчас в боте.

erid: 2W5zFHa5yeG

Linux Club

26 Dec, 11:20


Что означает двойной дефис (--) в Bash?

Двойной дефис -- используется в командных интерпретаторах Unix-подобных систем, таких как Bash, для обозначения конца списка параметров. Это позволяет отделить параметры от аргументов команды.

💡 Когда вы используете команду с параметрами, иногда возникает необходимость передать команде аргументы, которые могут выглядеть как параметры. Например, предположим, что у вас есть команда ls, которая принимает параметры вроде -l (для подробного вывода), а также имена файлов. Если имя файла начинается с дефиса, то ls может попытаться обработать его как параметр вместо имени файла.

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

Пример:
$ ls -l -- -file.txt

В этом примере -file.txt будет обработан как аргумент, а не как параметр, благодаря использованию --.

💡 Использование двойного дефиса -- помогает избежать путаницы между параметрами и аргументами команд. Это особенно полезно при работе с файлами, чьи имена начинаются с дефиса, так как предотвращает их неправильное интерпретацию. ©

🐧 Linux Club

Linux Club

26 Dec, 08:30


infosec - один из самых ламповых каналов по информационной безопасности, где говорят об истории ИТ, публикуют актуальные новости и пишут технический материал по разным темам:

- Как зарождалась Флибуста?
- Сервисы для обеспечения безопасности в сети;
- Каким образом "компьютерные мастера" обманывают своих клиентов?
- Бесплатный бот, который проверит файлы на предмет угроз более чем 70 антивирусами одновременно.

А еще у нас часто проходят розыгрыши самых актуальных и новых книг по ИБ. Так что присоединяйся, у нас интересно!

Linux Club

25 Dec, 09:19


Как автоматически выполнять команды или скрипты во время перезагрузки или запуска Linux-сервера

А вы знали вы можете заставить операционную систему выполнять определенные действия при загрузке, а также при входе в систему или выходе из нее?



Выполнение скриптов при перезагрузке или запуске Linux

Есть два традиционных метода для выполнения команды или запуска скриптов во время запуска:

🔤Метод №1: Cron-задания

Для автоматического выполнения скриптов при загрузке сервера используйте планировщик задач cron.

Помимо обычного формата минута/час/день месяца/месяц/день недели, который широко используется для обозначения расписания, планировщик cron также позволяет использовать @reboot. Эта директива, за которой следует абсолютный путь к скрипту, приведет к его запуску при загрузке сервера.

Пример cron-задания:

@reboot /абсолютный_путь_к_вашему_скрипту


Примечания к методу:

- Демон cron должен быть запущен
- Сценарий или файл crontab должны включать необходимые переменные среды, если таковые имеются.

🔤Метод №2: Использование файла /etc/rc.d/rc.local

Этот метод действителен даже для дистрибутивов на основе systemd. Чтобы этот метод работал, вы должны предоставить разрешения на выполнение (execute) для /etc/rc.d/rc.local следующим образом:

# chmod +x /etc/rc.d/rc.local


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

$ chmod +x /home/gacanepa/script1.sh


Выполнение скриптов при входе в систему и выходе из системы

Для выполнения скрипта при входе или выходе из системы используются файлы ~/.bash_profile и ~/.bash_logout, соответственно. Скорее всего, вам потребуется создать последний файл вручную.

Добавление команды в ~/.bash_profile и ~/.bash_logout:

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

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

🐧 Linux Club

Linux Club

25 Dec, 07:07


Учите английский для работы и жизни?

В канале Английский Меридиан мы:

🔘Публикуем видео с фразами для разных уровней, от базового до продвинутого;
🔘Разбираем типичные ошибки с уроков;
🔘Делимся фишками, как выстроить обучение с помощью знаний о работе мозга;
🔘Обсуждаем англоязычные подкасты, делаем разборы интервью на английском;

Топ полезных постов:
🔘Как сказать "отстой" на английском?
🔘Лучшие протоколы обучения по исследованиям Стэнфорда
🔘Урок "Вопросы с глаголами" + квиз
🔘Разбор английского из видео "Почему кофе успокаивает тех, у кого СДВГ?

Канал Английский Меридиан ❤️

Linux Club

23 Dec, 07:21


Привет, дорогой друг! Хочешь узнать больше о мире DevOps? Тогда тебе точно понравится мой авторский канал DevOps - opinion! Здесь ты найдёшь:

Актуальные новости и тренды в области DevOps. Я слежу за всем новым и интересным в этой сфере и делюсь с тобой самыми свежими новостями. 

Обзоры инструментов и технологий. Я тестирую новые инструменты и технологии и рассказываю тебе о том, что действительно работает.

Подписывайтесь на DevOps - opinion и получайте самую актуальную информацию о мире DevOps из первых рук! Будь в курсе последних новостей, узнавай о новых инструментах и технологиях — всё это ждёт тебя на моём канале! Не упусти свой шанс быть в тренде! 

Реклама. Дмитриев С.С. ИНН 270393691944.

Linux Club

18 Dec, 11:22


По прогнозам, к 2027 году дефицит ИБ-специалистов достигнет 60 000 человек.

Это сложная ситуация для компаний, которые не могут конкурировать в найме с «гигантами» рынка. Кажется, ИБ-специалиста можно только «перекупить», предложив зарплату побольше.

Можно ли обойтись без «жирных» офферов? Один из путей — подготовка молодых кадров. 

Делимся подкастом о том, как начать карьеру в ИБ и почему это сложно:  
- Почему вузы не готовят к реальной работе в ИБ?  
- Почему выпускники часто не знают, чем заниматься?  
- Кто выиграет борьбу молодых — ИБ или разработка?  
- Где карьерный рост быстрее: в ИТ или ИБ?  

Проблема глазами провайдера SECaaS (Владимир Зайцев из NGENIX) и ИБ-компании (Дмитрий Федоров из Positive Technologies).

Если вы уже столкнулись с дефицитом ИБ-кадров или хотите попасть в кибербез, но не знаете, с чего начать — смотрите видеоподкаст.

#реклама
О рекламодателе
erid: LjN8KEoYz

Linux Club

18 Dec, 07:00


Штатного таролога можно увольнять 😀

Taro-CD - сервис для гадания на картах Таро перед деплоем в прод.

Поможет определить есть ли в релизе баги и ответит можно деплоить или нет. Необходим в любом пайплайне.

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

Постановка задачи

Развертывание может оказаться сложным и непредсказуемым процессом, чреватым потенциальными проблемами и препятствиями. Принятие неправильного решения о развертывании может привести к катастрофическим последствиям для вашего приложения и вашего бизнеса. Вот здесь и появляется API Tarot CD - предоставляя основанный на данных подход к оценке текущего состояния вашего проекта, мы можем помочь вам принять обоснованные решения о том, когда его развертывать. ©

Поделился: Антон - @neobober

https://github.com/mercury131/taro-cd

#cicd #pipeline #taro

🐧 Linux Club

Linux Club

17 Dec, 15:52


Готовимся к киберугрозам 2025 года  
🤖 Продвинутые боты — реальная проблема, с которой сталкивается онлайн-бизнес.
Делимся полезной лекцией о ботах и методах защиты.  
Боты используют логику веб-приложений не по назначению и провоцируют миллионные убытки. При этом парсинг и скрапинг — легальный бизнес. Такими услугами активно пользуются маркетплейсы и онлайн-магазины.  

На ICEBREAKER2024 удалось взглянуть на ситуацию с двух сторон. Опытом поделились как эксперты со стороны провайдера защиты, так и специалист, изучающий обход антибот-систем на стороне зарубежного провайдера услуг по сбору данных.  
- Какие технологии используют парсеры и скраперы и полезна ли сейчас captcha?
 - Какие эксперименты ставила компания NGENIX, изучая бот-атаки?  
- Как бороться с нежелательными ботами и какие методы работают?  
- Как понять количество ботов в трафике с помощью Bot Detection от NGENIX?

Об этом и не только — в подборке видео о борьбе с ботами.

#реклама
О рекламодателе
erid: LjN8JwK98

Linux Club

16 Dec, 05:22


Как защитить сервер Linux

Ограничьте, кто может использовать sudo


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

Цели
привилегии sudo ограничены теми, кто входит в указанную нами группу.

Примечания
Возможно, ваша сборка уже сделала это, или у вас уже есть специальная группа, предназначенная для этой цели, поэтому сначала проверьте.
Debian создаёт группу sudo. Чтобы просмотреть пользователей, которые входят в эту группу (таким образом, имеют привилегии sudo):

cat /etc/group | grep "sudo"


Шаги

1 - Создайте группу:
sudo groupadd sudousers

2 - Добавьте учетную запись(и) в группу:
sudo usermod -a -G sudousers user1
sudo usermod -a -G sudousers user2
sudo usermod -a -G sudousers ...


Вам нужно будет сделать это для каждой учетной записи на вашем сервере, которой нужны привилегии sudo.

3 - Создайте резервную копию файла конфигурации sudo /etc/sudoers:
sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")

4 - Отредактируйте файл конфигурации sudo /etc/sudoers:
sudo visudo

5 - Скажите sudo, чтобы только пользователи из группы sudousers могли использовать sudo, добавив эту строку, если ее еще нет:
%sudousers ALL=(ALL:ALL) ALL

🐧 Linux Club

Linux Club

14 Dec, 10:45


🐧 Linux Club

Linux Club

13 Dec, 15:06


Чувак с Реддита слил гайды по программированию, по которым обучают прогеров Microsoft и Apple.

Внутри больше 83 ГБ учебных материалов для джунов, мидлов и даже сеньоров. Отличная альтернатива платным курсам и обучениям:

Гайды по JavaScript
Гайды по Java
Гайды по C#
Гайды по PHP
Гайды по C++
Гайды по TypeScript
Гайды по Go
Гайды по Swift
Гайды по Kotlin
Гайды по Ruby
Гайды по Rust
Гайды по Scal
Гайды по Perl
Гайды по R
Полный список...

Аналогов этому ресурсу больше нет, не благодарите.

Linux Club

13 Dec, 13:02


Хочется больше, используй stat

Иногда возникает необходимость в получении дополнительной информации, которую не предоставляет команда ls.

Вдруг, интересно посмотреть на количество блоков с данными или узнать номер ресурса в таблице inode... Полный обзор статуса файла/каталога в файловой системе выдает именно команда stat:

$ stat some_file


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

Давайте кратко рассмотрим часть информации, которую выдает stat:

1) File: /var/log/syslog - путь до ресурса, включая название;

2) Size: 15731467 - размер ресурса в байтах;

3) Blocks: 30736 - количесвто, выделенных под информацию блоков, расположенных на носителе;

4) Inode: 527906 - номер ресурса в таблице inode;

5) Links: 1 - количество жестких ссылок на ресурс;

Команда может анализировать и отдельные файловые системы. Для того, чтобы получить пулл данных, нам будет нужен флаг '-f':

$ stat -f /


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

Также, если вам требуется через ссылку получить инфу о файле, на который она указывает, можно задействовать флаг '-L', смотрим:

$ stat -L link_to_file

©

🐧 Linux Club

Linux Club

13 Dec, 07:07


Желаем, чтобы тимлид говорил только так 👆

А лучше подарил целый мешок с курсами Слёрма!

➡️ Заходите посмотреть, что приготовил в мешках наш Санта Слёрм и не забывайте намекнуть тимлиду, что такой подарок лучше, чем флешки и термокружки💯

💰 Выбрать мешок с подарками на свой вкус можно ➡️ здесь.

Реклама. ООО "СЛЁРМ", ИНН 3652901451, Erid:2VSb5xX4MZz

Linux Club

13 Dec, 04:37


Лучший способ запустить bash-скрипт

🐧 Linux Club

Linux Club

10 Dec, 11:22


Mикротуториал по управлению пакетами (Debian-based)

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

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

Основные команды apt

1. Обновляет локальный кэш с информацией о доступных пакетах и их версиях из репозиториев, прописанных в "/etc/apt/sources.list":

$ sudo apt update


2. Обновляет все установленные пакеты до актуальных версий, НО существующие пакеты не удаляет.

Если для обновления требуется удаление/установка зависимостей, оно пропускается, и пакет остается нетронутым в текущей версии:

$ sudo apt upgrade


3. Обновляет все установленные пакеты до актуальных версий, устанавливает или удаляет пакеты для разрешения зависимостей:

$ sudo apt dist-upgrade


4. Устанавливает пакет вместе со всеми его зависимостями:

$ sudo apt install <имя_пакета>


5. Переустанавливает пакет и обновляет все его содержимое. Бывает полезно, если какие-то файлы пакета были удалены или повреждены:

$ sudo apt install --reinstall <имя_пакета>


6. Удаляет указанный пакет, но оставляет файлы конфигурации:

$ sudo apt remove <имя_пакета>


7. Полностью удаляет пакет и его конфигурационные файлы:

$ sudo apt purge <имя_пакета>


8. Показывает информацию о пакете: версия, зависимости, описание, размер и т.д.:

$ sudo apt show <имя_пакета>


9. Ищет пакеты в репозиториях по имени или описанию:

$ sudo apt search <имя_пакета>


10. Удаляет пакеты, которые были установлены как зависимости, но больше не требуются:

$ sudo apt autoremove


11. Удаляет все загруженные архивы пакетов из кэша "/var/cache/apt/archives/":

$ sudo apt clean


Основные команды dpkg

1. Устанавливает пакет из локального файла .deb и не подтягивает зависимости:

$ sudo dpkg -i <имя_пакета.deb>


2. Удаляет пакет, но сохраняет конфигурационные файлы:

$ sudo dpkg -r <имя_пакета>


3. Полностью удаляет пакет и его конфигурационные файлы:

$ sudo dpkg -P <имя_пакета>


4. Показывает список всех установленных пакетов либо информацию о конкретном пакете:

$ dpkg -l
$ dpkg -l <имя_пакета>


5. Выводит подробную информацию о пакете/пакетах:

$ dpkg -s
$ dpkg -s <имя_пакета>


6. Показывает список файлов, установленных данным пакетом:

$ dpkg -L <имя_пакета>


7. Показывает содержимое архива .deb (файлы, которые будут установлены):

$ dpkg -c <имя_пакета.deb>


8. Доводит конфигурацию пакета/пакетов до конца при аварийном завершении:

$ sudo dpkg --configure -a
$ sudo dpkg --configure <имя_пакета>


9. Показывает имя пакета, который устанавливает указанный файл:

$ dpkg -S picom.desktop
picom: /etc/xdg/autostart/picom.desktop


🐧 Linux Club

Linux Club

04 Dec, 06:39


Файлы паролей: passwd и shadow

В linux для аутентификации пользователя и хранения информации о нем используются 2 файла /etc/passwd и /etc/shadow. Давайте рассмотрим назначения каждого из них.

Файл /etc/passwd

В системном файле паролей /etc/passwd содержится по одной строке для каждой учетной записи пользователя. Каждая строка состоит из семи полей:


mtk:x:1000:100:Michael Kerrisk:/home/mtk:/bin/bash


Рассмотрим эти поля по порядку следования:

1. Имя для входа в систему. Это уникальное имя, которое пользователь должен вводить при входе в систему - легко читаемый символьный идентификатор пользователя, соответствующий числовому (UID).

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

По этой причине, в настоящее время, поле пароля в /etc/passwd содержит букву 'x', чтобы обозначить, что пароль был назначен и сохранен в теневом файле /etc/shadow.

Если поле является пустым, значит, для регистрации под этой учетной записью пароль не нужен.

3. Числовой идентификатор пользователя (UID). Если поле хранит значение 0, то пользователь с данной учетной записью - привилегированный (суперпользователь).

Как правило, имеется только одна такая учетная запись, у которой в качестве имени для входа в систему используется слово root.

4. Числовой идентификатор первой из групп, в которую входит пользователь (GID). Дальнейшая принадлежность к группам этого пользователя определена в системном файле групп.

5. Комментарий. Это поле содержит текст, описывающий пользователя. Такой текст выводится различными программами, например finger.

6. Домашний каталог. Исходный каталог, в который пользователь попадает после входа в систему. Содержимое этого поля становится значением переменной среды HOME.


$ echo $HOME
/home/xodefender


7. Оболочка входа в систему. Это программа, которой передается управление после входа пользователя в систему. Обычно это одна из оболочек, например bash, но может быть и любая другая программа.

Если это поле является пустым, то в качестве исходной, применяется оболочка /bin/sh. Содержимое поля становится значением для переменной среды SHELL.


$ echo $SHELL
/bin/bash


Теневой файл /etc/shadow

Теневой файл паролей /etc/shadow был разработан, как средство противостояния хакерским атакам.

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

Файл /etc/shadow хранит данные о пользователе в формате. Как и в файле passwd, каждое поле в файле shadow отделяется двоеточием:


smithj:Ep6mckrOLChF.:10063:0:99999:7:::


1. Имя пользователя (до 8 символов). Совпадает по значению с /etc/passwd.

2. Зашифрованный пароль (13 символов). Пустая запись '::' показывает, что для входа пароль не нужен (обычно идея плохая).

3. Количество дней, начиная с 1 января 1970, когда пароль был сменен в последний раз.

4. Число дней до смены пароля (0, если он может быть сменен всегда).

5. Число дней, после которых пароль должен быть сменен (99999, если пользователь может не менять пароль фактически никогда).

6. Число дней, в течение которых пользователь получает предупреждения о необходимости пароль сменить (7 для полной недели).

7. Число дней после окончания действия пароля, когда еще можно работать. Если пароль не сменить, после данного срока он выдохнется, и аккаунт будет заблокирован.

8. Число дней, начиная с 1 января 1970, после которых пароль будет заблокирован.

9. Зарезервировано для возможного будущего использования.

🐧 Linux Club

Linux Club

03 Dec, 16:35


Мне всегда нравились каналы, которые запариваются над контентом и не постят всякий копипаст 10-летней давности.

Хороший пример — @concertzaal. Там так увлекательно пишут про технологии и медиа, что через неделю даже ваша бабушка начнет шарить за интернет-тренды, штучный интеллект и гаджеты.

Пригодится всем, кто много времени проводит в интернете, но кроме рилсов и тиктоков ничего не смотрит.

Посмотрите на досуге, это очень затягивает: @concertzaal

Linux Club

03 Dec, 16:05


Быстрый совет для Linux 🐧

Вы можете включить временные метки в истории команд bash, чтобы видеть, когда вы выполняли предыдущие команды. Это может быть полезно для отслеживания того, над чем вы работали и когда

Чтобы добавить временные метки в историю, просто установите переменную окружения HISTTIMEFORMAT следующим образом:
$ export HISTTIMEFORMAT="%F %T "


Теперь, когда вы просматриваете свою историю или ищете в ней с помощью grep, вы будете видеть временную метку рядом с каждой командой, указывающую, когда она была выполнена:
$ history | tail -n 5


Или, чтобы сэкономить несколько нажатий клавиш:
$ history 5


Формат "%F %T" отображает дату и время, но вы можете настроить его под свои предпочтения.

Примечание: Это не добавляет временные метки к командам, которые вы выполняли до установки HISTTIMEFORMAT, и работает только в bash.

🐧 Linux Club

Linux Club

03 Dec, 07:07


Всем привет! 👋
С 2008 года я занимаюсь продвижением сайтов в Яндекс и Google. 
Наверное, у многих тут есть свои сайты, развитием которых вы занимаетесь?

https://t.me/seoalliance - мой канал с актуальными методами и примерами продвижения сайтов. Найдете интересное.
https://seseo.ru/ - сайт
https://t.me/allianceseo?erid=LjN8K93vq - написать мне лично

Готов помочь с развитием и продвижением ваших сайтов на любом этапе

В общем, всё, что связано с рекламой и развитием сайтов - ко мне 🤝
Проконсультирую и направлю - бесплатно! 
Все мы немного IT'шники 😀

Что могу предложить:
Seo - поисковое продвижение.
Проведение аудитов сайтов.
Составление стратегии развития.
Контекстная реклама.
Создание оптимизированных сайтов.
Seo прототипирование на этапе создания сайта.
Услуги настройки и ведения контекстной рекламы.

#реклама
О рекламодателе

Linux Club

02 Dec, 04:40


🔥 Полное руководство для начинающих по LVM в Linux!

💡 LVM означает Logical Volume Manager (Менеджер логических томов). Механизм, который обеспечивает альтернативный метод управления системами хранения, нежели традиционный, основанный на разделах. В LVM вместо создания разделов вы создаете логические тома, а затем можете так же легко монтировать эти тома в файловой системе, как раздел диска.

➡️ *клац*

🐧 Linux Club

Linux Club

01 Dec, 09:53


📶 С 1 декабря для граждан РФ открыт доступ к платным материалам по программированию

Вот отсортированные базы с тонной материала(книги, курсы, ресурсы и гайды). Выбирай своё направление:

👩‍💻 Frontend 👩‍💻 PHP
⚙️ Backend 👩‍💻 Моб. Dev
📱 GitHub 👩‍💻 Разработка игр
🤓 Всё айти 👩‍💻 DevOps
👩‍💻 Python 🖥 Data Science
👩‍💻 Java 🐞 Тестирование
👩‍💻 C# 🤔 Хакинг & ИБ
👩‍💻 С/С++ 📱 Маркетинг
🖥 SQL 🖥 Дизайн
👩‍💻 Golang 👣 Rust

Скачивать ничего не нужно — все выложили в Telegram с доступом по ссылке

Linux Club

29 Nov, 19:12


Здесь препод из ИМТО и Вышки делится актуальными материалами по программированию, языкам и технологиям.

Основы программирования — ключевые статьи, инсайды индустрии и авторские комментарии помогут тебе понять, как устроен мир IT — всё просто и по делу.

Подписывайся, чтобы быть в теме и разбираться в программировании на уровне: @progcore 👩‍💻

Linux Club

29 Nov, 07:17


🐧 Linux Club

Linux Club

28 Nov, 15:52


🤔🎄🎁 Какой подарок ждёте на Новый год?

Да. Уже скоро Новый Год 🐧

🐧 Linux Club

Linux Club

25 Nov, 07:07


Готовишься к Frontend или Backend собеседованию?

Разбираем для тебя самые актуальные вопросы для подготовки

Выбирай свое направление:

👩‍💻 Frontend
👩‍💻 Python
👩‍💻 Go
👩‍💻 Java
👩‍💻 C/C++
👩‍💻 C#
👩‍💻 PHP

Linux Club

22 Nov, 06:04


💡Консольный калькулятор Linux

Надо что-то вычислить, а под рукой только консоль? Воспользуйтесь встроенным калькулятором - командой expr.

Пользоваться ею просто. Например, сложение:
expr 2 + 2

Вычитание:
expr 12 - 2

Знаки умножения и деления нужно дополнительно экранировать:
expr 5 \* 4
expr 36 \/ 4

Можно использовать скобки, но их также нужно экранировать и отделить пробелами от знаков операций и операндов:
expr 12 - \( 2 + 2 \)

Чтобы узнать больше возможностей команды запустите ее с ключом --help

🐧 Linux Club

Linux Club

21 Nov, 07:08


Чувство неполноценности - “Саня уже сеньор, в Америку зовут…”, семейные конфликты - “Ты совсем не уделяешь времени детям!”, да и в целом рутина любого могут загнать на эмоциональное дно.

Психолог с научным подходом - то место, где IT-специалисты приходят в себя и выходят из бесконечного круга:
чувство вины ➡️ переработки ➡️ выгорание.

А вместо этого начинают жить, работать и проводить время наедине с собой и близкими в кайф!

👨🏻‍💻 Если тебя что-то не устраивает в твоей жизни, но ты не знаешь, как это изменить - подписывайся: https://t.me/remizov_changes.

Рекомендуем начать с закрепа, в котором тебя уже ждет пошаговый от психолога, как перестать прокрастинировать и начать менять свою жизнь 💪

Linux Club

20 Nov, 06:07


😎 Как вычислить человека по IP, используя терминал и Linux?

Раньше в интернете была популярна фраза "я тебя по IP вычислю", но сегодня давайте разберемся, насколько это возможно на самом деле, используя терминал Linux. 🐧

Определение местоположения человека по IP-адресу – это интересная тема, и оно основано на технологии геолокации. Отмечу сразу, что точность определения зависит от множества факторов, и это не так просто, как кажется.

💠 Самый простой способ:

Linux предоставляет утилиту geoiplookup, которая может выдать информацию о стране, городе и провайдере по IP-адресу. Вы можете воспользоваться этой командой в терминале следующим образом:

geoiplookup <IP-адрес>

Замените <IP-адрес> на конкретный IP, который хотите проверить. Но помните, что эта информация может быть неточной, особенно если пользователь использует VPN или прокси.

💠 Более продвинутые методы:

Существуют веб-сервисы и API, которые предоставляют более точную информацию о местоположении по IP-адресу. Вы можете использовать такие сервисы, отправляя запросы через терминал с помощью утилиты curl. Например, сервис "ipinfo.io" предоставляет информацию о городе, регионе, стране, координатах и другие данные:

curl ipinfo.io/<IP-адрес>

Однако, даже с использованием более точных методов, стоит помнить, что IP-адрес не является надежным способом идентификации местоположения пользователя. В современном интернете многие используют VPN, прокси или другие методы для скрытия своего настоящего местоположения.

Так что давайте воспользуемся этими способами в терминале Linux и посмотрим, что они скажут. Но помните, что это просто увлекательная возможность и не стоит полагаться на неё как на надежный метод определения местоположения.

🐧 Linux Club

Linux Club

19 Nov, 15:45


Что можно успеть за 3 дня? Получить оффер Software Engineer в YADRO 🚀

Прямо сейчас российская технологическая компания YADRO проводит SPRINT OFFER для Software Engineer в двух направлениях: Linux-based и Android.

🔵 Чтобы присоединиться к команде бренда персональных устройств KVADRA с собственной операционной системой kvadraOS:

• Оставьте заявку до 24 ноября.
• Пройдите HR-скрининг.
• Пройдите техническое и менеджерское интервью.

→ На направлении Linux-based вам предстоит адаптировать исходный код Chromium для компьютеров и ноутбуков с нашими аппаратными платформами и вносить изменения в поведение устройств, учитывая продуктовые требования.

→ На направлении Android вы будете заниматься подготовкой unit-тестов своего кода. Разрабатывать собственные и адаптировать чужие приложения, если они входят в базовую поставку ОС.

Узнать подробности, оставить заявку и стать частью YADRO → по ссылке.

Linux Club

17 Nov, 16:27


CodHub теперь в Telegram❗️

Устали от 100500 бесконечного множества каналов, в поисках полезного материала и новостей из мира 🤩 ? Добро пожаловать в наш проект CodHub l Программирование — Мы собираем для вас все лучшие материалы любых направлений в одном канале:

📱 — Frontend 👩‍💻 — C++
📱 — Python 🤔 — Hacking
📱 — Java 👩‍💻 — Golang
📱 — C# 👩‍💻 — Linux
👩‍💻 — Lua 👩‍💻 — php
👩‍💻 — Kotlin 👩‍💻 — Git
👩‍💻 — Assembler 👩‍💻 — Swift
🖥 — SQL 👩‍💻 — Mob. Develop
👣 — Backend 🐞— Qa Automation
🖥 — Arduino 🖥 — Desing


Успей подписаться❗️ — @CodHub_tg

Linux Club

16 Nov, 06:31


🐧 Двойные тире в командах Linux

Порой опытные админы используют команды в консоли следующим образом:
ssh [email protected] --


Что означает это двойное тире? Зачем оно? Давайте разбираться.

Двойное тире означает «флаги командной строки». Оно указывает ssh или другой команде не пытаться анализировать то, что следует после параметров. На словах выглядит не очень, давайте посмотрим на практике!

У меня есть такая команда:
ssh [email protected] -- command1 --arg1 --arg2


Приведенный выше синтаксис указывает ssh не пытаться анализировать параметры arg1 и arg2 после символа «--». Это гарантирует, что команда command1 примет arg1 и arg2 в качестве аргументов командной строки и выполнится на удаленном сервере.

Короче говоря мы сообщаем ssh - все то, что идет после двойного тире, это не твои параметры и аргументы, анализировать это НЕ НАДО! СТОП! Дальше дело за command1 и его параметрами и аргументами.

Двойное тире обрабатывается не обрабатывается оболочками bash/zsh/csh/sh/fish и т.п. Оно обрабатывается средствами самих программ, но НЕ всех. Например ssh это умеет делать, как и множество других команд и утилит. Рассмотрим другие примеры.

Например, вы не сможете просмотреть файл с именем --file или -f используя команду cat. Проверяем:
cat --file
cat -f


Опа. Ошибка! cat: unrecognized option --file/f. Давайте теперь передадим двойное тире:
cat -- --file
cat -- -f


Ошибка пропала и файл успешно вывелся на экран, ну либо выскочило сообщение cat: --file/f: No such file or directory. Это нормально.

Закрепим:
rm --file       = получим ошибку
rm -- '--file' = а вот это сработает


Ну а что бы передать параметры в rm, делаем так:
rm -v -i -- '--file'
rm -f -v -i -- '-f'


Просто, логично, мелодично. Но как я и сказал выше, не все команды умеют работать с двойным тире. Например, команда echo, на все попытки подружить её с двойным тире, просто-напросто провалятся:
/usr/bin/echo -- -n
echo -- --test


выведется это:
-- -n
-- --test

Если материал оказался полезным и интересным, то ставь ❤️ ©

🐧 Linux Club

Linux Club

15 Nov, 13:31


⚡️Слита База из 1000+ топовых IT-курсов

👩‍💻 Все языки: https://t.me/main_it_baza

👩‍💻 Frontend: https://t.me/frontend_baza

👣 Backend: https://t.me/backend_baza

📊 Архив: https://t.me/knowledge_baza

Всё лучшее про IT бесплатно — уже на Базе 🚀

Linux Club

15 Nov, 12:23


Базовый Linux

Год:
2024
Автор:
Мэндип Каур
Язык:
Английский

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

#linux #book #english

🐧 Linux Club

Linux Club

15 Nov, 09:17


❗️ До сих пор не знаешь, как управлять командной строкой и защитить свои данные?

📱 BashTex - авторский канал, где ты овладеешь искусством работы в командной строке и сократишь время на любые задачи.

🐶 Rick Academy - погружение в мир кибербезопасности и хакинга. Узнавай о свежих уловках и повышай навыки пентеста.

Linux Club

14 Nov, 12:24


🐧 Linux Club

Linux Club

12 Nov, 14:51


Большинство пользователей Linux знакомы с командой cp для копирования файлов. Однако немногие знают о её встроенных возможностях версионного контроля.

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

Понимание версионности в 'cp'

Команда cp предлагает два ключевых параметра для версионного контроля:

1. --backup: Создаёт резервную копию целевого файла перед его перезаписью.
2. --suffix: Указывает пользовательский суффикс для резервной копии файла.

Основное резервное копирование

Чтобы создать простую резервную копию:

/$ cp --backup=numbered /path/to/source/file /path/to/destination/


Эта команда создаёт резервную копию с суффиксом по умолчанию в виде тильды (~) и инкрементирующимся номером.

Резервное копирование с пользовательским суффиксом

Для более описательных резервных копий:

$ cp --backup=numbered --suffix=.bak /path/to/source/file /path/to/destination/


Эта команда создаёт резервные копии с суффиксом .bak и инкрементирующимся номером.

Практический пример: Резервное копирование конфигурации SSH

Предположим, вы часто обновляете конфигурационный файл SSH (/etc/ssh/sshd_config) для управления правилами доступа. Вот как можно поддерживать версионные резервные копии:

1. Создайте нумерованную резервную копию:

$ cp --backup=numbered /etc/ssh/sshd_config /data/backup/


Это создаст резервные копии, такие как sshd_config.~1~, sshd_config.~2~ и т.д.

2. Создайте нумерованную резервную копию с пользовательским суффиксом:

$ cp --backup=numbered --suffix=.bak /etc/ssh/sshd_config /data/backup/


Это создаст резервные копии, такие как sshd_config.bak.1, sshd_config.bak.2 и т.д.

Преимущества

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

🐧 Linux Club

Linux Club

10 Nov, 08:07


Забудьте о хаосе в конфигурациях с помощью Ansible

На курсе «Ansible: Infrastructure as Code» от Слёрм научим вас:

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

Видеолекции и онлайн-встречи, 42 часа практики и ревью, а еще мощный финальный проект для вашего портфолио.

▶️ Старт — 25 ноября
▶️ Программу обучения и бесплатный урок по AWX забирайте у бота-помощника.

Узнайте, как легко управлять сотнями серверов без рук. До встречи!

#реклама
О рекламодателе
erid: LjN8K9RmU

Linux Club

07 Nov, 16:45


Бесплатное IT-образование в 2024

Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления

Выбирайте нужное и подписывайтесь:

👩‍💻 Frontend: @FrontendPortal
⚙️ Backend: @BackendPortal
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩‍💻 Python: @PythonPortal
👩‍💻 Java: @Java_Iibrary
👩‍💻 C#: @KodBlog
👩‍💻 С/С++: @Cpportal
🖥 Базы Данных & SQL: @SQL
👩‍💻 Golang: @juniorGolang
👩‍💻 PHP: @PHPortal
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Разработка игр: @GameDevgx
👩‍💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign

➡️ Сохраняйте себе, чтобы не потерять

Linux Club

05 Nov, 10:54


⚡️LPIC-1 (exam 101) Часть 2

LPIC 102.4 Управление пакетами в Debian-подобных операционных системах
LPIC 102.5 Управление пакетами в RedHat-подобных операционных системах
LPIC 103.1 Работа в командной строке Linux
LPIC 103.2 Работа c текстовым выводом в Linux
LPIC 103.3 Основные операции с файлами и директориями
LPIC 103.4 Использование потоков, конвейров и перенаправлений
LPIC 103.5 Работа с процессами в Linux
LPIC 103.6 Приоритеты процессов в Linux
LPIC 103.7 Регулярные выражения в Linux
LPIC 103.8 Текстовый редактор Vi

🐧 Linux Club

Linux Club

02 Nov, 10:24


⚡️ LPIC-1 (exam 101) Часть 1. Автор Kirill Semaev (Кирилл Семаев)

Вводное видео для LPIC-1 (exam 101), или подготовка к курсу по администрированию Linux
LPIC 101.1 Работа с железом в Linux. Часть первая - sysfs, devfs, udev
LPIC 101.1 Работа с железом в Linux. Часть вторая - управление устройствами
LPIC 101.2 Процесс загрузки Linux
LPIC 101.3-1 Инициализация системы в стиле SysV
LPIC 101.3-2 Инициализация системы в стиле systemd
LPIC 101.3-3 Инициализация системы в стиле upstart
LPIC 102.1 Работа с жесткими дисками в Linux
LPIC 102.2 Загрузчики Linux
LPIC 102.3 Управление библиотеками в Linux

🐧 Linux Club

Linux Club

02 Nov, 06:50


❗️Крупнейшая библиотека 📲 @BIG_Disk снова в Telegram совершенно БЕСПЛАТНО

Подборка 3500++ редких книг в сфере: Информационная Технологии, Информационная Безопасность, Osint, программирование, этичный хакинг, администрирование, SEO, маркетинг, НЛП, социальная инженерия и многое другое... "то что важно в любое время знать.."

Сохрани точно пригодится 👉@BIG_Disk

❗️А в нашем Боте 🤖 @books_max_bot  вы также найдете найдет и скачаете более 1миллиона книг 👻

"Информация и знания должны быть доступны и бесплатны для всех.." Администрация 👻 Max Open Source

Linux Club

01 Nov, 08:47


🎬 Сетевые протоколы в Linux

🔴Видеоуроки:
1 — Введение: стек сетевых протоколов, независимость и инкапсуляция уровней
2 — Некоторые сведения о физическом уровне и управлении виртуальными машинами
3 — Интерфейсный уровень и его представление
4 — Интерфейсный уровень: сетевые мосты и VLAN
5 — Сетевой уровень: адресация и маршрутизация
6 — Связность сети и целевая маршрутизация
7 — Транспортный уровень: TCP и UDP
8 — Транспортный уровень: трансляция адресов и формирование трафика
9 — Прикладной уровень: возможности операционной системы
...
24 — Туннелирование и частные сети

▶️ Плейлист YouTube

🔻Канал: UNИX
🔴#linux #sysad

Linux Club

01 Nov, 07:37


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

Наиболее распространенные: top, htop, iostat, vmstat, sar, netstat, tcpdump, strace, lsof, perf.

🐧 Linux Club

Linux Club

31 Oct, 06:00


Да, детка

🐧 Linux Club

Linux Club

30 Oct, 14:38


Ты видишь только верхушку айсберга вакансий. Половина крутых предложений никогда не попадает в открытый доступ. Сначала их закрывают через личные контакты, HR-базы и закрытые каналы.

Sparkles собирает топовые вакансии для разработчиков ещё до их публикации на агрегаторах.

- Прямые контакты эйчаров.
- Ежедневные подборки вакансий в дизайне от джуна до сеньора.

Подписывайся, чтобы не упустить работу мечты

Linux Club

30 Oct, 11:32


Это уже не остановить 😂

🐧 Linux Club

Linux Club

30 Oct, 06:43


Совет для Linux🤎

Получайте уведомления, когда ваши команды в терминале завершатся!


$ sudo apt update; notify-send "Обновление завершено" "Обновления получены"


Замените apt update на любую команду, выполнение которой займет время. Не забудьте сначала установить inotify-tools:


$ sudo apt install inotify-tools


🐧 Linux Club

Linux Club

28 Oct, 12:40


⚡️ Утилиты командной строки: top и htop

Команды необходимы для мониторинга производительности системы (Linux). Их использование полезно для анализа процессов и определения того, сколько CPU тратится на их выполнение, какое потребление оперативной памяти и т.д.

Их основные отличия:

Доступность
top: Является предустановленным для болишинства UNIX систем
htop: Требует ручной установки (доступен в большинстве стандартных репозиториев).

Интерфейс
top: Текстовый интерфейс с ограниченными возможностями навигации
htop: Интерактивный интерфейс с возможностью использования мыши, прокрутки и сортировки.

Информация о системе

top: Отображает основную информацию о системе - использование ЦП, памяти, своп и процессов
htop: Предоставляет более подробную информацию, включая использование диска, сетевой трафик, температуру ЦП, использование его ядер и многое другое.

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

Настраиваемость
top: Имеет ограниченные возможности настройки
htop: Высоко настраиваемый, позволяет изменять цвета, столбцы и горячие клавиши.

Другие функции
top: Может отображать графики использования ресурсов
htop: Имеет встроенный просмотрщик файлов, монитор сети и другие полезные функции.

Ресурсоемкость
top: Более легкий и потребляет меньше ресурсов
htop: Более ресурсоемкий, но предлагает расширенный набор функций.

Бонус, если вы все еще используете top: для того, чтобы преобразить его внешний вид и вывести дополнительную информацию, можно воспользоваться последовательным вводом (1, z, c, m) 🤎

🐧 Linux Club

Linux Club

28 Oct, 07:03


Какие известные фестивали проходят в октябре?
Конечно же OTUS FEST!
Присоединяйтесь к трёхдневному IT-фестивалю.
Вас ждут 9 спикеров, мастер-классы, полезные знакомства и разбор интересных случаев из практики. Мы обсудим темы, которые волнуют IT-индустрию, поделимся технологическими хитростями, ответим на ваши вопросы.
Вы узнаете:
- На что обращать внимание при выборе фреймворков?
- С чего начать импортозамещение в ИБ?
- Как подходить к описанию архитектуры на разных уровнях?
- Как разработать стратегию тестирования, которая действительно работает?
- Чего ждать от революции в большой языковой модели?
- Чем «импортозаместить» Nginx?
- Куда движется российский геймдев?
- Какие важные тренды появились в HR за последние годы?
- Что делать аналитикам, чтобы их не заменил ИИ?
Ждём всех, кто работает с информационными технологиями.
Будет круто.
29, 30, 31 октября: можете выбрать любой удобный день или все три сразу.
Участие бесплатное
Записаться на OTUS FEST - https://otus.pw/7D0q/?erid=LjN8KUqy9

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Linux Club

25 Oct, 07:03


«Revolution OS» — документальный фильм, рассказывающий об истории GNU, Linux, а также open source и free software движений. В нём представлены интервью со знаменитыми хакерами и предпринимателями, включая Ричарда Столлмана, Майкла Тименна, Линуса Торвальдса, Ларри Аугустина, Эрика Реймонда, Брюса Перенса, Френка Хекера и Браина Бехлендорфа. Съёмкой картины управлял J.T.S. Moore.

Ютубчик

🐧 Linux Club

Linux Club

24 Oct, 16:04


2. Сесть на унитаз, чтобы полистать Телегу
3. Подписаться на Пакет IT-Мемов

Linux Club

24 Oct, 11:48


Освоение ядра Linux

Год: 2017
Автор: Рагху Бхарадвадж
Язык: Английский

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

#book #linux

🐧 Linux Club

Linux Club

23 Oct, 13:08


🐧 Linux Club

Linux Club

23 Oct, 07:07


⚡️Первая IT-академия в Телеграм

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

Ребята из онлайн-академии StepByStep в своем канале проводят бесплатный интенсив, благодаря которому можно погрузиться в мир IT и освоить самую востребованную профессию 2025 года – системный аналитик.

Гарантия трудоустройства после обучения.

Переходите скорее и не упускайте такой шанс: https://t.me/+x0Dk6hlK4IIzYjli

Linux Club

22 Oct, 17:31


Что такое бинарный пакет (deb, rpm)?

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

Репозитории для серверных изданий содержат одни пакеты, хомяки (Home Edition), в свою очередь, могут поставляться с другими: окружения рабочего стола, графические утилиты и т.д. Самыми распространенными расширениями пакетов в Linux являются .deb (Debian) и .rpm (Red Hat Package Manager).

Что такое бинарный пакет?

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

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

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

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

Чем отличается .deb от .rpm?

Пакеты с расширением .deb используются в "Debian based" дистрибутивах: Ubuntu, Mint, Deepin, AntiX, Kali и т.д. Установка пакетов данного типа выполняется через утилиту dpkg (Debian Package):

dpkg -i packageName.deb


Также существует ряд утилит семейства dpkg, которые входят в пакет dpkg-dev и необходимых для создания и администрирования архивов формата .deb:

$ dpkg -L dpkg-dev | grep -i bin  

/usr/bin/dpkg-architecture
/usr/bin/dpkg-buildapi
/usr/bin/dpkg-buildflags
...


А что же такое apt (Advanced Package Tool)? Apt - это набор утилит высокого уровня, необходимых для администрирования .deb пакетов и работы с внешними репозиториями.

Apt, в отличии от dpkg, позволяет подтягивать из локальных либо удаленных репозиториев необходимые зависимости, мониторить список доступных пакетов, следить за обновлениями и много-много чего еще:

$ apt-cache search mesa  

libd3dadapter9-mesa - state-tracker for Direct3D9
mesa-vdpau-drivers - Mesa VDPAU video acceleration drivers
mesa-vulkan-drivers - Mesa Vulkan graphics drivers
...


Прописать список источников, с которыми менеджер apt будет работать, можно в файл "/etc/apt/sources.list":

$ cat /etc/apt/sources.list  

Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg


RPM - это расширение для пакетов, используемых в операционных системах, основанных на Red Hat, это вся ветка дистрибутивов: Fedora, OpenSUSE, Red Hat, CentOS и т д.

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

По аналогии с dpkg, утилита rpm используется для того, чтобы локально обслуживать .rpm пакеты. Для более высокоуровневого взаимодействия и возможности работать с репозиториями, необходимо использовать ряд пакетных менеджеров: zypper (OpenSUSE), dnf (Fedora), urpmi (Mageia), yum - для многих дистрибутивов, основанных на Fedora:

rpm -i package.rpm
yum install package.rpm
dnf install package.rpm


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

🐧 Linux Club

Linux Club

22 Oct, 15:16


Ищешь работу DevOps/SRE, но получаешь отказы? Хочешь скорее добиться повышения грейда или з/п?

Помогу прокачать скиллы, расширить стек и получить оффер на 200+ тысяч 🔥 

Меня зовут Антон. Я опытный DevOps-инженер, TeamLead SRE и ментор.

Помогу:

⚡️ получить необходимые навыки DevOps/SRE и найти первую работу уже через 3,5 месяца
⚡️ расширить стек и перейти с Junior на Middle/Senior DevOps, TeamLead SRE позицию
⚡️ составить сильное резюме, чтобы HR писали первыми
⚡️ пройти собеседование в компанию мечты

Мои ученики получают 250 000–400 000₽ на руки на рынках РФ, РБ и $3 000–9 000 на руки на валютных удалёнках Польши, ОАЭ и др.

Узнать подробности и почитать отзывы учеников можно здесь
Или пиши сразу мне @sandoromarini
Отвечу на все вопросы 🤝

Реклама. Калабин А.В. ИНН 781632832809.erid: LjN8K4J94

Linux Club

22 Oct, 13:13


⚡️ Удаленная переустановка Linux по ssh без доступа к консоли

В статье рассказывается о методе удаленной переустановки Linux-сервера по SSH без доступа к физической консоли, используя нестандартные подходы.

Читать статью

🐧 Linux Club

Linux Club

22 Oct, 11:02


ВЫИГРАЙ СЕРВЕР ЗА 200К И ДРУГИЕ КРУТЫЕ ПРИЗЫ НА PROIT FEST! 🎉

26 октября на ProIT Network Fest наши замечательные партнеры InRack устроят настоящую лотерею с кручением барабана — классический розыгрыш, где будет множество крутых подарков для всех, кто связан с серверной поддержкой и не только! 🎁Главный приз — сервер стоимостью 200 000 рублей! 🔥

А также вас ждут спикеры из ведущих компаний - Сбер, Т-Банк, Habr, Superjob, Яндекс, Wildberries, MTS Hub, Ingria, DevOps40, Gitlife и др. в 4 потока:

Секция HypeLoad: трендвочинг вместе с экспертами индустрии IT

Секция Hiring: эйчары, нанимающие менеджеры и кандидаты в одном месте - лучший способ обойтись без 5 этапов собеседований и понять, где «свои» люди

Секция Network: неизбежный прирос социального капитала «без границ» - от РФ до международки!

Секция GoGlobal: от прожарки стартапов к разбору как выйти на международку (спойлер: знать английский, и половина спикеров с Native уровнем).

Полная программа фестиваля ProIT Network Fest 26 октября
Промокод на 30%: LENIVO
Билеты на фестиваль забирайте здесь! 🎟

Реклама. ИП АФОНИНА АННА ГЕОРГИЕВНА. ИНН 781137236664.erid: 2VtzqvQyoc7

Linux Club

18 Oct, 10:27


⚡️Команда parted в Linux

В этой статье мы разберем как выполнять основные операции, которые мы привыкли делать в Gparted, такие как разметка диска, удаление и создание раздела, в терминале, а поможет в этом команда parted Linux. Сначала рассмотрим саму команду parted.

Читать статью

🐧 Linux Club

Linux Club

17 Oct, 15:06


🐧 Linux Club

Linux Club

17 Oct, 12:01


Подготовьтесь к интервью на Cloud Solution Architect и узнайте, как уверенно пройти все его этапы!

👉На бесплатном вебинаре онлайн-курса «Cloud Solution Architecture» - «Mock интервью на позицию Cloud Solution Architect»: регистрация

На вебинаре вы узнаете:
1. Как преодолеть страх перед интервью и подойти к нему с уверенностью
2. Этапы карьерного роста от Solution Architect до руководящих позиций
3. Основные этапы интервью для Cloud Solution Architect и их содержание
4. Методики эффективного ответа на вопросы интервьюеров
5. Важность Soft и Hard skills в процессе отбора
6. Симуляция интервью с разбором технических вопросов

🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!

erid: LjN8KB9gg

Linux Club

16 Oct, 17:45


🐧 Linux Club

Linux Club

16 Oct, 10:01


Любая крупная БД рано или поздно начинает испытывать проблемы с производительностью.

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

Как же их отслеживать и оптимизировать?

Узнаете на открытом вебинаре «Как оптимизировать производительность запросов в PostgreSQL?»

Вы узнаете:

- как оптимизация запросов влияет на скорость обработки данных

- что влияет на производительность запросов

- как правильно использовать индексы для повышения производительности

- как выявлять медленные запросы с помощью инструментов мониторинга

Будет интересно: аналитикам, инженерам и разработчикам БД, бэкенд-специалистам, тимлидам и проект-менеджерам.

Спикер: Алексей Железной, преподаватель OTUS и старший инженер данных.

Бонус! Всем участникам – скидка 5% на любой курс OTUS и полезные гайды.

16 октября, 18:30 МСК, Бесплатно

Записаться на событие - https://otus.pw/r3YG/?erid=LjN8K12aG

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Linux Club

15 Oct, 11:21


Linux на примерах

Год:
2022
Автор: Колисниченко Д.Н.
Язык: Русский

Данная книга является практическим руководством по работе в Linux и ее администрированию. Книга содержит в себе как теоретические, так и прак­тические материалы, т.е. теория и практика объединены в одно целое. Изло­жение ведется с учетом самых разных дистрибутивов Linux.
Будет рассмотрен широкий спектр возможностей Linux от самых основ (установка системы, вход и завершение работы, настройка системы, основы командной строки) до более продвинутых тем (локальное адми­нистрирование в Linux; управление файловой системой; маршрутизация и настройка брандмауэра; системные процессы и т.д.)

#linux #book #администрирование

🐧 Linux Club

Linux Club

14 Oct, 11:15


GitHub – умер. 90% контента генерится через ChatGPT, а реально полезные материалы собирают мало просмотров и не выводядся в топ.

Хорошо, что есть канал Технологичка. Там тима айтишников и дизайнеров ручками отсматривают статьи с GitHub, Reddit и Toster, выкладывая самую годноту.

Все материалы отсортированы по темам и категориям. Подойдет всем: от фронтендов до девопс-инженеров.

В общем, пользуйтесь, таких каналов реально единицы: https://t.me/+9cz4I0HyP1sxZGY0

Linux Club

14 Oct, 08:09


(Dataset Definition). Позволяет скопировать данные на двоичном уровне из одного места в другое. Данные могут быть любого размера — от образа CD/ DVD до целого жёсткого диска.
Утилита перемещает блоки данных из указанного источника — if имя_файла в пункт назначения — of имя_файла, который может быть устройством или файлом. Для копирования нескольких файлов применяется утилита cp.
С данной командой надо обращаться крайне осторожно, о чём свидетельствует её альтернативное название «Data Destroyer». Ошибка в вводе данных может легко стать причиной потери данных на диске.

🐧 Linux Club

Linux Club

12 Oct, 07:55


Работа с сетью

Отладка Linux

# ethtool eth0 - Показать Ethernet статус
# ethtool -s eth0 speed 100 duplex full - Принудительная установка режима 100Mbit Full duplex
# ethtool -s eth0 autoneg off - Отключить автоопределение
# ethtool -p eth1 - Мигать индикатором сетевой карты - если поддерживается
# ip link show - Список сетевых интерфейсов в Linux (подобна ifconfig)
# ip link set eth0 up - Активировать сетевой интерфейс (или отключить). Аналог "ifconfig eth0 up"
# ip addr show - Список всех IP адресов в Linux ( аналог ifconfig)
# ip neigh show - Тоже что и arp -a

Печать таблицы маршрутизации

# route -n # Linux или используйте "ip route"
# netstat -rn # Linux, BSD и UNIX
# route print # Windows

Используйте "add -p" что-бы сделать маршрут постоянным.Настройка дополнительных IP адресов Linux

# ifconfig eth0 192.168.50.254 netmask 255.255.255.0 # Первый IP адрес
# ifconfig eth0:0 192.168.51.254 netmask 255.255.255.0 # Второй IP адрес
# ip addr add 192.168.50.254/24 dev eth0 # Эквивалентные команды для ip
# ip addr add 192.168.51.254/24 dev eth0 label eth0:1

https://telegra.ph/Rabota-s-setyu-09-18

🐧 Linux Club

Linux Club

09 Oct, 19:07


zcat / zless / zmore
Утилиты для просмотра сжатых файлов. С помощью zcat можно найти увидеть список сжатых файлов, zless выводит их списком постранично с возможностью листать вперёд и назад, а zmore — только вперёд.

;
Точка с запятой — ещё один оператор для последовательного запуска нескольких команд в одной строке. Если нужно, чтобы команды выполнялись параллельно, используйте оператор так:

(команда_№1 &); (команда_№2 &); (команда_№3 &)

🐧 Linux Club

Linux Club

09 Oct, 15:02


⚡️ Вся база знаний по IT в одном месте!

🧑‍💻 IT База — краткие разборы самого важного из мира IT. Сотни мастхев-ресурсов, каждый день новые материалы по работе и подготовке к собеседованиям. Подойдёт как новичкам, так и состоявшимся айтишникам;

🖥 Frontend База — всё для фронтенд разработчиков. Готовые решения для проектов, полезные курсы по JS/HTML/CSS, готовые роадмапы для комфортного освоения в профессии и дальнейшего развития;

👣 Backend База — самое важное для бэкендеров. Всё о работе с PHP, MySQL, MongoDB, Golang и Rust в одном месте, плюс полные курсы и лайфхаки для работы на каждый день;

🖥 База Знаний — склад полезных курсов и материалов, где легко найти что-то нужное по хэштегам. Если вам что-то интересно про IT, то оно уже лежит на Базе, проверяйте.

Успей подписаться, чтобы не потерять!

Linux Club

08 Oct, 11:01


💻 Видели видео в кружочках с приколами про IT? А у нас они есть! 😂

У нас самые смешные и жизненные мемы, созданные для айтшников от айтишника (админ от души старается)!

Заходите к нам, чтобы поднять настроение и насладиться оригинальным контентом

📲 Ссылка на канал: 4 Строчки

Linux Club

08 Oct, 10:01


😈 dемоны в Linux

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

Примеры системных демонов

У каждого системного демона есть своя микроцель существования. Одни контролируют сетевые соединения, другие отвечают за взаимодействие между приложениями по системе dbus. Примерами популярных демонов являются:

1) cron — демон, который выполняет команды в запланированное время;
2) sshd — демон, который отвечает за обработку SSH-подключений;
3) httpd — демон HTTP-сервера (Apache), который обслуживает веб-страницы;

Вы можете и сами "поймать" демонов через различные утилиты: ps, top, pstree. Базовыми отличительными параметрами таких процессов являются имя, которое заканчивается на 'd', родительский процесс init и отсутствующий терминал:

$ ps -o pid,ppid,cmd

PID    PPID CMD
1239 1 /usr/lib/snapd/snapd
1250 1 /usr/libexec/udisks2/udisksd


Дополнительно хочется отметить, что процессам-демонам присуща особенность, которая гарантирует, что ядро не сможет генерировать для них никаких сигналов, связанных с терминалом (SIGINT, SIGTSTP и SIGHUP).

Создание демона

Глобально существует 2 типа демонов: "SysV Daemons" и "New-Style Daemons". Первый тип является традиционным и преимущественно использовался до появления systemd. Второй, в свою очередь, опирается на инфраструктуру systemd и является сервисом.

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

1️⃣ Сделать вызов fork(), после которого родитель завершается, а потомок продолжает работать. Это нужно для отделения демона от терминала, из которого он был запущен. В результате, процесс становится потомком для init:

pid_t pid = fork();

if (pid < 0)
exit(EXIT_FAILURE);

if (pid > 0)
exit(EXIT_SUCCESS);


2️⃣ Дочерний процесс вызывает setsid(), чтобы начать новую сессию, стать ее лидером и разорвать любые связи с контролирующим терминалом:

if (setsid() < 0)
exit(EXIT_FAILURE);


3️⃣ Проигнорировать сигнал SIGHUP для того, чтобы не завершиться при закрытии терминала, внутри которого был воспроизведен запуск:

signal(SIGHUP, SIG_IGN);


4️⃣ Повторно выполнить fork(). Этот шаг иногда выполняется для предотвращения возможности захвата вновь созданного демона новым управляющим терминалом.

5️⃣ Очистить атрибут umask, чтобы файлы и каталоги, созданные демоном, имели запрашиваемые права доступа, указанные в вызовах open() и mkdir():

umask(0);


6️⃣ Поменять текущий рабочий каталог процесса (обычно на корневой). Это необходимо для исключения блокировки файловой системы и возможности, в случае необходимости, сделать для нее unmount:

chdir("/");


7️⃣ Закрыть все открытые файловые дескрипторы, которые демон унаследовал от своего родителя. Поскольку демон потерял свой контролирующий терминал и работает в фоновом режиме, ему больше не нужно хранить дескрипторы с номерами 0, 1 и 2, их тоже закрываем:

for (int x = sysconf(_SC_OPEN_MAX); x>=0; x--)
close (x);


8️⃣Переоткрыть дескрипторы STDIN, STDOUT, STDERR и перенаправить стандартные потоки в виртуальное устройство "/dev/null". Данный шаг необходим по нескольким причинам.

Во-первых, вновь открытые файлы неизбежно возьмут себе минимально доступный порядковый номер (0, 1, 2 ...), что может привести к нежелательным записям со стороны функций, которые работают с этими дескрипторами.

Во-вторых, данное действие позволяет избежать ошибок при вызове библиотечных функций, которые выполняют операции ввода/вывода с этими дескрипторами:

int fd0 = open("/dev/null", O_RDWR); 
int fd1 = dup(0);
int fd2 = dup(0);


9️⃣ Запустить основной цикл, в котором демон будет выполнять свою работу:

while (1) {
}


🐧 Linux Club

Linux Club

08 Oct, 07:49


🔒 7539 ГБ платного контента для программистов выложили в Telegram

Выбирай направление и обучайся:

👩‍💻 Java — 644 ГБ

🖥 Python — 724 ГБ

🖥 Frontend — 981 ГБ

🖥 Backend — 817 ГБ

👩‍💻 Все языки — 4373 ГБ

Пост удалится через 48 часов 🕔

Linux Club

08 Oct, 07:01


🐧 Linux Club

Linux Club

07 Oct, 17:10


☠️10 опасных команд Linux, которые вы никогда не должны запускать

rm -rf / - Эта команда удалит все файлы и папки на вашем компьютере. Не запускайте ее, если не хотите потерять все свои данные.

:(){ :|: & };: - Это команда, также известная как "fork bomb", может вызвать переполнение памяти на вашем компьютере и привести к аварийному завершению системы.

mkfs.ext4 /dev/sda - Эта команда форматирует жесткий диск без какого-либо предупреждения или подтверждения. Все данные будут утеряны.

dd if=/dev/random of=/dev/sda - Эта команда перезапишет все данные на жестком диске случайными значениями, что приведет к потере данных.

chmod 777 / - Эта команда откроет полный доступ к вашей файловой системе для всех пользователей, что может привести к нарушению безопасности.

mv /home/* /dev/null - Эта команда переместит все файлы в вашей домашней директории в "null", что означает, что они будут утеряны.

wget http://example.com/file -O /dev/null - Эта команда загрузит файл и перезапишет все данные в "null", что приведет к потере данных.

mkfs.ext4 /dev/sda1 - Эта команда форматирует раздел жесткого диска без какого-либо предупреждения или подтверждения. Все данные на этом разделе будут утеряны.

ln -s /dev/null /etc/passwd - Эта команда создаст символическую ссылку на "/etc/passwd" в "null", что приведет к потере данных.

echo "Hello" > /dev/sda - Перезапишите свой раздел, это заменит ваш раздел, содержащий все данные, необходимые для загрузки системы, строкой «Hello».

🐧 Linux Club