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

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    string='-rw-r--r-- dmitriy/dmitriy 9844 2023-06-16 19:33 acts/actFirst_53632_1102.htm'
    year=$( awk '{print substr($4,1,4)}' <<<"$string" )
    Ответ написан
  • Как передать большой файл по ssh без промежуточного хранения?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    tar -cz /home/target | sshpass -p 'pwd' ssh -p 23 username@server.com 'cat > /home/backups/destination.tar.gz'


    Все должно так работать. Если у вас ошибка от tar, то может это не stdout а stderr?
    Приведите текст что там не так. Файл в конечно счете правильный выходит?
    Ответ написан
    Комментировать
  • Какие требования у 3x-ui?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Или сколько юзеров могут спокойно пользоваться одновременно на одном vps?


    Имитируешь парочку юзеров, считаешь нагрузку.
    Никто не знает чем занимаются твои юзеры - сидят в браузере, сидят в маткаде или сидят в Cyberpank. Нагрузки могут быть очень разные.
    Ответ написан
    Комментировать
  • Как взламывают БД (MongoDB)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Не факт, что взламывают именно базу напрямую. Возможно скомпроментирован сервер, и в нем уже висит какой-то бекдор, через который ходят и вашу базу от имени локального mongo юзера коцают.
    Ответ написан
    Комментировать
  • Как написать скрипт на bash для ansible чтоб автоматически разослать публичные ключи на машины?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Продебажить что происходит, добавить echo внутри цикла?
    Руками если выполнить ssh-copy-id работает?
    Какую ошибку выдает?

    ssh-copy-id достаточно тупая команда. может не учитывать текущие настройки sshd, например sshd настроен на authorized_keys2, а он пишет в authorized_keys

    В общем проверить руками результат команды, проверить что внутри цикла.
    Ответ написан
    6 комментариев
  • Как в Linux найти файлы одинакового размера?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    1. Поискать готовые инструменты, их есть.

    2. написать скрипт, который например через find находит все файлы рекурсивно, вычисляет для каждого контрольную сумму, например md5, и скидывает в какой-то текстовый файлик хеш и путь+имя файла.
    Сортируешь по хешу, находишь одинаковые.

    3. найти все файлы, которые не отличаются друг от друга более чем на 10 Кб
    С этим сложнее. Есть софт, который может определять похожие изображения, но именно файлы, там непонятно как с критериями работать.
    Ответ написан
    Комментировать
  • Чем заменить службу файлового сервера на Windows?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Сильно сомневаюсь, что существует хороший аналог ntfs прав в линукс среде.
    Базовые права там совсем не такие, а селинукс для этого решения слишком громоздкий.
    поддержка ntfs на линуксе не совсем полноценная, она просто достаточная для многих случаев, но прям не полный аналог.

    Лучше немного отступить от своей текущей конфигурации, и посмореть можно ли реализовать свои хотелки именно в рамках стандартов самба + стандартные POSIX права доступа.
    Ответ написан
  • Почему мой линукс, команда ">" не работает?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Что-то не то с вашей консолью. | и > редиректят совершенно одинаково, не может одно работать, другое не работать.
    Или что-то у вас еще вокруг хелма делается или непонятно.
    Ответ написан
    Комментировать
  • Какие есть инструменты для написания интерфейса для терминала?

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

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

    Вот чисто на баш отрисовал
    https://asciinema.org/a/468242 (https://github.com/sfkulyk/jks-manager)
    Ответ написан
  • Как происходит управление перемещением программ в пользовательском пространстве?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Это зависит от ОС и зависит от типа программы.
    Программы могут быть разные, исполняемые файлы могут быть разного типа.

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

    Для виндовс, почитай про PE формат - это основной формат исполняемых (.com был в ДОС, там было очень просто но он уже не используется)
    https://en.wikipedia.org/wiki/Portable_Executable

    Вот еще хорошая статья
    https://medium.com/@db2crush/process-of-loading-pr...
    Ответ написан
    Комментировать
  • Как вызвать source при выполнении .sh файла?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Так вы source загрузили, а потом запускается новый баш, в котором уже ничего не загружено
    exec bash --login

    Или я что-то не понял?
    Ответ написан
    Комментировать
  • Как добавить систему аккаунтов в Linux Kernel?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Авторизация в линукс идет через модуль pam
    в /etc/pam.d и должны быть конфиги какие библиотеки вы используете. Локальных юзеров (/etc/passwd) или ldap или active directory или что-то еще подключили.
    Ответ написан
    2 комментария
  • Как включить режим высокой производительности?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Так в общем смысле и нет разницы.
    Разница бывает только в частном. Например баш скрипты быстрее работают в линукс. Докер быстрее работает в Линукс. Потому что написано под Линукс и использует фичи архитектуры Линукс.

    А среднестатистический рендеринг, например, будет зависеть сугубо от процессора или видяшки, а не от ОС.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Нужно определиться зачем вы планируете изучить детально систему - вы собираетесь заняться системным программированием?
    ИЛи прикладным? Если прикладным, то для GUI приложений просто осваиваете любой фреймворк, типа qt, который работает в Линукс и пишете.
    Библиотеки для С++ есть и там и там.
    Ответ написан
    2 комментария
  • Как изменить консоль по умолчанию linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    init это не консоль, это процесс ядра операционки.

    оболочка bash запускается после того, как юзер залогинился, и дефолтная оболочка указывается для юзера в /etc/passwd. И это тоже не консоль.

    Нужно разобраться с терминологией и что именно нужно сделать.
    Ответ написан
    Комментировать
  • Резервный backup с windows на linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    та банально можно по ssh скопировать.
    На виндовс есть scp, rsync которые скопируют файлы или директории или посинкают их.
    При этом ставить ничего не нужно, бинарники для винды можно просто скачать, много вариантов.
    Ответ написан
    2 комментария
  • Алгоритм или бестпрактис для синхронизации .dotfiles?

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

    Предполагаю, что можно сделать его зашифрованным через openssl и именно его синхронизировать или даже версионировать через git (или оставить текущую схему с ансибл). При входе в систему расшифровывать его, кладя в RAM и подключать через "source .bashrc". Работать. После окончания рабочего дня расшифрованный файл надо удалить (ну или изначально при начале работы класть его в RAM).
    Но в этот файл регулярно вносятся изменения, бывает раз в день, а бывает лишь один раз в месяц.


    Не самый плохой вариант шифровать через openssl.
    Только зачем расшифровывать файл? Расшифровывайте прямо в память во время использования

    то есть в .bashrc можно например так

    dbuser=database_user
    dbpass="$(openssl enc -d -base64 -aes-128-ctr -nopad -k secret_key.txt<<<"l1k2j3kl14jjkl321h4lk124123;ljk2`13jlkj")"

    Синтаксис из головы написал, надо уточнить как указать путь к файлу с мастер секретом.
    При этом файл остается зашифрованным, но в текущей сесии переменная уже с открытым паролем.
    Либо можно сделать несколько файлов подобного типа и инклюдать их в скрипты прямо перед использованием.
    Ответ написан
    Комментировать
  • Куда приложение Обо мне(mugshot) записывает данные о созданном пользователе?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    да, можно в /etc/passwd - там есть поле gecos

    username:password:userid:groupid:gecos:home-dir:shell

    которое даже имеет под-поля разделенные запятой, где можно указать дополнительную инфу:
    username:password:userid:groupid:FullName,RoomAddress,WorkPhone,HomePhone,Others:home-dir:shell

    некоторые команды умеют ее оттуда доставать, например почтовые клиенты или finger
    Ответ написан
    Комментировать
  • Как правильно составить cron задачу?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Все верно, "0 10 1-7 * 4"
    Ответ написан
  • Почему не запускается приложение на linux alpine?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    пиши ldd seeker

    Скорее всего он не может найти необходимые динамические библиотеки, что покажет ldd (именно поэтому ругается на not found).
    Либо не подходит архитектура, либо не хватает каких-либо зависимостей, которые следует доустановить.
    Ответ написан
    Комментировать