Ответы пользователя по тегу Linux
  • Как получить доступ к локальной сети извне если есть белый IP?

    @rPman
    пробрасываешь порт ssh на роутере (скорее всего называется nat - виртуальные сервера) до твоего linux сервера, все остальное можешь делать средствами ssh port forwarding (работает в обе стороны), мало того многие инструменты управления и удаленного администрирования в linux подразумевают что могут подключаться через ssh подключение.

    в довесок у ssh есть штатный vpn
    Ответ написан
    Комментировать
  • Какую систему использовать для бекапов lunix с s3?

    @rPman
    наведете на решение?

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

    К примеру системный раздел windows можно адекватно бакапить только средствами копирования разделов (так как для их работу необходимо корректно восстанавливать не только acl но и hard- и symbolic- links (подскажите мне если знаете такой что сможет работать с бакапом на уровне файлов, кроме штатного от майкрософта но управляемость бакапами там нулевая, плюс почти никакой дедупликации, ну их нафиг)

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

    Но вот в частных случаях, когда интегратору/админу известна система от и до, возможно построение своих скриптов автоматизации и формировании отчетов о тестировании среды.

    По делу, одно время я пользовался в windows bat скриптами (готовые были написаны для win7 и уже не работают в win10, но идея там простая, все переписывается легко) когда на целевом диске создавался снапшот, затем с помощью rsync создавалась полная копия указанных каталогов, но с указанием предыдущей версии реплики, для неизменившихся файлов утилита создавала hardlink на прошлую копию, в результате получается идеальная инкрементальная копия, с которой можно работать как с обычными файлами (не требуется извлечение из сжатых архивов и последовательное принятие патчей инкрементации), причем на любую сохраненную дату, при необходимости можно легко удалить старую или даже любую реплику, благодаря корректной обработки hardlink файловой системой.

    Сам диск можно подключать по сети, на выбор либо средствами windows (.vhd файлы) либо iscsi
    Сжатие - поддерживается, но только слабое ntfs.

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

    Второй недостаток - год ежедневных копий с даже средним количеством файлов в итоговом разделе создаст миллиарды hardlink (лимит на количество hardlink на один файл - 1024, это примерно три года ежедневных бакапов), ну и к примеру, проверка такого диска с помощью chkdsk может потребовать дни и недели.
    ----------------------------------------

    Другой подход, если требуется создание копий общей шары на сервере (linux само собой), выбираешь cow файловые системы, с поддержкой онлайн снапшотов - btrfs/zfs. Каждый день или даже каждый час создаешь снапшот и хранишь так долго как это необходимо, удаляя не нужные тогда когда пожелаешь (операция моментальная, не зависит от объема данных). Это защитит данные от проблем на клиентской стороне, например ошибочные удаления или вирусы-шифровальщики и т.п.

    Чтобы защитить данные от проблем с серверным железом, то к примеру можно использовать фишку btrfs incremental backup, когда разницу между двумя указанными снапшотами (предыдущим и текущим) отсылают на удаленный сервер, упаковав его в один файл (точнее поток). т.е. эти патчи можно хранить и применять на заранее сохраненное стартовое состояние файловой системы. Само собой удаленный сервер так же должен хранить снапшоты (кстати а патчи можно хранить на третьем сервере).

    Т.е. в результате те же самые бонусы что и в первом подходе, но требует полноценный бакап удаленный сервер, принимающий и разворачивающий патчи снапшотов.
    Сжатие так же поддерживается, причем можно использовать лучшую - zstd

    В обоих случаях советую создание автоматических отчетов по изменениям (не только общие но к примеру по пользователям, сколько изменений какие пользователи сделали, в графиках), т.е. даже информация о размере снапшота более чем полезна, если нормально у вас еженедельно получать дифы размером X гигабайт, а сегодня внезапно получаете 0 или 100X это уже повод забеспокоиться.
    ----------------------------------------

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

    @rPman
    архитектура должна совпадать
    ты установил x86-64 а в настройках виртуальной машины выбрал 32-битную i686
    иди в настройки 'общие' -> 'версия' и меняй

    если хост система у тебя сама 32-битная, и очень очень надо, то остается только софтварная виртуализация qemu, будет медленней раз в 10 (операционка вообще может минут 15 запускаться)
    Ответ написан
    1 комментарий
  • Какие уникальные параметры системы есть в linux?

    @rPman
    mac адрес сетевой карты
    исторически он был создан именно для этого
    Ответ написан
    5 комментариев
  • Как исправить ошибки php mysql?

    @rPman
    нужно смотреть что там за сообщение об ошибке, вполне возможно /usr/lib/php/20200930/mysqli.so файл нулевой длины и его достаточно будет удалить вручную

    удаляй все что хоть как то конфликтует, включая их зависимости
    apt purge ...

    если что можно удалять вручную с помощью dpkg игнорируя зависимости но в конце концов порядок нужно восстановить чтобы apt autoremove -f отработало и dpkg-reconfigure -a тоже

    p.s. почему у тебя такой странный путь?
    поэтому вместо debian я ставлю ubuntu, список и поддержка backports для кучи полезных приложений там заметно полнее и все за порядок удобнее
    Ответ написан
  • Почему возникает kernel panic (LinuxMint 20.2)?

    @rPman
    проверь память memtest
    обнови биос на материнке
    Ответ написан
    Комментировать
  • Андроид эмуляторы под убунту?

    @rPman
    не поддерживает нужные мне приложения в гугл сторе - Your device isn't compatible with this version
    изучи подробнее, покопавшись в apk, что именно не нравится

    вполне возможно не подходит архитектура процессора?
    или к примеру разработчики не хотят чтобы их приложение работало в эмуляторе?
    Ответ написан
  • Лучший ssh клиент с подсказкой и сохранением команд?

    @rPman
    в корне неверный подход использования инструментов:
    * чтобы не вводить пароли, нужно настраивать беспарольную аутентификацию по ключу
    * для длинных доменов можно настроить алиасы по их адресу в /etc/hosts либо создать локально скрипты или алиасы bash на всю команду подключения (к примеру если часто нужно еще и нестандартный порт указывать)
    * автодополнение команд выполняется не на твоей машине, а на удаленной, штатным инструментом bash completion, так же можно использовать другие шелы типа zsh, 'все в голос' считают его удобнее, но нужно привыкать и настраивать.

    про автодополнение по истории команд, смотри этот вариант
    Ответ написан
    2 комментария
  • Это слабые параметры ноута? Не тянет Mint xfce?

    @rPman
    диск Hdd сменил на ssd?

    современные браузеры уже фактически как операционная система, монструозные и тяжеловесные, первый запуск может легко потребовать сотни мегабайт с диска прочитать, а случайное чтение hdd от силы 10мб/сек

    если ютуб тормозит то уже странно, процессор конечно не фонтан, но я открывал на еще более слабой машине 2013г современный браузер (при наличии ssd) - все неплохо работает (и Hd720 отлично грузит)

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

    upd: охх, мой косяк, я гуглил модель ноута и там выпал другой проц.
    железо топиккастера Single Thread Rating: 327 (современная норма выше 1000)
    однозначно процессор нереально слабый

    p.s. совет автору вопроса - загружай ролики с помощью youtube-dl или соответствующих плагинов к браузеру, и смотри плеером mpv, я так на eeepc900 делал (настроил горячие кнопки на запуск моего скрипта, который брал ссылку из буфера и запускал просмотр)
    Ответ написан
  • Можно ли восстановить бекап MBR на GPT?

    @rPman
    hint000 абсолютно прав

    От себя добавлю, для загрузочного раздела в gpt
    * если используется legacy загрузка ( с помощью mbr boot sector), необходимо создать 1мб раздел biosboot (его содержимое заполнит grub автоматически когда будешь делать grub-setup)

    * если используется uefi загрузка, то необходимо создать ~128мб раздел efiboot, формат fat, его заполнит grub-setup автоматически (если текущая загрузка linux совершена с помощью efi меню, важный момент, иначе доступа efimgr к таблице разделов в биосе будет недоступна)

    В обоих случаях раздел /boot не обязателен, если корневая система простая (не размещена на raid, lvm или не зашифрована и прочие сложные конфиги) и отформатирована в известную grub-у файловую систему ext/btrfs/...

    p.s. загрузочные разделы должны располагаться примерно с начала диска, до 2тб, иначе могут быть проблемы, даже у uefi. По этой причине /boot раздел все же создают, чтобы гарантировать что загрузочные файлы не уедут за эту границу

    восстанавливать бакап можно просто развернув tar, при условии что структура файловой системы смонтирована как надо (бывает что создавая бакап в него помещают только корневую систему без /boot /efi и прочего, тогда пофиг)

    после восстановления grub-setup и grub-update обязательны (при работе с cdrom и монтировании корня не в корень, указывай его с помощью --root-directory

    grub-setup (точнее он запускает efibootmgr) обязателен для uefi загрузки, он прописывает ссылку на диск в биосе в меню (спасибо майкрософту за этот геморой в стандарте), для загрузки с флешек (removable devices) это не требуется.

    p.p.s. не забудь поправить /etc/fstab, если разделы там прописаны по uuid, создав новые разделы, им выдаются новые идентификаторы
    Ответ написан
    Комментировать
  • Как хранить и управлять большим количеством скриптов под разные задачи?

    @rPman
    Что значит управлять?

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

    На практике этой утилитой не пользовался, так как имея на руках красиво поименованные скрипты их можно и вручную в текстовом редакторе закидывать (я пользуюсь far, там удобно искать и выделять файлы по подстроке, копировать в буфер выделенные имена, и вставлять прямо построчным списком в виде текста).

    Извини, приложения не сохранилось, но оно реально простое, за вечер лениво пишется
    Ответ написан
    2 комментария
  • Формат загрузочной флешки UDF, другой не создаётся. Что делать?

    @rPman
    Если биос поддерживает UEFI загрузку то достаточно любыми средствами отформатировать первый раздел на флешке (на самом деле от биосов зависит, могут пересканировать их все) в fat32 и вручную скопировать содержимое iso диска (открывается любым архиватором или смонтировав ее с помощью loop) с сохранением структуры каталогов.
    Ответ написан
    1 комментарий
  • Как увеличить место на диске после резервного копирования?

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

    Существует куча утилит, например partclone (поддерживает все популярные файловые системы в т.ч. ntfs) которая умеет очень эффективно копировать содержимое раздела, не затрагивая его логические объекты (файлы, аттрибуты, права доступа и т.п.) но при этом пропуская свободную область, умеет копировать как на раздел большего размера так и уменьшать размер, если свободное место на исходном диске это позволяет (к сожалению не всегда бывает получается подобное, если область mft область попадет неудачно, предельный размер уменьшения может оказаться не равен занятому месту на диске, к примеру раздел в 500гб с занятыми 100гб я смог уменьшить только до примерно 200гб, исправить это никак нельзя, только backup format restore)

    Есть отличная утилита - clonezilla, штатная для большинства linux, в т.ч. имеет загрузочные образы (основана на partclone) которая с простыми и понятными мастерами позволяет вытворять очень много полезных вещей с дисками.
    Ответ написан
    1 комментарий
  • Как исправить потерю пакетов при подключении напрямую к железке?

    @rPman
    Смотрю на характеристики, у нее 2 сетевых порта, один гигабитный другой 100мбит, вдруг при подключении напрямую вы воткнули в 100мбит порт а он почему то пожелал работать в режиме гигабита (хотя тогда вообще ничего бы не работало)

    Так же, проверьте, в каком режиме подключается железка, вдруг при подключении через маршрутизатор она встает в 100мбит или полудуплекс, а при подключении напрямую пытается на максимуме скорости подключаться и скорости у железа не хватает обработать или еще какой косяк.
    Ответ написан
    5 комментариев
  • Можно ли работать с шинами ПК на физическом уровне?

    @rPman
    Вся перефирия уже давно работает через логические прослойки. Напрямую к контактам наверное только к LPT есть доступ, и то там прослоек дофига, просто для совместимости устройство такое в операционной системе есть (в windows например пиши/читай прямо в lpt0 файл).

    напрямую к контактам data PCI, в теории, там напрямую доступны, спецификации открытые (почти), покупай доступ, читай изучай..

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

    @rPman
    В режиме UEFI на флешку, отформатрованную FAT32 достаточно скопировать содержимое ISO образа, и все должно работать, так как биос будет искать в корне флешки каталог EFI итам boot...

    Но вот в legacy режиме, когда нужен бут сектор, могут возникнуть нюансы. Например на старых машинах, у меня не удавалось загрузитьс я с флешек объемом больше 8Гб. Так же могут быть проблемы, если флешка подключается через картридер (например это карта памяти).

    В особых случаях (когда в биосе есть пункт меню что то типа загрузиться с usb cdrom) рабочую загрузочную флешку удавалось создать простым посекторным копированием образа с помощью dd, так что пробуй.

    p.s. можно загрузиться в установщик windows, загрузившись сначала в linux grub (ты говоришь проблем с linux нет), нажимаешь C чтобы войти в командный режим grub
    ls (hd0,1)/

    покажет содержимое диска 0 раздела 1, перебирая цифры найди раздел флешки, где развернут установщик windows
    set root=(hd0,1)
    chainloader +1
    boot


    p.p.s. можно первый этап установки, до первой перезагрузки, провести в виртуальной машине, подключив физический диск как диск виртуалки, это 100% работало всегда и позволяет вообще не делать загрузочный диск windows, т.е. хватит iso образа
    Ответ написан
    Комментировать
  • Как подключится к wifi через терминал?

    @rPman
    Штатный NetworkManager, кажется устанавливается во всех подвидах ubuntu, имеет консольный интерфейс nmcli.
    Первый же гайд по запросу в гугл вот
    Ответ написан
    Комментировать
  • Выход из гибернации на другом железе?

    @rPman
    Такое возможно только при использовании систем виртуализации типа virtualbox/kvm/qemu/vmware (у openvz/lxc/.. кстати миграция поддерживается но требований к железу будет больше), ценой потери примерно 10%+- производительности CPU (в некоторых случаях работа с диском на виртуальной машине будет заметно быстрее), т.е. когда за симулированную прослойку с оборудованием будет отвечать виртуальная машина. При использовании аппаратной виртуализации, смена архитектуры процессора может помешать, с другой стороны, при использовании полной эмуляции процессора, потери производительности будут уже 10-кратными.

    Читай документацию к системам виртуализации по live migration.

    В теории, если обе машины имеют идентичный конфиг, то при большой доле везения должно все сработать, речь идет о материнской плате, процессоре и периферии типа видеокарты. Любая извлекаемая периферия типа мышек, sata дисков и прочего, в теории, не помешает (возможно размещение своп-файла и hibernate на диске, который поменялся, будет фатальным для ос).
    Ответ написан
    Комментировать
  • Линукс. Это взлом? Тогда как?

    @rPman
    'А был ли мальчик', точно был взлом?

    Вариант 'через плечо' на экран посмотрел не подходит? человек не знакомый, это мог просто прохожий в окно заглянул.

    Еще вариант, тебе в месседженере кинули ссылку на ютуб ролик, с вероятностью 99% ты его бы посмотрел, особенно если подгадать с темой (общались по работе), позже можно с гарантией сказать что в это время ты смотрел этот ролик.

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

    Поэтому нужно больше информации, к примеру как ты смотрел этот ролик как пришел к нему? поиском в гугле/ютубе или со стороннего сайта? или в месседженере ссылку кинули?
    Ответ написан