Ответы пользователя по тегу Linux
  • Какой дистрибутив Linux выбрать для системного администратора и\или DevOps инженера на свой ПК?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    В крупных конторах чаще всего используются rhel, ubuntu и популярные облачные решения (например aws linux)
    Выбирай любой. Вообще особой разницы нет.
    Ответ написан
    Комментировать
  • Работа с памятью и гибернация в linux как в windows?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    1. Сжатая память? Вы уверены? можно документацию где это работает по дефолту?
    2. гибернация это не своп. Не путайте pagefile.sys и hiberfil.sys - это совершенно разные и независимые штуки.
    Swap на линуксе может быть вообще какой угодно.
    3. Это не совсем так работает. С достаточным объемом памяти Линукс сам со всем разбирается. Просто Линукс не то, чтобы привык что его часто ребутают. А если не ребутать, он в принципе старается кешировать все, что может.
    Ответ написан
  • Как решить проблему с экспортом $PATH?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    посмотри в домашнем каталоге .profile, .bashrc
    там возможно PATH переназначается как-то так PATH=/opt/java/latest/bin
    а должно быть PATH=$PATH:/opt/java/latest/bin - то есть сохраняя предыдущее значение и дописывая в него новое.
    Ответ написан
  • Почему для скриптинга в шелле используется bash а не более современный язык программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Насколько я понимаю раньше шеллы использовались в качестве примитивных высокоуровневых языков. Сейчас у нас есть Perl, Python, nodejs, php...


    Ну давайте вместо рабочего стола пользователю дадим сразу Visual Studio, ведь какая разница как программу запускать - иконкой на рабочем столе, или форкать из высокоуровневого языка?

    shell - это оболочка операционной системы. То, что кроме графической есть еще и command line interface - это совершенно нормально и адекватно. И шелл позволяет пользователю и администратору работать в операционной системе гораздо удобнее, чем через язык программирования.

    То, что sh/bash и другие, настолько развиты что сами по себе являются неплохими языками программирования - это просто следствие того, что командый интерфейс и создавался тогда, когда каждый пользователь был немного программистом, и следствие того, что cmd line удобен для автоматизации просто по своей архитектуре.
    Поэтому Powershell, bash/zsh/ksh будут продолжать развиваться.

    Но ты можешь попробовать писать всю автоматизацию на любом другом языке программирования. И со временем немного столкнуться с тем, что скрипт, написанный на шелл 10 лет назад - просто работает, а скрипт написанный на питон 10 лет назад - несовместим.
    Ответ написан
    42 комментария
  • В airmon-ng нет Wlan0. Как исправить?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Вопрос о том, что следует изучить базовые навыки работы с линукс, а именно - что такое интерфейс и как посмотреть список интерфейсом в текущей системе.
    Ответ написан
  • Не получается по SSH подключиться к UDP/TCP серверу Minecraft, как это правильно сделать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Я хочу подключиться через SSH к серверу таким образом, чтобы при удалённом запуске сервера Minecraft я мог подключиться к нему с клиента Minecraft со всего компьютера, будто по локальной сети.

    Каким образом ssh будет тебе делать локальную сеть? Это делает VPN
    SSH может помочь пробросить TCP порты, но это тебе надо каждый порт пробрасывать на локальную машину и майнкрафтом уже подключаться к себе.
    а UDP порты ssh не пробросит, потому что ssh сам по TCP работает, там надо еще извращаться через какой-нить fifo

    В общем тебе проще VPN настроить
    Ответ написан
  • Как понять значение этой строки?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    каждая команда после завершения возвращает код возврата.
    для if важно не сравнение чего-либо с чем-либо, а именно код возврата команды, который 0 - успех, не ноль - ошибка.
    поэтому if [ A == B ] - это не сравнение а выполнение команды[ ]
    так и тутif ping - это не сравнение, а выполнение команды pingи получение ее кода возврата

    > /dev/null 2> /dev/null
    > - перенаправление вывода stdout в нул
    2>перенаправление вывода stderr в нул
    Это чтобы на экран команда ничего не выводила - ни основной вывод ни ошибки

    p.s. посмотреть код возврата можно через переменную $?
    ping -c 1 google.com
    echo $?
    
    ping -c 1 google.com1
    echo $?
    Ответ написан
    1 комментарий
  • Линукс. Это взлом? Тогда как?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    на рабочей машине

    На работе может стоять transparent прокси или вообще mim, а человек либо один из админов либо через них мог выяснить куда вы ходите.
    Ответ написан
  • Стенд для изучения DevOps на базе Linux-серверов. С чего начать изучение?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Познакомься со следующим:

    1. Система мониторинга. На хайпе сейчас prometheus/grafana, но можно посмотреть любые другие системы + графана.
    2. оркестрация, например ansible для управления своими серверами
    3. изучи баш на уровне "быстро напишу скрипт который что-то скачает, развернет, скопирует, подчистит, получит текст по curl и распарсит из него нужные строки, запустит приложение и убедится что оно успешно запустилось"
    4. Можно также подучить python/groovy на базовом уровне.
    5. Все свои наработки храни в git, а еще лучше поставить какой-нить gitlab и почитать о парочке git workflow
    6. После этого настойчиво рекомендуется ознакомиться с контейнерами docker/kubernetes/openshift

    Если за год осилишь, можно пробовать поискать что-то начальное, где есть команда девопс инженеров.
    Ответ написан
    Комментировать
  • Парсинг файла bash?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Возьмите то что нужно регуляркой
    SystemName=$(grep -oP "SystemName: \K[A-Za-z0-9]*" server_out.db)
    if [ "$SystemName" == " S4BZJ045 ]; then
      echo "Ok"
    else
      echo "Not Ok"
    fi
    Ответ написан
    Комментировать
  • Как скачивать тяжелые сайты с сервера debian?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Соответственно командой tar его не запакуешь и не скачаешь по sftp

    В адекватном сайте, медиа контент должен жить в отдельных каталогах, следовательно аудио и видео качаются отдельно, база отдельно, а код сайта пакуется таром и качается тоже отдельно.
    Или все вместе по sftp (почему нельзя, неясно, все можно)
    или rsync
    Ответ написан
    Комментировать
  • После отключения интернета как узнать когда закончит работать команда tar?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Подключиться, сделать
    ps aux | grep tar
    и посмотреть есть ли ваш процесс. Скорее всего при обрыве связи он прервался.

    Чтобы запускать долгоиграющую команду, которая не оборвется от внезапного завершения сессии, надо использовать или nohup или скрин менеджеры (screen, tmux)
    Ответ написан
    1 комментарий
  • Какой браузер меньше ест памяти и CPU?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    celeron 2
    Современное видео уже больше 10-ти лет декодится хардварным кодеком встроенным в CPU, поэтому если у вас celeron2, он такое не поддерживает и тупо не справится. Забудьте про видео,на celeron2 можно смотреть Mpeg2, в лучшем случае mpeg4 с низким битрейтом, если это какой-нить xvid, а про современные кодеки на котором живет сейчас весь мир просто забудь.
    Ответ написан
    Комментировать
  • Можно ли читать данные приложения в RAM?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Чтобы один процесс А мог читать память процесса Б, в современных операционных системах требуется, чтобы процесс А был запущен с привилегиями.
    Обычно программы для этого встраивают в ядро свои драйвера (отладчики, всякие cheatengine/artmoney) и др.
    Ответ написан
    Комментировать
  • Что-то генерирует файлы в корне системы?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    1. файлы созданы от рута, поэтому найти будет немного сложнее, создавать их может любой рутовый процесс.
    2. Не похоже, что это крон - он не умеет в пол-минуты, минимальный интервал минута, поэтому скорее всего это какой-то уже запущенных процесс. Но для очистки совести можно и кроны просмотреть.
    А что собственно в файлах?
    Ответ написан
  • Можно ли сгенерировать ssh rsa type key с passphrase lenght меньше 5 символов?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    да. Ограничений в самой утилите нет
    Ответ написан
    4 комментария
  • Как в данном случае работает утилита tr?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    tr просто заменяет из первого вторым по порядку.

    echo 'example123' | tr 'a-z1-9' '1-9A-Z'
    в данном случае раскрываем оба диапазона и получается abcdefghij... во втором будет 123456789ABC...

    следовательно a заменится на 1, а j на A
    а 0 в вашем диапазоне вообще не указан.
    Ответ написан
    Комментировать
  • Централизованный менеджмент ssh доступа?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Ну по сути делается так:
    Либо вы настраиваете pam.d для работы с централизированным юзер менеджментом (ldap/ AD)

    Либо настраиваете ssh через велосипед, в котором конфигурируете сервер на работу с ключами только, например, из /etc/ssh/users/$user/keys, и ключи туда раскладываете сами - руками или любым оркестратором.
    Мониторить конфиги sshd серверов и ключей, чтобы их никто не менял, и в принципе все.
    Также данную задачу можно решить не совсем велосипедом а поискать готовые решения. Из платных знаю по tectia sshd сервер, он еще и логирование централизовано сделает. Но уверен что есть и другие.

    Первый вариант хорош, если у вас уже есть какой-то AD или LDAP в организации, к которому можно просто интегрироваться.
    Ответ написан
    2 комментария
  • Перебор и изменение файлов bash скриптом?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    если файлы в одном каталоге, то
    sed -i 's/было/стало/g' /home/user/mydir/*.ini

    Комментируем строку:
    sed -i 's/Notify="notify/11111"/#Notify="notify/11111"/g' /home/user/mydir/*.ini
    Ответ написан
    4 комментария
  • Как в ubuntu запускать скрипт по крону через терминал?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Из крона программа запускается в терминале, но не в вашем, а в фоне.
    И это нормально, так и должно быть.
    Если хотите следить за ходом выполнения - ваш скрипт должен писать действия в лог файл, который вы можете просматривать в удобное время.
    Ответ написан
    Комментировать