• Чем отличается XEN от OpenVZ?

    @rPman
    Вот популярные системы в порядке понижения функционала:
    Xen — на порядок сложнее и функциональнее, имеет помимо режима паравиртуализации (как openvz) режим полной виртуализации (в т.ч. поддержка соответствующих фич процессоров), есть механизмы переброса железа внутрь виртуалки (например, поддержка не самых слабых intel видеокарт), снапшоты, миграция,… много много вкусных фич.

    VMWare — как и xen, сложен, наворочен, приправлен соответствующей инфраструктурой и хорошими забористыми ценами :) режима полноценной паравиртуализации не имеет

    kvm/qemu — полная эмуляция процессора (а так же виртуализация через поддержку процессорами), есть вкусности от 'старших братьев' вида миграция запущенной виртуалки по сети, переброса железа (сильно хуже поддержка чем xen/vmware) и т.п. можно считать бакэндом, так как GUI в идеалогии не имеет, оно пилится желающим

    VirtualBox — эмуляция процессора, в т.ч. использование поддержки виртуализации процессоров, идеален как отдельное десктопное приложение, миграции по сети нет, есть снапшоты, некоторые вкусности скрыты от GUI в коммандной строке

    OpenVZ — это работа всех машин на одном ядре (патчи к нему так и зовутся openvz), нет виртуализации, максимальная скорость (так как фактически это расширенный chroot с изоляцией). Для запуска модуля ядра на поклон нужно идти к хост системе и ее администратору (например tun/tap адаптер у firstvds дают по запросу)
    Снапшотов нет (но их реализуют через lvm), миграция есть, есть сброс состояния контейнера на диск и возобновление работы…

    Lxc — еще проще чем openVZ, нет даже грамотной изоляции (если подсуетиться, можно, имея рут в контейнере, выйти в хост систему с рутовым доступом), прямой аналог jail во freebsd, имеет смысл для хитрых сетевых конфигураций, тестов и т.п.

    Chroot — это даже не виртуалка, это просто простейшая изоляция в пределах файловой системы, подмена путей в вызовах функций работы с файлами.
    p.s. lxc называют еще 'chroot на стероидах'

    OpenVZ/lxc/chroot поддерживают почти полноценное каскадирование виртуалок (т.е. к примеру можно внутри контейнера openvz запустить kvm/virtualbox при наличии модулей, даже с поддержкой аппаратного ускорения)
    Ответ написан
    6 комментариев
  • Поясните пожалуйста bash скрипт?

    @RayHex
    1. https://tldp.org/LDP/abs/html/process-sub.html
    2. bash это интерпритатор, вы всегда можете вставить куски выражения, и посмотреть что они выдают, например:
    echo <(ls -1 .)
    /dev/fd/63

    3. Ваш код мягко говоря дурно пахнет, а по сути он вообще кривой и будет сбоить на файлах со спецсимволами или даже пробелами. Можно сделать проще и правильнее:
    shopt -s nullglob
    for f in my_temp_dir/*; do
        echo "$f"
    done

    nullglob нужен для случаев когда файлов совсем не будет, без него подставится строка со *, и это может вызвать ошибку в вашем коде.
    Ответ написан
    Комментировать
  • Как исправить и с чем связано stack smashing detected?

    includedlibrary
    @includedlibrary
    Офрмляйте код нормально, пожалуйста, с отступами. Массиву нужен размер, у вас же он равен нулю. Функция get_max ничего не возвращает, хотя заявлен тип int.
    Ответ написан
    Комментировать
  • No boot disk has detected + bootmgr вместе, как починить?

    QQQ-RRR
    @QQQ-RRR
    Привет, если я правильно понял, Вы "отсоединили" загрузочный диск, и подключили "другой". Верните обратно старый, проверьте физическое подключение, выставите порядок загрузки если нужно. Должно помочь
    Ответ написан
    Комментировать
  • Собрать пример CURL-приложения C++11 в MVS2019?

    Nipheris
    @Nipheris Куратор тега C++
    У вас проблемы с линковкой, не настроены или неверно выбраны import-библиотеки или статические библиотеки (зависит от того, как вы планируете линковать libcurl к своему проекту-примеру).
    Также возможно неверно настроены определения комплиятора - некоторые библиотеки требуют задания констант препроцессора при динамической, или наоборот, статической линковке. Например, libcurl требует настройки CURL_STATICLIB при статической линковке.

    Все пакеты установлены из пакетного менеджера VS

    Закопайте эти библиотеки, проект CoApp, который был посвящён идее использовать NuGet для нативных (С/С++) библиотек, умер почти сразу после своего рождения, на границе 2014/2015 годов. Это очень старые версии, к тому же. Практика показала, что NuGet в большинстве случаев не годится для нативных библиотек (не буду расписывать, почему).

    Используйте для C/C++ проектов нормальные пакетные менеджеры вроде Conan или, на худой конец, Vcpkg. Там это всё уже предусмотрено. Впрочем, это не отменяет необходимости понимания простейших ошибок компилятора/линковщика и его основных опций.
    Ответ написан
    1 комментарий
  • Работать в выходные или нет?

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

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    - Жениться
    - Взять ипотеку
    - Родить парочку детей
    (вовсе не обязательно в такой последовательности :) )
    После всего оного мотивации будет - выше крыши! :)
    Ответ написан
  • Как построить архитектуру приложения?

    @dmshar
    Дело в том, что если сейчас (как я понял, после аж полугода изучения программирования) вы начнете что-то читать по архитектуре программных систем - 90% информации, которую вы найдете вы просто не поймете.
    Ну например:
    https://habr.com/ru/post/276593/
    https://www.rea.ru/ru/publications/AttachmentsLibr...
    https://martinfowler.com/architecture/
    https://www.amazon.com/Fundamentals-Software-Archi...
    И это не ваша вина. Просто проектирование архитектуры - это не то, чем занимаются юниор-программисты. Для того, что-бы нормально спроектировать архитектуру мало знать язык программирования - надо знать еще очень много чего "вокруг". От баз данных до особенностей сценариев взаимодействия компонентов типа Peer-to-peer, Клиент-серверной и прочих (коих десятки) , от умения работать с требованиями до навыков написания технического проекта, от умения обосновать выбор (одной из многих) технологий реализации проекта до умения оценки качества программного продукта, от алгоритмизации до многопоточности, соответствующие инструменты (нотации) и очень много чего еще. Этому всему люди учатся годами. Даже в универах, на соответствующих специальностях вводный курс архитектуры ПО часто читают уже магистрам, и все равно этот курс весьма обзорный и ознакомительный. Поэтому не торопитесь. Займитесь пока усовершенствования своих базовых программистских навыков. И самообразованием в области компьютерных технологий. И наработкой практики. Вот когда вы это все освоите - вот тогда и можно будет задуматься о решении архитектурных задач.
    Ответ написан
    Комментировать
  • Усиленно удалить файл в windows, возможно ли с помощью пары функций?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    И да и нет. В линуксе удаление открытого файла возможно в виду архитектуры API драйвера файловой системы.

    В форточке же, это возможно сделать, только прибив процесс, который держит файл. Ну а это делается действительно вызовом некоторого количества функций WinApi.
    Ответ написан
    3 комментария
  • Что надо сделать чтобы компилятор jupyterlab смог скомпилировать код?

    Нужно исправить синтаксическую ошибку на указанной строке.
    Тк вот это:
    k[i] = int fib(void);
    Не корректно.

    PS: просто убери int и void на 7й строке
    Ответ написан
    Комментировать
  • Как создать бесконечную компиляцию в терминале (как у хакеров)?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    tmux, в нем htop, tcpdump и еще что-нибудь

    разноцветно, красиво, всегда так делаю
    Ответ написан
    Комментировать
  • Как правильно накатить nano на git что бы ничего не сломать?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    из man git:
    GIT_EDITOR
               This environment variable overrides $EDITOR and $VISUAL.
               It is used by several Git commands when, on interactive mode,
               an editor is to be launched.
               See also git-var(1) and the core.editor option in git-config(1).

    Т.е.
    - можно глобально установить переменную окружения GIT_EDITOR
    - или в глобальном .gitconfig установить опцию editor в секции core
    - или в .git/config нужного репозитория установить опцию editor в секции core
    Ответ написан
    Комментировать
  • Что значит эта ошибка?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Предварительным анализом можно сильно сократить количество вариантов.
    Довольно легко получаются ограничения:
    a = 0
    k = 5
    e ∈ {4, 9}
    s ∈ {1, 2}
    Это уже сокращает перебор в 2500 раз.
    Чуть посложнее, но тоже вполне выводимо:
    d + b + r ∈ {13, 14, 23, 24} => r ∈ {13 - d - b, 14 - d - b, 23 - d - b, 24 - d - b}, d + b ≥ 4
    d + b + p ≥ 19 => p ∈ [19 - d - b, 9], 10 ≤ d + b ≤ 18
    d > b > r => d ∈ [3, 9], b ∈ [max(2, 10 - d), min(d - 1, 18 - d)],
    r ∈ [max(1, 13 - d - b), min(24 - d - b, b - 1)]
    Получаем
    int a = 0;
    int k = 5;
    for (int e = 4; e <= 9; e += 5) {
        for (int s = 1; s <= 2; s += 1) {
            for (int d = 3; d <= 9; d += 1) {
                for (int b = max(2, 10 - d); b <= min(d - 1, 18 - d); b += 1) {
                    for (int r = max(1, 13 - d - b); r <= min(b - 1, 24 - d - b); r += 1) {
                        for (int p = 19 - d - b; p <= 9; p += 1) {
    Ответ написан
    Комментировать
  • Как повысить привилегии в системе без sudoers?

    karabanov
    @karabanov Куратор тега Linux
    Системный администратор
    Попробуй setuid бит chmod u+s <filename>
    Исполняемый файл с установленым setuid битом запускается c правами владельца, если это root, то от root.
    Но это дыра в безопасности...

    Есть ещё setgid chmod g+s <filename> запускать от имени группы, возможно он подойдёт лучше. Или нет...

    Если не подойдёт, то удалить биты можно заменив "+" на "-":
    chmod u-s <filename>
    chmod g-s <filename>

    PS
    Собсвенно sudo и позволяет повышать привилегии за счёт установленного setuid бита:
    ~$ which sudo
    /usr/bin/sudo
    ~$ ls -alah /usr/bin/sudo
    -rwsr-xr-x 1 root root 163K янв 19  2021 /usr/bin/sudo
    ~$

    -rwsr-xr-x это и есть setuid бит.
    Ответ написан
    3 комментария
  • Почему не запускается батник из автозагрузки с правами админа?

    @rPman
    Потому что так не запустить приложение с правами администратора автозапуском, правда на сколько я знаю там 4 минимум должен выскакивать uac запрос подтверждения.

    Чтобы запускать приложения с повышенным правами или под другим пользователем, нужно пользоваться штатным планировщиком задач (task scheduler)
    Ответ написан
    4 комментария
  • Почему команды в терминале которые писал ранее отправляются в ОС сразу после того как скопирую и вставлю в новую строку еще до того как я нажму enter?

    Adamos
    @Adamos
    Возможно вызвать предыдущую команду стрелкой вверх.
    А при копировании ты захватываешь перевод строки, вот он и "вводится".
    Ответ написан
    Комментировать
  • Как узнать, что был достигнут конец файла при чтении шифрованного файла?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    getline встречает символ ЕОТ (0x04, End Of Text) и завершает чтение.
    С такими файлами надо работать в бинарном режиме. И не вставлять в них переносы строки, поскольку вы не отличите их от символов, которые в закодированном виде превратились в \r (0x0D) и \n (0x0A).
    Ответ написан
    2 комментария