Задать вопрос
  • Как собрать сервер на устаревшем ПО?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    ОС и веб-сервер не роляют - в принципе подойдут любые. Софтину можно контейнертзировать в докере, базу тоже - получатся изолированные контейнеры со старьем внутри современной ОС.

    Еще можно выкачать образ старой версии ОС и установиться с него, потом примонтировать этот образ в качестве репозитория старых пакетов.

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

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    И в чем проблема? Ставите command line developers tools, открываете терминал, запускаете g++, передаете параметром ваш исходник и ключи всякие.
    Ответ написан
    4 комментария
  • Как в Telegram-боте сделать жирный текст и картинку под ссылкой?

    @Meoniz
    ничего не умею, но могу сделать что угодно
    Картинка с превью текста - это ссылка на статью. Она появляется автоматически

    Чтобы делать текст разными стилями, нужно прописать специальный атрибут parse_mode=HTML

    def jordan(bot, update):
        chat_id = update.message.chat.id
        with open('JordanPeterson.jpg', 'rb') as jordan_picture:
            caption = "<a href='https://twitter.com/jordanbpeterson'>Jordan B. Peterson</a>"
            bot.send_photo(
                chat_id, 
                photo=jordan_picture, 
                caption=caption,
                parse_mode=ParseMode.HTML
            )


    Также этот parse_mode можно прописать при импорте токена бота. Чтобы сделать текст жирным, нужно написать так:

    msg = <b>Jordan B. Peterson</b>
    Ответ написан
    3 комментария
  • Как в bash скрипте определить является ли файл видео и получить его разрешение?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    как часть ffmpeg проекта, есть ffprobe, им и пользуйтесь.

    ffmpeg.org/ffprobe.html

    Получить можно в разном формате. И обычный текст(ini) или csv,xml,json

    Примеры:
    $ ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of default=nw=1 "My video file.mpg" 
    width=704
    height=576


    $ ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 "another vide file.mkv"
    1280,720


    $ ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of json "one_more video.mkv"
    {
        "programs": [
    
        ],
        "streams": [
            {
                "width": 1152,
                "height": 480
            }
        ]
    }
    Ответ написан
    Комментировать
  • Почему apache не может создавать папки/файлы?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Вы показываете конфиги, а надо показывать каталог, в котором у вас не создаётся - кто его владелец, какие разрешения, кто в каких группах и всё такое.
    Ответ написан
    Комментировать
  • Как расставить точки над i, по вопросу использованию Bash и Python для DevOps?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вы не годитесь в девопсы.
    Это очень частый ответ на этот очень частый вопрос.

    Девопс - это человек, который не задаёт вопросы. Он на них отвечает. Самостоятельность является для девопса одним из ключевых навыков. У вас он отсутствует.
    И это совершенно точно человек, которого НЕ пугает прочтение 326 страниц мануала.
    Девопсу приходится читать примерно в сто раз больше документации. В год. Подумайте хорошенько, а надо ли оно вам, если перспектива выучить даже самые примитивные основы вас пугает настолько, что вы пришли на тостер поторговаться?

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

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Важно понимать следующее: нет никакой ложки

    С точки зрения Линукса, данные, которые вы якобы пишете на диск - это страницы в памяти, которые помечены как неанонимные (это значит, что на диске есть файл, который с ними связан), и грязные (а это значит, что эти страницы надо сбросить на диск).

    Причем момент, когда произойдет сброс, зависит от кучи факторов - программист на это может влиять таким образом:

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

    То есть, программист может потребовать, чтобы данные сбросились на диск пораньше, но не попозже.

    После сбрасывания страниц на диск, ОС помечает их как чистые. Это значит, что их можно занять под что-то другое. Можете запустить htop и посмотреть на желтую полоску - это как раз те самые страницы кэша, и их может быть очень много.

    Для небольших файлов может быть выгоднее использовать отображение файла на память (mmap), вместо ручного ковыряния с записью-чтением.

    А теперь важный вопрос - как же понять, остаются ли данные в кэше после записи. Да легко.

    -очистите кэш sync; echo 1 > /proc/sys/vm/drop_caches
    -посмотрите, что желтая часть на полоске памяти в htop исчезла
    -запустите DD, запишите на диск гигабайт. (dd if=/dev/urandom of=test.raw bs=8M count=128 status=progress)
    -посмотрите, что у вас нарисовался желтый гигабайт
    -можете потом считать этот файл и увидеть офигительную скорость - выше гигабайта в секунду (у меня получается 6, что очевидно говорит о том, что чтение происходило из RAM). Последнее лучше делать, если писали на HDD - потому что хороший SSD может выдать столько же

    Объективно, этот тест показывает, что ДА, записанные данные остаются болтаться в памяти.

    Но при этом, момент, когда эти данные оттуда уйдут, зависит от множества факторов (скажем, если памяти - в обрез, PageCache пойдет под нож в первую очередь). Так что может оказаться полезным использовать другие стратегии - например, mmap
    Ответ написан
    Комментировать
  • Есть ли утилита для быстрого переключения между ос?

    Adamos
    @Adamos
    У вас grub не видит винду? Покажите ему...
    Ответ написан
    Комментировать
  • Как запретить доступ к сайту, если посетитель заходит по прямому IP машины?

    NGINX в итоге что-то да ответит. Можно сделать отдельный конфиг, который будет ловить «все остальные» (default_server) запросы, в т.ч. по прямому IP:
    server {
        listen       80  default_server;
        server_name  _;
        return       444;
    }
    Здесь _ подчеркивание — не что-то волшебное, просто несуществующее имя домена.

    Подробнее: nginx.org/en/docs/http/server_names.html#miscellan...
    Ответ написан
    Комментировать
  • Какие книги нужны для начала пентеста?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    УК вашей страны пребывания и потенциальных целей.
    Ответ написан
    1 комментарий
  • Что делать, если удалил authorized_keys ubuntu?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    в authorized_keys лежат публичные ключи, их можно восстановить из приватного.

    Найди свой приватный ключ, например id_rsa и сделай
    ssh-keygen -y -f id_rsa

    Публичный ключ (он выдается как одна строка) - вставь ее в новый authorized_keys файл.
    Ответ написан
    Комментировать
  • Как обращаться к микросервисам по именам? Нужен DNS?

    martin74ua
    @martin74ua
    Linux administrator
    Ответ написан
    Комментировать
  • Разработка программы, с платной версией?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    пользователь должен будет ввести номер карты, CVV, и срок действия

    А вы должны будете иметь код и инфраструктуру, соответствующие PCI DSS, иначе не пройдёте аудит и не сможете принимать платежи.

    Так вот, вопрос, как это осуществить на питоне

    Разве что написать web-приложение на нём. Потому что если пользователь будет иметь доступ к коду, то легко отломает вашу платёжную систему и будет пользоваться бесплатно.
    Ответ написан
    Комментировать
  • Какой сервис для загрузки файлов использовать в Docker?

    minio (S3), однозначно.
    И с keycloak работать будет
    Ответ написан
    Комментировать
  • Samba. Не отображается в сети?

    mikes
    @mikes
    После wannacry и отключения smb1 "сетевое окружение" ушло в прошлое.

    Используйте gpo для того что бы мапить сетевые диски или создавать ярлыки на нужные ресурсы.
    Ответ написан
    1 комментарий
  • Как зарегистрировать пользователя и не попасть в спам?

    1. Убедитесь, что все проверяется не только в браузере но и серверсайдно при подписке формы, потому что спамеры будут дергать ваш API без браузера. Это касается и введенных данных и прохождения капчи (убедитесь, что конец который отправляет письмо невозможно дернуть без прохождения капчи) В частности убедитесь, что в письме с проверкой адреса невозможно вставить произвольный текст, иначе получится такое https://habr.com/en/company/vk/blog/354310/
    2. Не используйте прямую отправку с shared hosting'а, даже если у вас все хорошо, может быть плохо у кого-то другого и на доставляемость ваших писем будет влиять репутация других клиентов. Пользуйтесь либо специализированными сервисами (прмиеры уже написали) либо поднимайте собственный почтовый сервер с выделенным адресом.
    3. Делайте рейтлимиты по пользователям (не давайте одному пользователю отправить несколько писем) и по IP (не давайте с одного IP отправить много писем)
    Ответ написан
    Комментировать
  • По какой причине может зависать Lazarus на Ubuntu 20.04?

    hottabxp
    @hottabxp Автор вопроса
    Сначала мы жили бедно, а потом нас обокрали..
    Покурил askubuntu и стало ясно, в Ubuntu что-то сломали (по крайней мере, в 19.10, 20.04 - некоторые приложения запускаются очень долго, примерно 20-30 секунд).

    Есть 2 работающие решения(сам проверял).
    1) Запуск приложения от root(не всегда удобно и безопасно);
    2) Запускать из консоли: dbus-launch --exit-with-session *имя_приложения*, в моем случае - dbus-launch --exit-with-session lazarus-ide - Lazarus ide стартует мгновенно.

    UPD: Решение номер 3 - установить appmenu-gtk2-module sudo apt install appmenu-gtk2-module и перезагрузится.
    Ответ написан
    Комментировать
  • Как сделать вхождение по TAB в терминале linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    bash completion - это большая библиотека функций, которые по tab умеют дополнять
    * имена алиасов
    * имена функций
    * имена переменных
    * названия команд
    * пути файловой системы
    * опции для некоторых команд.

    Можно почитать документацию, как добавить дополнение для вашей собственной команд - https://www.gnu.org/software/bash/manual/html_node...
    Ответ написан
    Комментировать
  • Как использовать компьютер на Win10 как второй монитор без wifi?

    @victor_skoblin
    Есть такой софт - Spacedesk. Ставите на один комп драйвер, на другой - клиент. По локальной сети вполне получается расширять монитор.
    Ответ написан
    9 комментариев