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

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Команда find поддерживает regexp (и не только)
    Например
    $ find . -regextype sed -regex ".*/[a-f0-9\-]\{36\}\.jpg"
    ./test/81397018-b84a-11e0-9d2a-001b77dc0bed.jpg
    ./81397018-b84a-11e0-9d2a-001b77dc0bed.jpg

    Ну и если чего нашла
    find . -regextype sed -regex ".*/[a-f0-9\-]\{36\}\.jpg" --exec rm {} \;
    Ответ написан
    Комментировать
  • Как сделать инкрементальный бэкап с win на debian?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Есть достаточно простая система бекапа - https://www.urbackup.org/
    Очень простая в развертывании, есть клиенты практически под все платформы.
    Но это все же система, где нужно со стороны сервера иметь базу и web.
    Ответ написан
    1 комментарий
  • Если выучить чисто Unix, то насколько потом легко перейти на Linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, они отличаются, и значительно. А какой "Unix" собираетесь учить, и какой "Linux"? Из живых юниксов осталось всего три BSD: FreeBSD (и ее варианты), MacOS (да-да это то самый Apple!), ну и незабвенный Minix. Я не беру расчет всякие RTOS типа QNX - отдельная поляна.
    Отличаются набором утилит (хотя везде можно поставить GNU-версии), управлением, поведением, настройками.
    Да и дистрибутивы линукса иногда сильно различаются, если смотреть предвзято - Debian и CentOS например.

    И что значит выучить? Учить придется не конкретный дистрибутив, а конкретное программное обеспечение, благо оно сейчас практически у всех одинаково. Проблема в другом - есть несколько диаметрально противоположных реализаций одного и того же сервиса - взять Nginx и HaProxy, bind и PowerDNS, KDE и Gnome....

    Юникс (как и линукс) тем и хороши, что есть из чего выбрать!

    И если учить, то учите основы построения операционных систем, ну и учите конечно же Linux - а другие системы построены по аналогичным принципам.
    Если научитесь кататься на велосипеде, то и на мотороллере поедете, и на самокате - принцип движения один и тот же. Но различаются очень сильно!
    Ответ написан
    Комментировать
  • Запуск бинарник из программы на C?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Чтобы программа выполнялась параллельно, нужно создать копию своего процесса через fork() или vfork() и уже в порожденном процессе выполнить exec(). Параметры передаются массивом строк или отдельными параметрами с завершающим нулем..
    ...
    if (fork() == 0) { // разделиться
        execl("raspistill", "raspistill", "-o", "image.jpg", "-w" ,"800", "-h", "600", "-t", "200" , "echo", "this is", (char *) 0); // заменить процесс
         perror("exec one failed"); // если что-то пошло не так, выдать ошибку
         exit(1); // здесь завершаем новый процесс, если не отработал execl
    }
    // здесь продолжение старого процесса 
    ...
    Ответ написан
  • Как правильно создать FTP пользователя для файлов сайта?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Зачем вам FTP?! Его давно уже выкинули на помойку (за редким, очень редким, исключением)
    Чем ssh/scp не угодил?! putty/winscp, кому не повезло с операционной системой. Создаете отдельного пользователя, включаете его в группу www-data например...
    Ответ написан
  • Что есть кто (unix, linux, ubuntu, debian, kali)?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Любая операционная система состоит из двух частей - ядро и окружение.
    Ядро понятное дело, это системные вызовы, работа с аппаратурой и процессами.
    Окружение - это то, с чем взаимодействует пользователь, набор утилит, программ и системы запуска.
    Как можно догадаться, на разные ядра можно прикручивать разное окружение. Состав ядра и окружения задает дистрибутив - набор из ядра и окруждения.
    Так вот, версии UNIX и отличаются именно этими наборами, есть дистрибутивы классических юникс-систем, типа BSD (openbsd, freebsd, solaris ...). Есть дистрибутивы Linux, отличающиеся в основном окружением, имея одно и тоже ядро linux.

    Теперь поговорим про окружение. В состав практически каждого окружения входит такая вещь, как пакетный менеджер., через который происходит установка и развертывание самого Окружения. Вот по типу пакетных менеджеров и отличаются обычно дистрибутивы linux. Есть debian-подобные подобные дистрибутивы (dpkg), есть redhat-подобные (rpm), есть альтернативные (pacman, yast, make world).

    В общем, все линуксы имеют в своем составе ядро linux + какой-то из пакетных менеджеров + систему запуска типа init/systemd/upstart + набор программ на выбор основателей дистрибутива

    Все юниксы имеют одно из ядер unix + все остальное тоже самое, но своё!

    Ну и вся история юникс красиво описана в https://ru.wikipedia.org/wiki/UNIX
    Ответ написан
    Комментировать
  • IBM 5100 особенная отладка?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Хороший человек, не обижайте таких, он наверняка и Наполеона знает, и с Дартом Вейдером в шахматы играет.
    Ответ написан
    Комментировать
  • Какие различия программирования под UNIX и Linux?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Системному программированию? Да, базовые знания приобретете, собственно, изучите POSIX api, который в большинстве своем полностью идентичен для всех юниксов. Сможете писать утилиты и демоны, обмениваться данными через сокеты, каналы, сообщения и общую память, синхронизироваться через мьютексы и семафоры. Точно пойдет на пользу, так как будете знать, что за неонка у них внутри. Более того, эти примеры скорее всего будут работать и в линуксе. Например библиотека winsock полностью повторяет posix, и если из нее использовать только posix-вызовы, то ваша программа будет работать и под виндовс и под любую posix-совместимую систему.
    Однако, в каждой системе существуют еще с десяток, если не сотню, собственных механизмов на всякие случаи. Вот с ними придется разбираться отдельно для каждой системы, но это уже специализация.
    Стоит ли изучать? Точно стоит, и эти знания не пропадут даром. Все юниксы достаточно похожи, изучайте!
    Добавлю, вот ядра и внутренние механизмы у разных юниксов могут различаться, причем радикально, особенно то, что касается драйверов, расширений самого ядра и его окружения.
    Ну и само утверждение немного лукавое, и да, и нет. Дьявол в мелочах, увы.
    Ответ написан
    Комментировать
  • Можно ли в Linux запретить выполнение команд обычным пользователям?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    А какую проблему вы таким образом пытаетесь решить?
    Самый надежный способ - загнать пользователя в chroot, и ограничить ему лимиты. Но и здесь придется сильно постараться, так как есть например перенаправление потоков.
    Ответ написан
    2 комментария
  • А нет для Линукса тулзы, автоматически убивающей процесс, потреблящий память больше заданного лимита?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ну, вообще-то всегда был старый добрый ulimit https://www.opennet.ru/base/sys/ulimit_mc.txt.html
    И файло к нему /etc/security/limits.conf
    Ответ написан
    1 комментарий
  • Как добавить сетевой интерфейс в centos?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    ip link
    или устаревший
    ifconfig -a
    ifconfig без параметров не показывает все существующие интерфейсы. Да и рекомендуется им не пользоваться белее.
    А может быть и драйвер не прогрузился.
    Ответ написан
    5 комментариев
  • Как правильно разметить диск в Ubuntu Server?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Правильно использовать LVM. Сделать в нем 3-4 раздела:
    /root - 20-40Gb
    /var - 20-40Gb
    /home - 100Gb
    /var/www - 30% от оставшегося.

    Далее, по мере необходимости добавлять пространства в нужный раздел командами lvextend и resize2fs (для ext4)
    Ответ написан
    Комментировать
  • С чего начать изучение, если хочешь писать под ОСРВ(VxWorks) для робототехники?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Писать можно в любом редакторе, хоть vi, хоть emacs (что мы с удовольствием и делали в свое время). Просто многие поставщики OCPB делают ставку на среду разработки под eclipse, как одну из самых популярных и бесплатных. К ней пишутся кучи плагинов для отладки и конфигурирования. Переходить на нее совсем не обязательно, можно настроить абсолютно любую IDE, хоть MS Visual Studio. Вопрос в том, что нужно будет настраивать самостоятельно.
    Так что для первичного изучения я бы начал со встроенных средств разработки/отладки, а уж потом настраивал бы свое окружание и toolchain.
    С VxWorks, начните с пары тасков, которые будут обмениваться друг с другом сообщениями в стиле пинг-понг.
    Ответ написан
    Комментировать
  • Как под виндой провести аналитику запущенных процессов nix-ов в режиме реального времени при сравнении 2 серверов?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Возьмите третий сервак или компухтер, установите на него influxdb и grafana. На серваки установите collectd и настройте на отдачу логов в influxdb. Смотрите графики в grafana.
    jansipke.nl/monitoring-hosts-with-collectd-influxd...
    www.vishalbiyani.com/graphing-performance-with-col...

    Второй вариант, использовать elasticsearch + logstash + grafana (и kibanа), а на сервера поставить collectd.
    В этом случае данные сначала поступают в logstash,, а из него в elasticsearch, смотрим через браузер в grafana и/или kibana
    https://blog.clevertap.com/telemetry-with-collectd...

    ЗЫ. Под виндой тоже можно все сделать, установить виртуалку с линуксом на нее все это водрузить и радоваться жизни :-) И как минимум под виндой можно браузером ходить к серверу/компу с grafana.
    Ответ написан
    Комментировать
  • Самый лучший ресурс для изучения UNIX, для начинающего?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Я бы посоветовал библиотеку Мошкова - lib.ru/unixhelp
    Там с основ, но достаточно хардкорно.
    А так, ставите любой линукс, например debian или ubuntu и идете в хелп https://help.ubuntu.com/lts/ubuntu-help/index.html или https://www.debian.org/releases/stable/amd64/
    ну и https://www.debian.org/doc/user-manuals
    Ubuntu/Debian близнецы-братья.
    Ответ написан
    Комментировать
  • Как найти причину падения сервера?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Если сервер имеет BMC, а должен по идее, иначе какой он сервер. То попросить провайдера подключить его к сети по vpn или еще как. Тогда и провайдера просить не нужно, и можно посмотреть что в консоли происходит. А происходить может обыкновенный кернел-трап, дамп которого можно увидеть только с консоли.
    Ну и если у нас недосервер без BMC, то при очередном фейле попросить фото консоли. Ну и логи удаленно писать и статистику собирать через collectd + influxdb + grafana.
    Сервера перестаю на ssh отвечать из-за аппаратных проблем обычно. Ны а сами проблемы, от дисков до памяти в промежутках адаптеры, процессоры, далее везде.
    Ах, еще может быть кернел дидлок, но это только в консоли смотреть. А еще может и драйвер какой кривить...
    Для удаленных логов и статистики арендуйте долларов за 5 виртуалку где нибудь на DO.
    Ответ написан
    Комментировать
  • Возможно ли программировать сокеты на языке СИ в windows с использованием *nix библиотек?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Да, можно. Если работать в рамках POSIX, используя только вызовы стандарта.
    Ответ написан
    Комментировать
  • Как перейти на linux front-end разработчику?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Очень хорошее начало, давайте определимся.
    1) Нужен дистрибутив, который достаточно легко ставится, имеет большое комьюнити, достаточную документацию
    2) Дистибутив должен обладать как клиентским вариантом, так и серверным
    3) Дистрибутив должен быть известен и широко распространен
    4) Иметь все необходимое для разработки
    5) Поддерживаться производителями и разработчиками стороннего ПО (а есть и такие)!

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

    Из Debian и его клонов рекомендую Ubuntu, именно для неё сейчас самая лучшая документация (и на русском), поддержка и комьюнити, а сам дистрибутив включает в себя все свеженькое и новенькое в плане поддержки железа и новых версий софта.
    - www.ubuntu.com

    Из RedHat и его клонов настоятельно рекомендую CentOS как клиент/серверную платформу - документация, поддержка железа комьюнити.
    - www.centos.org

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

    PS. Наверное здесь сейчас будут предлагать кучу экзотики - не ведитесь на это! Учиться ездить нужно на простых автомобилях, а не на тюнингованных. Да и эти дистрибутивы (RedHat/Debian) именно мейнстирм, в которых все вылизано и просто работает.
    Ответ написан
    3 комментария
  • Linux: Программа для создания информации для восстановления файла?

    leahch
    @leahch Куратор тега Linux
    3D специалист. Dолго, Dорого, Dерьмово.
    Ничего проще и лучше, чем FEC (Reed-Solomon) мир еще не придумал. Используется и в RAID-ах и в потоках DVB (со спутника) и везде, где нужно данные восстановить (tar FEC не использует, но можно его выход через FEC прогнать). Ну и утилитка rsbep в помощь. Только она наоборот добавляет избыточность в файл X, а не создает контрольный файл Y.
    Ответ написан
    1 комментарий