Ответы пользователя по тегу *nix-подобные системы
  • Как получить дату из имени файла?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Вы можете написать алгоритм разбора нескольких шаблонов.
    Единой программы, которая разберет автоматом что-то вроде
    YYYY-MM-DD hh.mm.ss.jpg
    IMG_YYYYMMDD_hhmmss.jpg
    - не существует.

    НО если вы переберете все ваши файлы, возможно там всего-лишь 3-4 формата, для разбора которых достаточно скрипта в пару строк.
    Ответ написан
    Комментировать
  • Как установить необходимые права на новые файлы в UNIX?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    То, что вам нужно - это umask.
    Но работает он не так как вы хотите, то есть настолько разные права для папок и файлов задать не получится.
    Ответ написан
    Комментировать
  • Как поднять polkit?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    1. ПРоверьте что у вас с юзером polkitd
    getent group polkitd >/dev/null && echo -e "\e[1;32mpolkitd group already exists\e[0m" || { groupadd -r polkitd && echo -e "\e[1;33mAdded missing polkitd group\e[0m" || echo -e "\e[1;31mAdding polkitd group FAILED\e[0m"; }
    getent passwd polkitd >/dev/null && echo -e "\e[1;32mpolkitd user already exists\e[0m" || { useradd -r -g polkitd -d / -s /sbin/nologin -c "User for polkitd" polkitd && echo -e "\e[1;33mAdded missing polkitd user\e[0m" || echo -e "\e[1;31mAdding polkitd user FAILED\e[0m"; }


    Поправьте права:
    rpm -Va polkit\* && echo -e "\e[1;32mpolkit* rpm verification passed\e[0m" || { echo -e "\e[1;33mResetting polkit* rpm user/group ownership & perms\e[0m"; rpm --setugids polkit polkit-pkla-compat; rpm --setperms polkit polkit-pkla-compat; }


    Перегрузитесь.

    2. Вы испоьзуется SE?
    Проверьте, есть ли у вас юзер setroubleshoot в /etc/passwd
    Если нет, то удалите и соответствующую группу из /etc/group и переустановите setroubleshoot.
    И перезапустите ее.

    3. apt install --reinstall systemd
    Ответ написан
    6 комментариев
  • Что такое возможности по сохранению резервной информации, как параметр файловой системы и какие ФС имеют данную возможность?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Думаю речь идет про теневые копии.

    ntfs, btrfs, zfs это умеют
    Также на линукс можно через LMV это сделать везде.
    Но теневые копии это не та резервная информация которая может заменить бэкапы.
    Ответ написан
    Комментировать
  • Какая разница дескриптор файла и файловый дескриптор?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Нет никакой разницы. Правильно - файловый дескриптор.
    Это просто число - идентификатор конкретного потока ввода-вывода.
    В юниксе под дескрипторами 0, 1, 2 для каждого процесса обычно по умолчанию сразу открываются STDIN, STDOUT, STDERR.
    Ответ написан
    Комментировать
  • Как количество файлов влияет на работу сервера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    1. Скорость работы с кучей файлов теоретически такая же как и с базой. Но вот кеширование файловой системы и базы идет по разному. И если при обращении к таблице, она у вас сразу вся закешируется, то вот закешировать 300.000 файлов/каталогов не так просто.

    2.
    При доступе к сайту обычно обрабатывают чпу-урл через пхп и ищут в базе, у меня всегда был вопрос почему не создавать реальные директории и в них класть php файлик с id и т.п чтобы потом быстро найти данные в б.д."


    Потому что ID у файлика достаточно сложно раскладывается на каталоги таким образом, чтобы это было равномерно. файлы могут добавляться и удаляться не удобно, в итоге может выйти в одном каталоге 100 файлов, в другом 100 тысяч, и перераспределять все это на ходу - не выйдет. Поэтому гораздо проще файлы распределять не в зависимости от ID, а в зависимости от наполнения папок, а путь к файлу уже хранить в базе, в которой есть ID.
    Ответ написан
    Комментировать
  • Какие различия программирования под UNIX и Linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    что я прочитаю книгу по системному программированию в UNIX и смогу после этого программировать в Linux без изменений?


    Конечно нет. чтобы программировать в Линукс нужно не просто прочитать книгу по системному программированию, а научиться программировать. На практике.
    А тогда будет неважно на чем будете программировать.
    Ответ написан
    Комментировать
  • Что-то изменилось в сетевом программировании с 2007-ого года?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Принципиально мало.
    IPv6 появился, но полный переход на него еще не скоро, и не факт что он вообще состоится - возможно IPV4 переделают. Да и разницы с точки зрения прикладной разработки невелика.
    Ответ написан
  • Как получить имя процесса?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    ps -p $$ -o comm -h

    смотрим процесс -p $$ (pid текущего процесса), выводим только колонку с командой (-o comm), скрываем строку с заголовками (-h)
    Ответ написан
    Комментировать
  • Нужен ли сейчас bash, и знание unix, backend разработчику?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Конечно нужно.

    Не обязательно быть экспертом в bash, но вы должны понимать
    а) основы работы в командной строке, основные команды типа ls, cat, tail, head, tar, gzip, echo, grep
    б) понять как работают перенаправления >, >>, < и конвейер |
    б) устройство стандартной *nix файловой системы, прав доступа в ней, уметь с этим работать из командной строки.
    в) Уметь редактировать файлы (vi,vim), добавлять/править пользователей.
    г) Уметь авторизироваться по ключам, в случае чего создавать ключи и конфигурировать.
    д) Уметь пользоваться scp, ping, wget, curl, nslookup чтобы ориентироваться по минимуму в сети.
    е) Уметь пользоваться cron

    Ну и писать простейшие скриптики.
    Круто будет освоить vi/grep/sed/tr на уровне чуть выше среднего.

    P.S. На самом деле со всем вышенаписанным можно ознакомиться за неделю ленивого почитывания по вечерам, чтобы понять суть и возможности, и в случае чего знать что именно подгуглить на месте.
    Ответ написан
    3 комментария
  • В unix все действия в gui интерфейсе фактически вызывают какую-то команду консоли?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    В линуксе, гуишные программы могут в принципе использовать exec консольных команд вместо "API", поскольку удобных консольных команд, которые работают достаточно стабильно из версии в версию, по сравнению с Win много.

    Но обычно все-таки используют просто вызов системных функций напрямую - так и быстрее и надежнее.
    Ответ написан
    Комментировать
  • Как раскидать публичные ключи с помощью xargs, ssh-copy-id и sshpass?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    while read
    do
    	IP=`echo $REPLY|cut -d ";" -f 1`
    	PW=`echo $REPLY|cut -d ";" -f 2`
    	echo "sshpass -p ${PW} ssh-copy-id root@${IP}"
    done < list.txt


    Попробуйте так.
    Если echo работает верно, то просто поправьте ее на выполнение
    Ответ написан
    Комментировать
  • Как удалить символ с цифрой из строки?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    тут же спрошу. в одну команду я никак не вынесу:
    1. Находит эти /48, удаляет, записывает в этот же файл
    2. Из этого же файла удаляет две последние строки, и в этот же файл записывает

    У меня, почему-то, не получается перезаписать вывод, создаю по одному новому файлу временному.

    cp ip.txt ip.txt.bak; sed -e 's/\/48$//g' ip.txt.bak | head -n -2 > ip.txt
    Ответ написан
    1 комментарий
  • Как получить количество повторяющихся полей в тексте?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    awk '{print $1}' data.log | sort -t' ' -k3 -rn | uniq | wc -l
    Ответ написан
    Комментировать
  • Как одной строчкой расшифровать и распаковать файл в терминале linux?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    неправильно проставлен umask ?
    не тем пользователем создаете каталоги?

    Дополню полезной ссылкой:
    www.ixbrian.com/blog/?p=121
    Ответ написан
  • Как посмотреть права группы в терминале?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    В Линуксе нет "прав группы".

    Все права задаются через файловые пермишены, поэтому нет такого как "все права группы". Можно посмотреть есть ли у конкрентых файлов/папок/устройств доступ для этой группы.
    Ответ написан
    Комментировать
  • Почему нет файла?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Такое может быть из-за недостаточной зависимости.
    Ваш бинарник пытается подтянуть либу, которой на сервере нет, и именно на это и ругается сервер.
    99%, что не хватает 32-битных библиотек в вашем дистрибутиве.
    Выполните:
    uname -m
    file ./samp03svr

    Если увидите, что система 64bit а файл типа elf-32 бит, установите 32битные библиотеки
    Ответ написан
    3 комментария
  • Что должен знать веб-программист по администрированию?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. Уметь устанавливать lamp/wamp (шикарно, если вообще уметь установить все с нуля, отдельно apache/nginx отдельно php и подключить к веб серверу, отдельно *sql), но в принципе просто поднять рабочую конфигурацию под сайт - крайне полезно

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

    3. Уметь работать с удаленными файлами (ssh, ftp), чтобы понимать куда и как можно что-то залить

    4. Хорошо уметь посмотреть лог файл от ваших сервисов (например лог файл веб-сервера, чтобы понять что не так)

    Ну хотя бы так.
    Ответ написан
    3 комментария
  • Не стартует httpd, Что делать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    У вас случайно сетевой интерфейс не пропал? на 80й порт может ругаться еще и потому, что не может весь интерфейс найти.
    Ответ написан
    3 комментария