Задать вопрос
Ответы пользователя по тегу Ubuntu
  • Как добавить задачу cron на ubuntu при помощи скрипта?

    Vindicar
    @Vindicar
    RTFM!
    Я бы не советовал трогать crontab.
    Есть же cron.hourly, cron.daily, и т.п., в которых можно создать свой, отдельный скрипт.
    Или есть cron.d, в котором каждый файл интерпретируется как мини-crontab.
    Ответ написан
    3 комментария
  • Как сделать прокси который будет работать только на одном сайте?

    Vindicar
    @Vindicar
    RTFM!
    Во-первых, нужно чётко описать цепочку трафика. Вот первый вариант:
    [клиент] --> [решающий прокси] --> [реальный прокси] --> [целевой сайт]
                         \--> [другие сайты]

    Т.е. клиент всегда ходит через решающий прокси (тот, который принимает решение, как обращаться к сайту), а далее трафик идёт по одной из двух веток.
    Плюсы: у клиента фиксированная конфигурация, требуется только поддержка прокси, не требуется доп. ПО на кленте
    Минусы: решающий прокси тащит на себе весь трафик клиента.

    Если это недопустимо, т.е. тебе позарез нужно что-то такое:
    [клиент] --> [решающий прокси] --> [реальный прокси] --> [целевой сайт]
        \--> [другие сайты]

    То решение нужно принимать на стороне клиента. Тут есть два варианта.
    Вариант А: решающий прокси разворачивается на клиенте. Так работает nekoray, например.
    [клиент --> решающий прокси] --> [реальный прокси] --> [целевой сайт]
                         \--> [другие сайты]

    Плюсы: ПО на клиенте всё ещё требует только поддержку прокси, и всё.
    Минусы: на клиенте ставится доп. ПО, управление производится на машине клиента (неудобно если их несколько)

    Вариант Б, которым я сам пользуюсь: использовать PAC-файл. Он выполняется в контексте браузера и содержит логику на JS, которая определяет, как посылать каждый запрос. Разумеется, генератор и прокси могут быть на одном узле.
    [Генератор и хостинг для PAC-файла]
       ^
       |
    [клиентский браузер] --> [реальный прокси] --> [целевой сайт]
        \--> [другие сайты]

    Плюсы: на клиенте фиксированная конфигурация и нет доп. ПО. Все решения принимаются сервером, который периодиченки обновляет PAC-файл.
    Минусы: работает ТОЛЬКО с браузером, если прокси недоступен, браузер может начать пытаться слать запросы напрямую. Трудно повлиять на то, как часто клиент будет перезагружать PAC-файл.

    Вариант В: использовать маршрутизацию совместно VPN, чтобы завернуть все пакеты на целевые хосты в VPN, и только их.
    Плюсы: работает с любым ПО, даже если оно не умеет прокси.
    Минусы: Требует полноценный VPN с виртуальным сетевым адаптером, а не прокси. Определить подсети по имени сайта нетривиально, ибо CDN могут менять адреса без предупреждения. Раздавать 100500 маршрутов на клиенты тоже нетривиально.
    Ответ написан
    Комментировать
  • Как подключить белый ip к домашнему серверу?

    Vindicar
    @Vindicar
    RTFM!
    По-простому никак, домен привязывается к хосту, а не к паре хост-порт.
    Если речь только о протоколе HTTP, ты можешь повесить реверс-прокси, который будет редиректить запросы на нужный хост-порт в зависимости от указанного доменного имени. Но это решение только под него.
    Ответ написан
    Комментировать
  • Откуда взялась строка в файле /etc/apt/sources.list?

    Vindicar
    @Vindicar
    RTFM!
    Префикс cdrom: означает, что источник - не репозиторий в сети, а установочный диск/флешка.
    Во время установки ОС с полного образа диска (не с netinst) этот источник был основным. А потом ты вытащил установочную флешку - источник стал недоступен.

    Просто закомментируй эту строку, и apt будет использовать только сетевые репозитории.
    Ответ написан
    1 комментарий
  • Как узнать почему не работает vpn wireguard?

    Vindicar
    @Vindicar
    RTFM!
    IP forwarding настроить не забыл?
    Без этого VPN сервер не будет пробрасывать пакеты дальше в интернет.
    Ответ написан
  • Как принимать данные на сервер с определённого порта?

    Vindicar
    @Vindicar
    RTFM!
    Данные в каком формате отправляются? В каком-то своём, или это обычный HTTP запрос?
    Если в своём, просто настрой запуск своего php скрипта как демона через systemd unit.
    Ответ написан
  • Как сменить директорию (Ubuntu) на хостинге beget?

    Vindicar
    @Vindicar
    RTFM!
    Ты используешь относительный путь, т.е. путь относительно текущего рабочего каталога.
    Ты уверен, что каталог существует, и существует именно там где ты ищешь?
    Например, если ты находишься в каталоге /home/root, и делаешь cd ../folder/folder2, ты будешь пытаться перейти в каталог /home/folder/folder2.
    Ответ написан
    1 комментарий
  • Как сделать бесконечное цикл запуска приложения ubuntu?

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

    Vindicar
    @Vindicar
    RTFM!
    А) Найди pip от питона 3.10 и запусти его явно. Например, командой pip3.10.
    Б) Используй виртуальное окружение, и ставь пакеты в него. Только убедись, что используешь правильный питон для создания venv.
    Ответ написан
    Комментировать
  • Ошибка при запуске сервиса на Ubuntu, что за ошибка (code=exited, status=203/EXEC)?

    Vindicar
    @Vindicar
    RTFM!
    Возможно, journalctl может подсказать подробности: journalctl -u loaders.service
    Stackoverflow советует проверить, есть ли у пользователя (в твоем случае administrator) права на запуск
    /home/administrator/flask/loaders_webserv/bin/gunicorn
    , и сделать chown этого файла на требуемого пользователя при необходимости.
    Ответ написан
  • Как автоматически запускать баш скрипт при включении пк?

    Vindicar
    @Vindicar
    RTFM!
    а) написать systemd unit
    б) написать init.d скрипт
    в) вроде крон умеет делать запуск с условием @reboot, но тут есть баги
    г) если включение = логин пользователя, то профиль-скрипт этого пользователя тоже подойдёт
    Ответ написан
    Комментировать
  • Как в Ubuntu написать bash скрипт для пробросса com порта по TCP?

    Vindicar
    @Vindicar
    RTFM!
    А зачем ты перезапускаешь netcat на каждой строке? Установка TCP-соединения - штука тормозная.
    Я бы попробовал создать пару named pipe где-нибудь в /tmp, используя mkfifo. Один пайп должен служить выходом для stty и входом для netcat, а другой - наоборот.

    Тогда ты сможешь запустить два процесса и "замкнуть" их стандартный вход/выход друг на друга.
    Ответ написан
    2 комментария
  • Тормозит Ubuntu, не хватает оперативной памяти?

    Vindicar
    @Vindicar
    RTFM!
    ЕМНИП, Linux активно использует оперативку для кэширования файловых операций. Эти буферы имеют низкий приоритет, и если приложение запросит память - будут сброшены на диск и высвобождены. Так что на потребление памяти нужно смотреть с осторожностью, не всегда занятая память - признак перегрузки.
    Ответ написан
    1 комментарий
  • Как объеденить Ubuntu и windows 10 в локальную сеть?

    Vindicar
    @Vindicar
    RTFM!
    Вопрос: доступ по SSH откуда?
    Если с ноута на стационарный комп, то проблем должно быть минимум:
    1. Убедиться, что трафик ходит между компом и ноутом (интерфейсы подняты, адреса и подсети выбраны корректно).
    2. Убедиться, что SSH сервер слушает соответствующий адрес (ну или слушает 0.0.0.0).
    Роутер в этой схеме никак не участвует.

    Если же нужен SSH доступ изнутри сети роутера, но не с ноута, то тут дело сложнее. Помимо вышеуказанного:
    3. Ноут должен либо делать port forwarding на стационарный комп, либо делать bridge для двух сетей - wi fi и кабель.

    А если нужен доступ извне сети роутера, то дело ещё усложняется:
    4. Роутеру нужен внешний IP, на который можно постучаться.
    5. Роутер должен делать port forwarding для выбранного порта для SSH на ноут.

    Без конкретики (точная решаемая задача, схема сети, конфиги приложений, список проброшенных портов) тут ничего не посоветовать.
    Ответ написан
    Комментировать
  • Как лучше запускать программу на сервере: crontab или systemd?

    Vindicar
    @Vindicar
    RTFM!
    Встречные вопросы:
    1. Велика ли инициализация при запуске? Если нужно выполнять много стартовых операций, причём дорогих, то может иметь смысл запустить и спать.
    2. Срабатывание строго по времени или может требоваться мониторить другие события? Если абсолютно точно первое, то можно крон. Если возможно второе (и речь не о "пользователь сам вызвал программу"), то лучше демон.
    3. Есть ли зависимости, т.е. другое ПО которое должно быть запущено к моменту срабатывания? Если да, systemd может их разрулить, ЕМНИП.
    Ответ написан
    Комментировать
  • Как восстановить загрузку Ubuntu?

    Vindicar
    @Vindicar
    RTFM!
    Загрузиться с загрузочной флэшки, подмонтировать основной диск, и прогнать fsck.
    Ответ написан
    Комментировать
  • Можно ли в терминале отобразить кликабельный путь к файлу?

    Vindicar
    @Vindicar
    RTFM!
    xterm и совместимые терминалы умеют обрабатывать события мыши. На том же stackoverflow можно найти вот такой код:
    echo -e "\e[?1000;1006;1015h" # Enable tracking
    echo -e "\e[?1000;1006;1015l" # Disable tracking

    Это на баше, разумеется. Выводишь правильную escape-последовательность, и терминал будет слать тебе соыбтия мыши как другие escape-последовательности на стандартный вход программы.
    Mouse click looks like \e[<0;3;21M and a release \e[<0;3;21m. Where 3 is x and 21 is y, from top-left 1-based. (Note that it is x-y and not row-col).

    Но такой подход оставляет проблему отслеживания положения кликабельного текста, и требует, чтобы твоя программа продолжала работать.

    Предположительно, некоторые терминалы могут также переварить вот такое:
    echo -e '\e]8;;http://example.com\aThis is a link\e]8;;\a'

    Но для твоей задаче потребуется, чтобы система имела схему URL для открытия папки с файлом, типа file:// или еще чего-то подобного.

    Ну а виндовый терминал очень ограниченный, так что кроссплатформенность малореальна. Хотя какие-то реализации curses под винду всё же есть.
    Ответ написан
    1 комментарий
  • Как в каждом проекте автоматически работать в PyCharm с тем версиями библиотек, которые прописаны в requirements.txt?

    Vindicar
    @Vindicar
    RTFM!
    Вообще PyCharm вроде умеет создавать виртуальные окружения (читай - локальные копии питона) для своих проектов? Тогда просто в каждом проекте создай свой venv, установи локально в него нужные пакеты и работай так.
    Но точнее сказать затрудняюсь, с PyCharm сам не работал.
    Ответ написан
    2 комментария