Ответы пользователя по тегу Linux
  • Какая ОС Linux имеет самую высокую защиту?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Настроенная грамотным специалистом и в руках опытного пользователя.
    Ответ написан
    Комментировать
  • Что значит зелёная заливка имени файла в листинге?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Означает Sticky Bit на каталоге /tmp. Обратите внимание на последнюю букву в правах доступа.
    Ответ написан
    Комментировать
  • Влияет ли кол-во файлов в директории на скорость записи (создания новых файлов) в ext4?

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

    Разница между 100 и 1000 файлов будет минимальна (менее процента)
    Разница между 100 и 1.000.000 файлов будет немного заметна, но только пока блоки содержащие директорию не закешируются в памяти.

    По сравнению с ext3, ext4 ОЧЕНЬ сильно оптимизировала работу с множеством файлов.

    Ниже edo1h привел пример теста, но он некорректно использовал внешнюю команду, получив основную нагрузку на процессор, а не на диск. Мой комментарий вышел слишком длинный поэтому решил его в ответ добавить:
    spoiler
    Давайте померяем еще раз вашим скриптом, а потом более правильным:
    $ test() { for A in `seq 1 10000`; do touch $RANDOM.$RANDOM.$A; done }

    $ time test
    real 0m8.406s
    user 0m5.939s
    sys 0m2.548s
    $ time test
    real 0m7.943s
    user 0m5.699s
    sys 0m2.333s
    $ time test
    real 0m7.929s
    user 0m5.647s
    sys 0m2.369s

    Как мы видим, ничего особо не видно. Непонятно быстрее или медленнее. Вдобавок user time занимает основную часть времени и видимо сильно влияет на результат.

    Перепишем скрипт:
    $ test1() { for A in `seq 1 10000`; do echo "" > $RANDOM.$RANDOM.$A; done }
    Почистим файлы и попробуем заново
    $ rm -rf *
    $ time test1
    real 0m0.310s
    user 0m0.111s
    sys 0m0.196s

    Сразу остановимся и увидим, что теперь у нас основное время это именно sys, а не user тайм, то есть уже чаще скрипт ждет пока выполнятся дисковые операции, а не дисковые операции ждут пока им дадут команду что-то делать. Повторим команду несколько раз:

    $ time test1
    real 0m0.331s
    user 0m0.101s
    sys 0m0.229s

    $ time test1
    real 0m0.331s
    user 0m0.129s
    sys 0m0.200s

    $ time test1
    real 0m0.402s
    user 0m0.118s
    sys 0m0.229s

    $ time test1
    real 0m0.324s
    user 0m0.087s
    sys 0m0.236s

    $ time test1
    real 0m0.382s
    user 0m0.129s
    sys 0m0.253s

    $ time test1
    real 0m0.387s
    user 0m0.102s
    sys 0m0.283s

    $ time test1
    real 0m0.421s
    user 0m0.115s
    sys 0m0.299s

    $ time test1
    real 0m0.465s
    user 0m0.115s
    sys 0m0.312s

    $ time test1
    real 0m0.465s
    user 0m0.139s
    sys 0m0.324s

    $ time test1
    real 0m0.467s
    user 0m0.139s
    sys 0m0.327s

    $ time test1
    real 0m0.553s
    user 0m0.156s
    sys 0m0.365s

    $ time test1
    real 0m0.560s
    user 0m0.194s
    sys 0m0.364s

    Итоги: видно что кеширование где-то работает, но с каждыми новыми файлами тенденция к замедлению есть, и она всего лишь через несколько десятков тысяч файлов увеличилась почти в полтора раза.
    То есть задолго до миллиона я получу замедление в несколько раз. Но это на моей виртуалке. На каждом оборудовании надо тестировать индивидуально.
    Ответ написан
    Комментировать
  • Какой выбрать дистрибутив линукс для вкатывания в консоль и программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Вы программируете непосредственно в линуксе, или в каком-то IDE?
    В этом случае совершенно не важно, какой Линукс, лишь бы в нем запустилось то, в чем вы непосредственно работаете. С этой точки зрения разные дистрибутивы мало отличаются. Максимум погуглить как установить окружение в вашем дистрибутиве и все - консоль есть в каждом популярном Линуксе, IDE тоже.

    А из-за обновления может много чего упасть.
    Для серверных вариантов - почти в каждом дистрибутиве есть LTS (long-term-support) версия.

    Для десктопа, берешь например монетку и кидаешь среди Fedora, Ubuntu, CentOs, Manjaro - этого выбора более чем достаточно.
    Ответ написан
    Комментировать
  • Продолжится ли выполняться процесс после прерывания соединения SSH?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Почитайте про команды nohup или screen/tmux

    Они как раз и позволяют на удаленной машине запустить процесс так, что если оборвется связь к удаленной машине, процесс запущенный там не прервется.
    Ответ написан
    Комментировать
  • Как правильно экранировать символы $ и ' при передаче их в ansible shell?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Почитать документацию шелла по кавычкам.

    Вкратце:
    1. Внутри одинарных кавычек ВСЕ символы теряют свое специальное значение. Включая backslash, поэтому
    'STRING1\'STRING2'
    - это не экранированная одинарная кавычка в кавычках, а строка STRING1\ в одинарных кавычках потом STRING2 без кавычек, а потом еще одна открывающая одинарная кавычка, которая незакрыта.
    Можно делать так:
    'STRING1'\''STRING2'

    2. Внутри двойных кавычек, все символы теряют свое специальное значение кроме $, backslash и обратных одинарных кавычек. Примеры:
    "${VARIABLE} \${VARIABLE} $(hostname) `hostname`"
    значение VARIABLE, строка ${VARIABLE} которая раскроется позже, дважды результат команды hostname вызванный разными способами
    Ответ написан
    Комментировать
  • Как задать права на удаление другим пользователям Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Право на удаление файла даются на директорию, а не на сам файл, потому что удаляя файл, ты "редактируешь" директорию.
    Имея право на запись в файл, ты можешь его "обнулить", записав в него ничего, но не удалить.
    Ответ написан
    Комментировать
  • Как ограничить доступ root?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Нет. Неважно как назван рут, это пользователь с UID=0, и у него в любом случае будут ВСЕ права.
    Но запретить ему заходить по ssh несложно. Просто пропишите ему пустой пароль и все.
    На всякий случай можно даблчекнуть в настройках sshd, что пользователей с пустым паролем не пускают, но по дефолту это и так должно быть отключено
    Ответ написан
  • Alias в сценариях linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Алиасы работают только в интерактивном режиме шелла.

    При запуске в скриптах они работать не будут.
    Если вам нужно, пользуйтесь функциями - они могут и алиас заменить и в скриптах будут работать
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux выбрать для front-end?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Собираюсь попробовать использовать линукс под фронт енд разработку.

    Зачем?

    какой пак программ

    Сперва выбираете удобные программы, потом ОС в которых они работают.
    Выбирать ОС для разработки фронтенда это немного неправильно.
    Фронтент ведь работает не в ОС, а в браузере. Поэтому не так важна ОС, как ваш личный комфорт при работе с паком программ.
    Ответ написан
  • Выбор ОС для разработки под Docker: Windows или Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Разработку ведут не столько в операционке, сколько в твоем любимом IDE/редакторе.
    А вот запускать сайт (бэкенд), в принципе лучше в таком же окружении, в каком он будет крутиться в продакшене.

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

    Люди, которые хаят виндовс - просто не умеют им пользоваться. Все основные популярные ОС не просто так популярные, и полны своих достоинств.
    Сколько я не общался с хейтерами - практически все аргументы больше касаются того, как люди привыкли работать с компьютером в определенной ОС, и то, что фичи в другой ОС работают иначе не только технически, но и идеологически, они не хотят принимать.
    Ответ написан
    1 комментарий
  • Как удалить пароль linux root?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Так сбросить пароль для root или удалить?
    Приведите вывод консоли.
    И меня смущает что вы пишете что у вас команда вот такая "passwd [-d] [username]"
    прямо так и пишешь?
    Может надо
    passwd -d root

    Но какая цель стоит?
    Ответ написан
  • В чем смысл абузы?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    У вас открыт portmapper наружу, 111 порт tcp/udp

    Косвенно это уязвимость, которая позволяет злоумышленникам пользоваться этим для DDOS аттак.

    Обычно он нужен для NFS или RPD, но крайне редко кому-либо нужно это делать прямо через интернет. Через инет чаще делают ssh или уже включают VPN и уже внутри шарят.

    Если вы не пользуетесь такими сервисами, просто закройте портмаппер наружу.
    Ответ написан
    Комментировать
  • Есть ли программа для Linux, конструктор команд в терминале?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Бывает нужно найти какую то определённую команду. Если бы все команды были доступны в одном месте - было бы намного удоблней, чем искать по разным сайтам.

    А для виндовс вы как ищете конструктор команд? Где-то есть конструктор команд в котором будет рассказано про фотошоп, эксель, акробат?

    Вы видимо не осознаете, что командная строка в линукс - это полноценная оболочка со своей вселенной консольных утилит, которые можно скачивать и устанавливать, и писать самому. Их список неограничен.
    В основном это
    1) стандартный набор gnu-tools, где можно собственно почитать о них https://www.gnu.org/software/coreutils/manual/core...

    2) сама командная строка является оболочкой, со своими внутренними командами, о чем можно почитать в справке к этой оболочке (команда help, или гуглить в инете bash, ksh, zsh в зависимости от того, чем пользуетесь)

    3) также как и в виндовс, можно свободно доустанавливать произвоильные команды, или писать их самому. Есть ОГРОМНОЕ количество консольных утилит и программ для разных нужд. Нужно просто осознать, что командная строка - это полноценная оболочка, в которой можно выполнять множество различных задач, перечислить все команды нереально

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

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

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

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

    Для некоторых отдельных команд типа find,grep, curl есть графопостроители, типа
    https://curlbuilder.com/
    https://marcin-chwedczuk.github.io/assets/apps/fin...
    Но честно говоря, лучше почитать справку.

    Просто вам нужно научиться работать в командной строке - она была СОЗДАНА быть гибкой настолько, что универсальный билдер для нее написать крайне сложно
    Ответ написан
    2 комментария
  • В чем измеряется память в RAM?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    GB - gigabytes
    Gib - Gibibites
    Ответ написан
    9 комментариев
  • Как получить код возврата скрипта запущенным в screen?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    сохранять код возврата в файл, и считывать его.
    Ответ написан
    Комментировать
  • Как в консоли задать клавише действие?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    man bind

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

    создаешь функцию, вешаешь ее например на Ctrl+p :
    $ function hello_world
    {
      echo "Hello world"
    }
    $ bind -x '"\C-p":hello_world'


    и просто жмешь Ctrl+p

    для постоянного доступа прописать это в .bashrc или .profile
    Ответ написан
    Комментировать
  • Что делать после настройки веб-сервера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    https, бэкапы.
    Ну и все. Сайт - поддержка сайта несложная задача.
    Дальше идут другие задачи.
    Ответ написан
    3 комментария
  • Как архивировать только скрытые файлы в папке?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    В текущей папке
    tar cvfz file.tar ./.[^.]*

    в нужной папке
    tar cvfz file.tar /home/user/.[^.]*
    Ответ написан
    Комментировать
  • Существует ли линукс дистрибутив полностью из псевдографики?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Рабочий стол подразумевает собой графический интерфейс.
    Ставьте просто серверный линукс, без GUI и будет вам псевдографика.
    Ответ написан
    Комментировать