Задать вопрос
  • Как перенсти ОС с HDD на SSD?

    hint000
    @hint000
    у админа три руки
    Можно ли из под Windows перенести
    Не надо из под Windows. Надо из самого Debian.
    1.1. через sfdisk выгрузить дамп таблицы разделов HDD в текстовый файл;
    1.2. поправить размеры разделов (если несколько разделов ext4, то с учетом их заполненности), чтобы суммарно влезло на 120 ГБ (на самом деле нужно через fdisk -l проверить точный размер SSD в мегабайтах; возможно, там чуть меньше, чем 120 ГБ);
    1.3. через sfdisk залить исправленную таблицу разделов на SSD;
    2. сделать обычное пофайловое копирование ext4-разделов с HDD на SSD, а лучше потоковое копирование через tar (dd не годится, потому что размеры разделов уменьшились);
    3. скопировать через dd первый сектор диска, в который обычно ставится grub;
    4. если есть раздел EFI, то его целиком скопировать через dd;
    5. PROFIT
    Когда у вас Linux, то для такого переноса даже не требуется cпециальное ПО, всё можно сделать стандартными средствами Linux.

    P.S. Не помешает перед копированием файлов перемонтировать файловые системы на HDD в режиме read-only.
    Ответ написан
    Комментировать
  • "Y: команда не найдена" - в чем может быть дело?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Вот что бывает, когда ставишь нечто по какому-то там гайду, который не понимаешь от слова совсем. Интересно, если в этом гайде будет присутствовать патч Бармина, который тоже спросит y/n? - тоже ответите y?
    Ответ написан
    3 комментария
  • Dell PowerEdge R760 что выбрать SAS или NVME?

    nops
    @nops
    Системный инженер.
    1. вместо RAID6 я бы собрал RAID50, у него выше производительность. Фактически полезный объем останется тем же, а скорость выше.
    2. В сервер Dell тебе нужно установить контроллер, который будет поддерживать U.2 диски, только тогда ты сможешь установить U.2 NVMe диски. Кроме того, обязательно контроллер должен уметь строить RAID-массивы из U.2 дисков. И это еще не все. Одновременно в бекплейне ты не сможешь использовать и U.2 и SAS диски. Бекплейн подключается разными кабелями к контроллеру, для использования либо тех, либо других дисков.
    3. диски PM1653 я бы не стал наверное использовать, тк есть более интересный вариант, например SSD KIOXIA . Посмотри, сравни характеристики.
    4. Давай разберемся, для чего вы собираете сервак. Какая планируется нагрузка, под какие задачи и тд. Из недавнего. Мы недавно прикупили ASUS, в него установили как раз SSD SAS KIOXIA и получили на выходе 60ТБ в рейде. На него реплицируются SQL-базы и отрабатывают фоновые и регламентные задания порядка 10 баз размером от 1 до 6 ТБ.
    Если у вас не планируется огромная нагрузка на дисковую подсистему, если на нем одновременно в 1С не будет работать тысячи полторы пользователей, переписанная до нельзя база не занимает пару-тройку терабайт, то вам вполне будет достаточно и SAS. Если планируемая нагрузка будет только расти и быстро, то NVMe вам помогут жить, однако, в таком же бюджете это не будут супер скоростные диски.
    Все зависит от потребностей.
    Ответ написан
    2 комментария
  • Небольшой сайт и админ панель на .NET?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    что за действия там пользователи буду делать - пока нет конкретики

    Без тз - результат хз.
    смотрю в сторону связки asp+bootstrap, при беглом поиске все шаблоны админок очень нагруженные

    Что мешает удалить лишние блоки?
    Может посоветуете что именно искать или вообще другой вариант реализации предложите?

    Если знаний на фронте минимум, то лучше либо готовое что то использовать, по типу Bootstrap, либо какую то CMS, не обязательно на .NET
    Ответ написан
    Комментировать
  • Почему при cURL-запросе нельзя отправлять файл более полутора Мб?

    @rPman
    а настройки php?
    upload_max_filesize = 100M
    post_max_size = 100M
    memory_limit = 256M

    каким кодом файл принимаете?
    Ответ написан
  • Имеет ли значение порядок связывания таблиц левым соединением?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Будет ли разница в результате между двумя вариантами

    Да. См. fiddle
    CREATE TABLE a SELECT 'a' x UNION SELECT 'b';
    CREATE TABLE b SELECT 'a' x UNION SELECT 'c';
    CREATE TABLE c SELECT 'b' x UNION SELECT 'c';

    select a.*, b.*, c.*
    from a left join b using (x) left join c using (x)

    x	x	x
    a	a	null
    b	null	b

    select a.*, b.*, c.*
    from a left join (b left join c using (x))  using (x)

    x	x	x
    a	a	null
    b	null	null


    Есть ли какое-то правило, которое определяет порядок связывания таблиц?

    Да. Порядок связывания определяется требуемой логикой.

    PS. В качестве самостоятельного задания - найди истинную причину разницы.

    PPS. При абсолютной эквивалентности обеих форм - разницы нет.
    Ответ написан
    2 комментария
  • Как решить проблему с сессиями?

    karabanov
    @karabanov
    Системный администратор
    if (isset($_SESSION['user'])) {
        echo "User is logged in!"; // Этого здесь быть не должно
        header('Location: ./index.php');

    Заголовки отправляются до тела ответа, потом отправлять их бесполезно. В логах наверняка Fatal есть на этот счёт. Пробелов или иных символов перед <?php тоже быть не должно.

    Надо или обеспечить отсутствие какого либо вывода до отправки заголовков, либо буферизовать вывод.
    Ответ написан
    2 комментария
  • Можно ли спрятать процесс на дистрибутивах GNU\Linux?

    @rPman
    Функционально такой вирус создать конечно же можно, мало того, на linux все вышеописанное даже легче реализовать, за небольшим исключением.

    В linux по умолчанию пользователь менее привилегирован чем в windows (особенно когда в windows по умолчанию запрос на повышение привилегий не выдается в большинстве случаев). Т.е. проблема не в создании приложения с нужным функционалом, а в заражении, т.е. его запуске.

    Пример путей проникновения - win-way пути запуска их как скачал-запустил, например .AppImage образ, изначально в нем должна поддерживаться песочница, но большинство примитивных приложений что я смотрел типа чат для ИИ (chatbox тот же) - требуют для запуска необоснованное отключение песочницы.

    Или к примеру смотришь, а приложение не запускается, требует suid флаг на бинарник,.. (тот же proton если запускать из lutris) и в лучшем случае ты нагуглишь инстуркции но никак не гарантии что после этого в систему не будет установлен троян.

    Запуск приложений что в windows что в linux это вопрос ДОВЕРИЯ их разработчикам. Отличный пример rustdesk, опенсорс, но это приложение столько телеметрии отправляет (а в исходниках бинарники забиты) а еще на глюке начинает нагружать одно ядро процессора тупо в цикле ps запускать. Есть песочницы по типу snap/flatpak а так же штатно lxc, но интерфейс для их использования не для обывателя (нужно в консоли писать команды, с неудобной документацией по настройке прав доступа и т.п.) поэтому пока это не изменится, linux будет таким же дырявым с точки зрения простоты заражения как и windows.
    Ответ написан
    1 комментарий
  • Авторизация PHP. Как исправить Warning: Undefined array key "login" in?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Данная ошибка может возникать в двух случаях:
    - если вы обращаетесь к этому скрипту напрямую, а не как к обработчику формы
    - если в форме были ошибки, и она тупо не передаёт поля login и pass методом POST.

    Чтобы исправить первый вариант, и вообще для порядка, надо добавить проверку на метод POST.
    Чтобы получить помощь для второго варианта, надо догадаться добавить в свой вопрос код формы.

    В целом же, эта авторизация будет бессмысленной, даже когда заработает. Поскольку любой придурок легко авторизуется без пароля, тупо через SQL инъекцию. Очердной пример того, что учить программирование "по видео из интернета" - это пустая трата времени
    Ответ написан
    1 комментарий
  • Изучение php с нуля для верстальщика?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Тут проблема скорее не в том, что 4-5 лет, а в том, что за редчайшими исключениями, любые видеокурсы - это отборный говнокод. Конкретно про Дмитрия Лаврика не скажу, но простая статистика говорит о том, что учить РНР по видеокурсам не стоит.

    Лучше потратьтесь на книжку, Джон Дакетт, PHP&MySQL. Там очень толково, на примерах даётся не только язык, но и все важные аспекты программирования - обработка ошибок, отладка, рефакторинг, структура приложения, SQL, обработка изображений, и куча всего остального. В последних главах весь материал даётся на примере создания простой но рабочей социальной сети.
    Ответ написан
    1 комментарий
  • Изучение php с нуля для верстальщика?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть ли смысл начать с устаревшего материала?
    4-5 лет не сказать что сильно устаревшие. ИМХО спокойно можно учиться, основы будут одинаковы для любой версии языка, изменения в новых версиях большей частью касаются ООП составляющей, до которой еще дойти нужно. В целом и ООП код более старых версий совместим с последними версиями, во всяком случае с 5+, в обратную сторону конечно же работать не будет. Ну а новые фишки по типу тайпхинтинга и анонимных объектов можно доучить и самостоятельно.
    Ответ написан
  • Кривая работа функции date php?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Неделя начинается с понедельника и идентифицируется своим порядковым номером в году. Первой календарной неделей года считают первую неделю, содержащую первый четверг текущего года. Последней календарной неделей календарного года считают неделю, которая предшествует первой календарной неделе следующего года. ISO 8601.
    Соответственно, 2024-12-29 - воскресенье, последний день последней, 52-й недели года.
    2024-12-30 - понедельник, входящий в неделю, где четвергом является 2025-01-02, то есть в первую неделю 2025 года.
    Ответ написан
    6 комментариев
  • Как решить проблему с кодировкой 1251?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Вот так определяете проблему:
    670d4c201254a086434124.png
    Далее либо меняете исходную кодировку либо добавляете конвертацию в нужную или еще какие-то параметры настройки для автоматической конвертации там, где вы её используете.
    Ответ написан
    3 комментария
  • Почему PHP выполняет математические операции неправильно?

    Vamp
    @Vamp
    Потому что типом данных double нет возможности представить число 0.58. Поэтому компьютер берёт наиболее близкое к 0.58 число, которое double может выразить.

    Если вам нужны точные вычисления, то следует воспользоваться специальными функциями:

    $format = bcdiv("580000000", "1000000000", 2); // "0.58"
    
    var_dump(bcmul($format, "100")); // string(2) "58"


    Существует даже специальный сайт, рассказывающий о данной особенности математики чисел с плавающей запятой: https://0.30000000000000004.com/
    Ответ написан
    Комментировать
  • Почему PHP выполняет математические операции неправильно?

    Коротко - потому что IEEE 754

    Выполняет он математические операции правильно, но некоторые числа компьютер просто не способен представить со 100% точностью, тк для них нужно было бы бесконечное количество памяти.

    Точно также, как мы не можем записать все цифры числа 1/3 в десятичной системе, точно также и компьютер иногда не может записать все цифры в двоичной.

    Если ты работаешь с деньгами, то тогда используй то, что делают все банки - представляй суммы денег не как дробные числа, а как целые. Например место 1.5 рублей записывай как 150 копеек. Запятую добавишь при выводе человеку.
    btw тут в комментах пишут, что для денег тоже есть паттерн по-лучше конкретно для php.

    Если при делении у тебя получилось дробное количество копеек - округляй так, как велит закон.

    Если ты делаешь какие-то математические вычисления - возможно тебе нужны рациональные числа.
    Не знаю, что обычно для этого в пхп используют, но нагуглил https://github.com/webgriffe/rational
    https://github.com/markrogoyski/math-php

    Но в случае с целыми числами ты всё равно можешь упереться в ограничение на максимальное число, а в случае с рациональными числами ты получишь очень сильную просадку в производительности.

    Если тебе критически важна скорость, а точность - не так важна, то оставайся на IEEE754 и просто округляй то N значимых цифр (обычно больше 5 цифр мало кому нужно)
    Ответ написан
    13 комментариев
  • Может ли удаленный репозиторий быть сразу и рабочей директорией проекта?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Может. Вы со своим проектом можете работать в любом каталоге, в корне у вас основные файлы или вложены куда-то глубже - не имеет значения. Из вашего описания вообще не понятно что у вас не получается и что именно вы хотите сделать. Прочитайте ман сначала и просто следуйте по шагам инструкции как работать с гит: gitscm.org
    Для работы с репозиторием нескольким разработчикам вам надо настроить рабочий процесс - выдать разработчикам права, настроить организацию/проект в вашем гите, организовать документацию и прочее. Типовой рабочий процесс - github flow. Для работы приложения на сервере настраиваются CI/CD процессы для автоматизации доставки и развёртывания проекта на сервере. Это тоже настраивается отдельно. В разных сервисах этот процесс отличается в деталях, но основные приципы везде одинаковые. Вам просто следует открыть руководство пользователя и прочитать о том, как сделать то, что вы хотите сделать.
    Ответ написан
    Комментировать
  • Как составить SQLite Dockerfile?

    @dronmaxman
    VoIP Administrator
    FROM alpine
    RUN apk add --no-cache sqlite
    WORKDIR /db
    COPY . .
    RUN sqlite3 /db/example.db "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT NOT NULL, age INTEGER);"
    CMD ["sqlite3", "/db/example.db"]
    Ответ написан
    Комментировать
  • Можно ли оживить флешку?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Брак или подделка - вернуть в магазин.
    Ответ написан
    Комментировать