• Как правильно устанавливать права для файла?

    @Karpion
    Добавлю к вышесказанному: надо установить не только права, но и владельца, и группу.
    Ответ написан
    Комментировать
  • Почему отсутствует maillog и не отправляются письма?

    @Karpion
    Проверьте, нормально ли уходят письма со стандартного мейлера (SendMail или сто там). Возможно, Ваш IP-адрес не прописан в DNS; или прописан как-то криво; если дело в этом, то все мейлеры будут вести себя одинаково.

    Возможно, у мейлера нет прав записывать в лог. Хотя, вроде, мейлер должен выполняться от рута...
    А может, он просто пишет куда-то ещё. Почитайте его конфиг и man page.
    Ответ написан
  • Bash. Как прочитать лог файл в переменную после перенаправления "динамического вывода" &> file.log?

    @Karpion
    напрямую в переменную вывод всегда получается пустой
    Вы бы написали, как Вы это делаете. Если Вы перенаправляете знаком "больше" - то это только в файл. Поместить вывод команды в переменную можно двумя способами:
    переменная=`команда`
    переменная=$(команда)
    Команда м.б. с аргументами. В Вашем случае, видимо, она должна содержать ещё и 2>&1 (собственно, про это уже написали).
    Ответ написан
  • Можно ли написать систему на ядре Linux чисто на C++ и Python?

    @Karpion
    Что значит "на ядре Linux"? Зачем это всё?

    На Питоне, скорее всего, нельзя: обычно это скрипты, работающие к контексте интерпретатора. А для удобного программирования нужны ещё и многочисленные библиотеки разных модулей.
    Ответ написан
    Комментировать
  • Кто пытается авторизоваться в DD-WRT?

    @Karpion
    Хорошо бы глянуть логи, которые пишет сам httpd.
    Ответ написан
    Комментировать
  • Почему программы занимают по 2 устройства в файловой системе Linux?

    @Karpion
    Я как-то не уверен, что "707.5 мегабайт" - это размер устройства.

    Учтите, что в Linux можно залинковать файл - он будет в системе под двумя именами, но место будет занимать только один раз.
    Ответ написан
    Комментировать
  • Как сделать что бы работал интернет при подключении PC к точке доступа Wi-Fi на телефоне?

    @Karpion
    Пока компьютер видит сигнал (carrier) на сетевой карте - у него IP-маршрутизация настроена так, чтобы отправлять IP-пакеты по кабелю на роутер.

    Идеальное решение = сделать так, чтобы роутер переключался на WiFi (это вообще можно автоматизировать - роутер тестирует доступность какого-то сайта через провайдера и в зависимости от этого переключается на провайдера или на WiFi). Решение зависит от того, какое устройство (точнее, какая операционка на устройстве) отвечает за подключение к провайдеру.

    Кстати, много компьютеров на WiFi - хуже, чем соединение по кабелю.
    Ответ написан
    Комментировать
  • Как сделать такой календарь?

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

    Мне кажется, Вам имеет смысл посмотреть "еврейский календарь" или "мусульманский календарь" - как они сделаны, какая там функциональность. А в исходниках страницы наверняка можно найти ссылки на используемые библиотеки.
    Ответ написан
    Комментировать
  • Как подменить диск в Linux?

    @Karpion
    Во FreeBSD часто новый диск монтируют поверх старого через UnionFS. Тогда файл читатся:
    • с нового диска если он там есть;
    • со старого диска, если на новом его нет.
    А при изменении - файл на старом диске остаётся как был, на новом создаётся с записью изменений. При touch - файл переносится на новый диск. ПРеимущество - не надо останавливать сервис (кроме как на выключение компьютера при физическом подключении нового диска).
    В Linux д.б. что-то аналогичное.
    Ответ написан
    Комментировать
  • Как установить видео плеер из Elementary OS 5.1?

    @Karpion
    Ищите в магазине приложений. Или командой apt-get.
    Ответ написан
    Комментировать
  • Как вы относитесь к использованию транзакций в Laravel?

    @Karpion
    Необходимость использовать транзакции - определяется задачей, а не средствами её решения.

    У транзакций есть два свойства:
    1. Транзакция либо доходит до конца, либо как будто не начинала выполняться (реально - она начинает что-то делать, но это инвариантно тому, как будто она ничего не сделала; а в какой-то момент она оказывается сделанной целиком). Это нужно при работе с энергонезависимым накопителем - на случай сбоя питания.
    2. Транзакция не позволяет никому трогать те элементы, которые она использует. Ну как "никому"... другим транзакциям... просто никто третий туда залезть не может. Это нужно при работе многих потоков с одной БД.
    И если нужно хотя бы одно из этих свойств - то транзакции нужны. А при однопоточной работе с данными в памяти - не нужны.
    Ответ написан
    Комментировать
  • Как реализовать подбор по критериям?

    @Karpion
    Тут нужен человек, который понимает и в программировании, и в косметике. Или двое, которые понимают друг-друга.

    Я так понял, Вы знаете критерии подбора? Пишите тех.задание - по каким критериям как подбирать; при каком наборе критериев отвечать "недостаточно данных". И размещайте заказ здесь или на сайте фриланса.

    Если "изучать язык не очень хочется", то написать требуемое нормально - нереально.
    Ответ написан
    Комментировать
  • Почему нельзя объявлять переменную внутри {...} в JS?

    @Karpion
    Вам сюда и дальше по ссылкам.
    Ответ написан
    Комментировать
  • Как управлеять несколькими Raspberry pi подключенные к разным роутерам по ssh (или другим способом)?

    @Karpion
    Ботоводы-вирусописатели используют примерно такую схему:
    1. После заражения компьютера вирус связывается с IRC-сервером или типа того. Вам вместо "заражения" надо "легально инсталлировать программу".
    2. Вирус "слушает" чат. Все команды, которые приходят в чат - либо выполняются встроенным интерпретатором, либо передаются внешнему интерпретатору (например, shell'у).
    3. Управляющая машина (у Вас - ноутбук) подключается к тому же IRC-серверу и отправляет в чат команды.
    Типа всё. IRC-сервер можно запускать на ноутбуке.

    Преимущества этой схемы в том, что не надо настраивать "взаимную видимость" малинок, городить VPN, etc. Всё отлично работает при минимальных телодвижениях.

    Учтите, что при разрыве соединения с IRC-сервером - малинки должны восстанавливать его сами. Но если сервер плотно выключился - не надо долбиться иуда ежесекундно, надо сделать разумный интервал типа "при разрыве сервера сделать три попытки подряд, а если не удалось - то каждые десять секунд".
    Выключиться может не только сервер, но и роутер. И конкретный канал может "лечь".

    Учтите, что возможна ситуация, когда малинки рассинхронизировались - одни получили команду, другие пропустили. На этот случай я могу предложить иной алгоритм:
    1. Есть сервер - файловый, FTP, Web, RSync, etc. На ноутбуке или на чём-то ещё.
    2. На сервер выкладывается некий файл, в котром написано "как должно быть" - например, "сейчас крутим такое-то видео".
    3. Малинки считывают этот файл. Если текущее состояние какое нужно - ждём. Если есть отличия - запускаем/останавливаем нужные программы.
    Отдельный вопрос - надо ли крутить видео синхронно.
    Ответ написан
    Комментировать
  • Как работает обработка события операционной системой?

    @Karpion
    Клик мыши проходит через множество обработчиков, начиная с обработчика аппаратного прерывания. Т.е. сначала это обрабатывается в ядре, потом передаётся в X-сервер, где соотносится с определённым окном, а окно соотносится с его владельцем-приложением. Далее X-сервер через ядро связывается с владельцем окна (в данном случае - браузером) и передаёт обработчик ему. В браузере обработка клика тоже делается в много стадий в разных программных компонентах, включая JS-интерпретатор; а тот уже передаёт команды рендеру. Причём рендер - это сначала браузер, потом (опять через ядро) передаётся в X-сервер.

    А некоторые клики (по объектам, которым не назначен JS-обработчик - естественно, обрабатываются без JS-интерпретатора, встроенными обработчиками.

    Судя по последней фразе - Вас интересует только то, что происходит в браузере. Это я не копал, не знаю.
    Ответ написан
  • Как разделить трафик на linux?

    @Karpion
    Надо настраивать сложную маршрутизацию.

    Пусть "дешевый и медленный провайдер" даёт Вам IP-адрес "IP1",
    а "дорогой, но быстрый провайдер" даёт Вам IP-адрес "IP2",

    В первую очередь надо научить программы, обращающиеся наружу, обращаться от правильного IP-адреса. Т.е. "почта" (SendMail или кто там у Вас) должен открывать соединение от IP1, а браузеры юзеров работали от IP2. От этого зависит - через какого провадера Вам пришлют ответ.

    Почтовая программа должна иметь в конфиге опцию - от какого адреса открывать соединение.
    Либо можно в iptables загнать трафик TCP:25 в NAT на конвертацию IP-адреса.

    А юзерские программы наверняка уже настроены работать через NAT (точнее, сервер перехватывает их трафик и NATит. Тут достаточно правильно прописать IP-адрес IP2. Причём, возможно, у юзеров работают SMTP и POP3 - тогда надо изменять правила NAT, вписав туда порты 25, 110 и какие там ещё используются - на IP1.

    Вроде, всё.
    Ответ написан
    Комментировать
  • "cd | ls -R /" Командная оболочка создает два процесса с помощью fork или только один для ls?

    @Karpion
    Я так понимаю, cd должен исполняться в контексте исходного shell-процесса, иначе он не сменит директорию. Однако, тогда надо серьёзно извращаться с пайпом...
    Ответ написан
    Комментировать
  • Как расширить том диска влево?

    @Karpion
    Самый тупой вариант - отформатировать этот раздел под Linux и использовать как отдельный раздел. Не очень удобно, зато безопасно.
    Ответ написан
  • Как заменить часть текста в переменной частью текста из другой переменной?

    @Karpion
    1) Создать третью переменную. Записать в неё часть второй переменной, какую Вам надо.
    2) Заменить в первой переменной что надо на что надо.
    Третью переменную можно и не создавать - а сразу подставить результат выделения_части в выражение во втором пункте.

    В обоих случаях - выделить нужную часть можно как с помощью regex (этот вариант более универсален - например, когда ограничивающим символом м.б. любой из списка, а не конкретный - запятая или диез), так и сканированием переменных посимвольно (этот вариант - с функциями indexOf и substr; а можно сканировать самостоятельно, но встроенные в язык функции лучше).
    Ответ написан
    Комментировать
  • После выключения, компьютер не включается, что с ним?

    @Karpion
    В моей практике было похожее - там сломали внутренности USB-порта, создав короткое замыкание.
    Отключаем все USB-порты, которые можно (обычно это те, что выходят на морду корпуса). Осматриваем все порты, которые не отключаются (обычно это те, которые сзади).

    Далее - проверяем мат.плату, видеокарту и плату блока питания на вздутие конденсаторов - оно видно, если ловить на торце отражение лампы/окна. Заодно удаляем пыль.

    Пытаемся запустить блок питания отдельно - отключаем все устройства и замыкаем "PS_ON#" (обычно он зелёный) на землю (обычно много чёрных проводов). Если не запустится - значит, дело в нём, помер.

    В идеале - пригласить опытного товарища, который это сделает и подробно откомментирует, что он делает и как интерпретирует результат.
    Ответ написан
    Комментировать