• Почему rtcwake запускает машину каждый день и где это настраиваеца?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    А где у него кнопка ВЫКЛ? Как убрать это расписание?

    rtcwake -m disable? Можно ещё заглянуть в rtcwake -m show ради интереса.
    Ответ написан
    Комментировать
  • Как получить stdout уже запущенного процесса?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    при релогине на сервер,при релогине на сервер, естественно, не видим уже ничего, хотя этот процесс работает в фоне естественно, не видим уже ничего, хотя этот процесс работает в фоне

    Что-то я не уверен, что процесс "работает в фоне". Потому что если запустить процесс как фоновый, а потом закрыть терминал, очередной вывод в stdout у процесса заканчивается ошибкой (что можно посмотреть через strace):
    write(1, "y\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\n"..., 8192) = -1 EIO (Input/output error)

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

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Мне казалось, что если моя, как пользователя, папка и файлы лежат внутри чужой, то я все равно смогу иметь к ним доступ.
    Возможно, это не так. Если да, то почему?

    Это не так. Для того чтобы иметь какой бы то ни было доступ к файлу нужно иметь доступ 'x' к каждому каталогу в пути до этого файла. Т.е. для доступа к файлу /root/.crons/whatever нужно иметь 'x' к /root и 'x' к /root/.crons.
    Ответ написан
    Комментировать
  • Использование прерываний в ОС Windows?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Возможно ли программировать под Windows, как в DOS используя функции и прерывания?

    Зависит от того, какие прерывания вы имеете в виду. Если досовский int 21h -- то в винде есть свой API, если вы имеете в виду "самому обрабатывать прерывания" -- то нужен ядерный драйвер.
    Функции использовать можно вообще везде.
    Ответ написан
  • Ubuntu cifs - как смонтировать шару под пользователем?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Вопрос: что нужно сделать, чтобы у пользователей без админских прав были права на mount?

    Прописать точку монтирования в /etc/fstab с опцией user или users.
    Ответ написан
    3 комментария
  • Как объединить строки через grep\sed в одну?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    join -t , -j 1 \
        <(sed 's/\([^,]*,[^,]*\).*/\1/g' < 1.txt | sort) \
        <(sed 's/[^,]*,[^,]*,//g' < 2.txt | sort)
    Ответ написан
    Комментировать
  • Не выводит пару пикселей, через двойную буферизацию, в чем дело ( в дебагере и в виртуалке работает)?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    вобще куча странностей

    В put_sprite и draw забыл сделать cld перед началом цикла, чтобы stosb увеличивал di. Ну и если уж решил использовать строковые инструкции, то почему не lodsb/stosb, или не movsb, или не rep movsb, или даже не rep movsw?
    Ответ написан
  • GCC не работает?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    gcc не компилирует ничего. И версия почему-то 2.95
    g++ всё компилирует спокойно и версия самая новая.

    Криво установил? Конфликт с другой установкой?
    Что выводят команды which gcc и which g++?
    Ответ написан
  • Как восстановить корректную работу gcc?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    После установки musl-libc

    что за линукс? как устанавливал musl-libc?
    Ответ написан
  • Что за процедура такая RESET AVR?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему так происходит, если делать изменения в коде, которые я описал выше?

    Сам код приведи в вопросе, без него мы можем только гадать, что происходит.
    Но если гадать, то:
    Если в этом коде удалить саму метку RESET:, то есть только метку, но не обработчик прерывания RESET - код не работает

    а не должен даже компилироваться. Потому что в векторе reset должна стоять команда перехода на метку RESET:.

    почему если я размещаю обработчик прерывания RESET последним - он также не работает

    может не хватает диапазона команды rjmp (4 килобайта) чтобы перейти из вектора в обработчик?

    Для чего нужна процедура RESET?

    для инициализации контроллера

    Как она вызывается

    переходом из вектора reset
    Ответ написан
    4 комментария
  • Как получить доступ к "/dev/ttyUSB0"?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Что я только не пробовал: добавлял своего пользователя в dialout

    это правильно. После добавления нужно перелогиниться (можно выйти из системы и войти, можно сделать su - $USER) -- и должно всё заработать. Для проверки -- в выводе команды groups в терминале, в котором запускается avrdude должна появиться группа dialout.

    открывал через администратора папку и назначал для ttyUSB0 права для всех на запись и чтение

    просто через консоль с помощью chmod назначал права a+rw

    разрешения назначаются автоматически когда файл устройства создаётся udev'ом.

    создавал отдельный файл, в котором описываются другие правила для этого интерфейса

    ???
    Ответ написан
    Комментировать
  • Где и как вы храните SSH и PGP ключи?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    какие инструменты вы используете для хранения SSH и PGP ключей?

    домашний каталог. вопрос точно про linux?

    Нет желания после переустановки системы создавать новые ключи и обновлять их на серверах или таких сервисах как GitHib

    можно держать домашний каталог на отдельном разделе. и иногда делать его бэкап.
    Ответ написан
    Комментировать
  • Как собрать сборку, желательно статически?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как собрать сборку, желательно статически? Есть https://github.com/cisco-open-source/qtwebdriver такой проект, никак не могу его собрать, как вообще правильно такой проект с QT компиллить?

    README.md с разделом Build and Run и ссылочкой для кого в корне проекта лежит?
    Ответ написан
    3 комментария
  • Как поддерживается безопасность при выполнении команд через ssh?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Когда мы пытаемся выполнить команду (впринципе без разницы какую, пускай будет ls -la) (пункт 4)
    делаются ли какие-то дополнительные проверки на сервере с точки зрения безопасности?

    Нет. Пользователь зашедший по ssh ничем не отличается от обычного локального пользователя.

    Может кто-то подскажет какой алгоритм выполнения команды на удаленной машине? (При условии что мы уже подключились к серверу).

    Достаточно посмотреть в вывод команды pstree:
    ├─sshd(700)─┬─sshd(8208)───sshd(8214,jcmvbkbc)───bash(8215)───ssh(8231)
    │           └─sshd(8232)───sshd(8238,jcmvbkbc)───bash(8239)───pstree(8244)

    чтобы понять, что после подключения по ssh, sshd (демон ssh, процесс 8238) запускает login-shell (процесс 8239), который показывает приглашение ввода ($). Когда в нём набирается команда pstree (процесс 8244), шелл просто запускает эту команду.
    Ответ написан
    6 комментариев
  • Linker gcc PROVIDE?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    назначение ключевого слова PROVIDE в linker script

    Легко. TL;DR: это ключевое слово позволяет определить символ, если он не был определён другим способом (в линкуемых объектниках). Если был определён в объектниках -- будет использовано определение оттуда.
    Ответ написан
    Комментировать
  • Как, используя bash скрипт, посчитать размер всех файлов в директории, созданных в определенним году?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    посчитать размер всех файлов в директории, созданных в определенним году?


    - "Размер всех файлов" -- неоднозначно, вас интересует сумма размеров, или объём занятый файлами на диске? Второе обычно больше первого.

    - "В директории" -- только в ней, или во вложенных каталогах тоже?

    - "Созданных" -- невозможно на большинстве файловых систем. Можно "в последний раз изменённых".

    Итого, объём в байтах занятый на диске файлами в заданном каталоге и подкаталогах, в последний раз изменёнными в 2017, можно посчитать, например, вот так:
    find /home/user/repo -type f -newermt 2017-01-01 -not -newermt 2018-01-01 -print0 | du --files0-from=- -B 1 -c
    Ответ написан
    Комментировать
  • Где сменить имя сервера?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    /etc/hostname
    и /etc/hosts потом поправить
    Ответ написан
    Комментировать
  • Как работать с утилитой flock?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    flock -w 10 /tmp/lock.lock ./dev.sh

    Чудесно отрабатывает столько раз подряд сколько я даю это команду в консоли. Что я делаю не так? Или я неверно понял то, что делает утилита?

    Неправильно понял. В такой форме запуска она блокирует файл на время выполнения ./dev.sh, после чего освобождает его. Можно запускать так:
    flock -w 10 /tmp/lock.lock ./dev.sh &
    и тогда должна наблюдаться сериализация на /tmp/lock.lock и отвал по таймауту, если ./dev.sh работает дольше 10 секунд.
    Ответ написан
    Комментировать
  • Как прочитать конкретные байты из файла используя язык С?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Мне нужно прочитать из заголовка адрес точки входа

    Обычно заводят структуру описывающую заголовок, читают в неё заголовок целиком, а потом достают интересующий член структуры. В частности, на linux для ELF определения заголовков Elf32_Ehdr и Elf64_Ehdr можно найти в /usr/include/linux/elf.h
    Вместо чтения в память из файла можно замэпить часть файла в адресное пространство процесса, см. man mmap.
    Ответ написан
    Комментировать
  • Как сместить указатель на несколько байт?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    malloc'om выделил память, но хочу я сместить указатель на 1 байт. Как это сделать?

    malloc выделяет память с выравниванием достаточным для всех встроенных типов данных. Сдвиг указателя на такую память на 1 байт это выравнивание испортит. Результатом, в зависимости от платформы, будет замедление обращений к этой памяти, ошибки выравнивания исправляемые ядром ОС, либо ошибки выравнивания, приводящие к завершению программы.
    Ответ написан
    2 комментария