Задать вопрос
Ответы пользователя по тегу Linux
  • Как исправить раздел LVM - отсутствует верная таблица разделов?

    @rPman
    это нормально, fdisk -l перебирает все блочные устройства, а lvm создает симлинки на созданные разделы, которые выглядят как блочные.
    Естественно таблица разделов не должна присутствовать на самих разделах
    Ответ написан
    2 комментария
  • Как создать свой образ Linux для размноживания на других АРМ?

    @rPman
    Настраиваешь pxe загрузчик по сети, прописываешь в default минимальный образ системы (я создавал такие с помощью debootstrap) с единственным скриптом в автозапуске (служба или в сохраненным для совместимости /etc/init.d) который отформатирует диск с помощью parted и копированием, либо восстановит образ, созданный заранее с помощью той же clonezilla (она показывает команду, с помощью которой идет восстановление), в общем на выбор, он же добавит специфические для машин моменты (например на основе mac адреса сетевой карты)

    Настоятельно рекомендую использовать этот подход (или тот что с помощью livecd) только для однократного первичного распространения машин. Дальнейшая поддержка должна осуществляться уже не копированием оригинала, а обновлением, на основе скриптов того же ansible.
    Ответ написан
    Комментировать
  • Почему в наутилусе папка распаковывается за 1 секунду, а в Windows 1 минуту?

    @rPman
    Потому что в windows файловая система с настройками по умолчанию работает ЗНАЧИТЕЛЬНО хуже чем в linux, да и на синтетике даже в идеальных условиях там заметный процент разницы. И да, я знаю что wsl работает поверх виндового ntfs, даже тут это быстрее (в майкрософт поняли что если они не сделают wsl то они окончательно потеряют разработчиков, а они определяют в конечном счете сколько будет у ОС пользователей, поэтому на удивление сделали это хорошо)

    А дальше могу гадать - на windows включен штатный антивирусник, он КАЖДЫЙ создаваемый файл сначала проверит и только потом позволит завершить его запись и перейти к следующему.
    Ответ написан
    6 комментариев
  • Могу ли я перенести RAID массив на другую ОС с сохранением файлов?

    @rPman
    Технически это debian linux, и поддержка mdadm в нем есть, но вопрос, как именно работает в нем GUI, требует ли он чтобы массив так же создавался из интерфейса.

    Настоятельно рекомендую сначала установить тестовый вариант OpenMediaVault куда-нибудь на виртуальную машину, создать в другой машине (просто загрузившись с livecd) тестовый массив (сделай диски по 100мб) и проверь как он отреагирует
    Ответ написан
    Комментировать
  • Хочу заняться графической оболочкой для линукс. Есть ли какая-нибудь база дистрибутива?

    @rPman
    Есть два пути, один рекомендует тот кто с крылышками, другой - кто с рожками. Один путь - выбрать язык программирования (например c++ или python), выбрать фреймворк (например qt или gtk), и ваять приложение, затем оформить его в виде deb/rpm пакета (где то тут или чуть чуть раньше, когда выбираешь фреймворк и версии библиотек выбираешь ОС, deb и rm это одни из самых популярных форматов дистрибуции приложений, например debian/ubuntu/minnt - это deb) и затем оформить это в виде iso или аналогов.

    Второй путь chromium based приложение, какой-нибудь electron (соответственно писать на javascript и html), из плюсов, на халяву работа с мультимедиа, минусы - высокие требования к железу а точнее к оперативке (особенно когда у тебя 256Гб-512Гб ram, минипк в формфакторе флешка). Многие почему то выбирают этот путь но он чреват сложной поддержкой в долгую (точнее не он а типовой способ разработки на nodejs когда народ простейшее приложение собирает из ТЫСЯЧ пакетов в зависимостях, тянуть это потом нереал).

    Способ создания iso лучше гуглить, доступно от штатных инструментов linux (вручную собирать и следить за обновлениями) до готовых инструментов, вот пощелкай варианты ответа в этом вопросе как пример.
    Ответ написан
    1 комментарий
  • Linux на SSD рядом с Win10, на внешний HDD или виртуализация?

    @rPman
    WSL, виртуализация это хороший вариант, но почти полностью убивает возможность использования kubernetis, так как он использует в т.ч. виртуализацию (но в теории можно настроить для работы внутри виртуалки) для своей работы. docker-у виртуализация не требуется поэтому он нормально работает внутри любых виртуалок

    Я бы настоятельно рекомендовал сначала попробовать поработать в виртуальной машине а затем, попробовать установить на физическое железо, это тоже этап обучения, проблемы с которыми сталкиваются (точнее которые создает windows) тоже позволяют понять как это работает. Одним из экстремальных способов можно выбрать установку gentoo, строго следуя документации, шаг за шагом, разбираясь что именно делает каждая команда, будет видно из чего состоит процесс установки и загрузки linux, после этого квеста такие мелочи как перенос работающей системы на другой раздел с форматированием и сменой файловой системы прямо из работающей системы будет легким делом (был такой квест, нужно было сменить файловую систему на btrfs с поддержкой сжатия но vps провайдер не давал нормальной возможности загрузиться в recovery, так вот сначала ставилась система в swap раздел, настраивалась загрузка с него, затем перезагрузка, резервное копирование, форматирование и восстановление...)

    linux менее требовательный к тому, как именно он загружается, в отличии от windows, загрузчик можно устновить куда угодно, хоть на флешку, хоть cdrom, хоть в сети (pxe boot) хоть прописать прямо в efi строке (uefi биосы умеют работать с файловыми системами fat32/ntfs/isofs и возможно linux ext3) ну а само физическое размещение разделов linux и тем более может быть каким угодно (был момент ubuntu можно было ставить внутри файла-контейнера, который лежит на windows ntfs диске, потом это из установщика убрали но физическая возможность есть)

    В зависимости от выбранного способа загрузки в биосе и типа разделов на диске, у тебя должен быть раздел biosboot (если выбрать legacy mbr или называют csm и gpt таблица разделов) или efiboot (если выбран efi или еще называют secure boot или csm), кстати ее можно было бы совместить с виндовым загрузочным разделом но я настоятельно советую держать linux подальше от windows, были случаи когда очередным обновлением майкрософт затирала загрузчик, ломая linux загрузку.
    Ответ написан
    Комментировать
  • Astra Linux - как избавиться от шума в HDD?

    @rPman
    Якобы проблема в том, что разбивка жёсткого диска неверная, и там надо создать какие-то разделы для того чтобы hdd справлялся, а в данной ситуации он не вывозит и какая-либо деталь там западает или что-то в этом роде.
    либо вас обманули либо вы не так что то поняли или не договрили.

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

    p.s. первое же видео со звуками типовых поломок hdd от гугла
    Ответ написан
    Комментировать
  • Как распарсить вывод ifconfig/ip, чтобы показывало имя интерфейса, отвечающее за беспроводную сеть?

    @rPman
    зачем так сложно? читаешь /proc/net/wireless и получаешь начиная с третьей строки список wireless интерфейсов, типа так:
    Inter-| sta-|   Quality        |   Discarded packets               | Missed | WE
     face | tus | link level noise |  nwid  crypt   frag  retry   misc | beacon | 22
    wlan0: 0000   70.  -50   -256        0      0      0      0    325        0
    Ответ написан
    Комментировать
  • Повысит ли вынос ОС на отдельный SSD диск скорость работы стриминга на сервере?

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

    Я бы разместил ОС на отдельном диске (не обязательно ssd), это слегка поможет.

    От жестких дисков нужно избавляться, они подходят только там где нужно хранить много а доступ редкий, а у вас я так понимаю диски на 100% постоянно? Если вам на только на чтение (пишем один раз читаем много), а сервер ваш, можно приобрести максимально дешевые десктопные ssd и держать на них копию данных с hdd, тогда за относительно небольшие траты можно решить проблему низкой скорости (повторяю - держать копию на hdd так как дешевые десктопные могут тупо из-за контроллера помереть).
    Ответ написан
    Комментировать
  • [ВОПРОС РЕШЕН] Как сделать так чтобы можно было выбирать загружаемую систему?

    @rPman
    За загрузку linux обычно отвечает grub (можно и без него, например uefi умеет, но не советую новичкам туда лезть).
    В зависимости от выбранного типа загрузки в bios - legacy mbr или efi, настройки соответственно разнятся.

    1. в mbr режиме на диске должен быть записан загрузчик (он размещается в dos разделах, в бут секторе и последующих за ним секторах, в gpt разделах для загрузчика выделяют соответствующий раздел 1мб. biosboot)
    2. в efi режиме загрузчик записывается в efi boot раздел, можно использовать тот же раздел что и у windows (тогда загрузкой будет он заведовать, не рекомендую новичкам) либо создать второй efoboot раздел на втором диске, и при загрузке выбирать в биосе второй диск как загрузочный
    Это я написал к тому, чтобы в зависимости от типа загрузки, на втором диске должны быть соответствующие разделы (biosboot или efiboot)

    В обоих случаях все за пользователя делает grub-install /dev/sdX где sdX имя диска (sda - первый, sdb - второй,... советую внимательно проверять, потому как порядок может отличаться от того что в windows). Но для этого нужно загрузиться в linux, если же загрузка прооисходит с livrcd/liveusb загрузочного носителя, то тогда команда будет grub-install /dev/sdX --root-directory=/mnt где /mnt это каталог, в который необходимо смонтировать вручную установленный на втором диске linux (если к примеру там два раздела / и /boot то их нужно смонтировать соответственно в /mnt/ и /mnt/boot). grub автоматически найдет efi раздел и смонтирует его, мало того он автоматически найдет windows и добавит его в grub menu чтобы из linux загрузчика можно было бы загрузить windows... Если возникнет путаница и grub найдет виндовый efi, то можно смонтировать его вручную перед запуском grub-setup
    Ответ написан
    2 комментария
  • Есть ли какие-то подводные камни в замене дистрибутива linux с сохранением хомяка?

    @rPman
    И да и нет.

    Помним, что по всем заветам windows, python зависимости, устанавливаемые с помощью pip или в какие-нибудь питон-песочницы, складываются в пользовательский каталог, и работа всего этого хлама никак не гарантируется даже в пределах одного дистрибутива (достаточно установить пару приложений с противоричивыми зависимостями) а уж при смене версий системных библиотек и подавно.

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

    Я бы не надеялся что все произойдет 'как по маслу' и главное, остается огромное количество мусора в .cache, .local и т.п. там и так гигабайтами все копится и копится. Я буквально недавно переносил конфиги руками, сделав резервную копию каталога и создав новый профиль... там много всякого лишнего, и удаляемые приложения за собой ничего не чистят.
    Ответ написан
    2 комментария
  • Как создать виртуальную сеть на уровне IP?

    @rPman
    У virtualbox есть понятие internal network, когда внутренняя сеть никак в хост систему не выходит и остается внутри (можно создать несколько таких сетей), для подключения к этой сети одну из виртуальных машин в этой внутренней сети можно выбрать роутером, добавив ей интерфейс, связанный бриджем уже с хостовым.

    Про qemu. Сам я это не пробовал но если я верно понимаю, VDE это то что нужно (весь этот функционал плюс еще куча всего). Как я понимаю VDE в qemu уже включен. Например можно объединить снаружи виртуалки через сокет (ключи -unix control-socket и vde-plug [-p port] [socketname] ), в т.ч. с соседней на основе другой технологии (в документации речь идет про User Mode Linux)
    Ответ написан
    Комментировать
  • Общая папка для большего кол-ва пользователей, как сделать?

    @rPman
    Совет, если задача не стоит в оперативном (в те же секунду) доступен к удаленным файлами, а используется как основа для синхронизации или банальной доставки файлов на/от сервер, то возможно smb не самый оптимальный и удобный способ?

    Очень приятно пользоваться syncting, популярное opensource приложение, синхронизирует выбранный каталог внутри кластера, построенного поверх интернета или локальной сети, очень эффективно по сетевому трафику по всех смыслах без использования стороннего сервера.
    Ответ написан
    Комментировать
  • Как забрать с раздела 500ГБ и передать их другому разделу?

    @rPman
    Самое надежное backup -> format -> restore.

    А вообще, любые манипуляции с разделами умеет штатный gparted/kde partition manager, т.е. уменьшаешь, двигаешь, расширяешь. Совет, перед движением раздела, уменьшаешь его до максимально доступного размера, тогда перемещение будет быстрее (иначе он будет копировать все данные, включая пустые, но это было давно, возможно сейчас он умнее и свободное место не копирует).

    И да, все действия придется делать при выключенной машине и размонтированными дисками.

    Стадию backup настоятельно рекомендую делать в любом случае!
    Ответ написан
    2 комментария
  • Как правильно замедлить трафик на Raspberry?

    @rPman
    можно перевести сетевую карту в более медленное соединение, скорость будет на аппаратном уровне занижена
    ethtool enp3s0 -s autoneg on speed 1000 duplex full

    вместо enp3s0 поставь нужное сетевое устройство (список ip ad), вместо 1000 подставь 10 станет 10мбит
    список доступных режимов:
    ethtool enp3s0
    Ответ написан
    2 комментария
  • Как создать удаленный виртуальный дисплей большого разрешения и работать через RustDesk?

    @rPman
    Использовать xvfb (X virtual frame buffer). Устанавливаешь одноименный пакет, настраиваешь его запуск, используешь. Таких серверов может быть запущено несколько, но rustdesk может этого не ожидать (я сильно не копал но обычно если запустить rustdesk приложение с установленным DESKTOP на нужную тебе сессию, для нее он и запустится)

    p.s. linux + xvfb + rustdesk это худший способ настройки удаленного подключения
    Рекомендую x2go, сервер все сам настроит, а клиенты есть по до все. Работает на порядок эффективнее (плавнее и менее требовательный к сетевому каналу).
    Для игр не подходит.
    Ответ написан
    Комментировать
  • Установка windows 7 рядом с linux?

    @rPman
    Есть два режиме загрузки, старый mbr legacy, который будет работать и с dos разделами (dos тут то самое название операционной системы из 80-90-ых, это чтобы понимать с каким старьем имеешь дело, как минимум там проблемы с дисками больше 2тб) и с gpt и 'новый' - efi, который требует чтобы разделы были типа gpt (если у тебя есть понятие логический раздел - то у тебя dos).

    Если используешь legacy mbr - настоятельно рекомендую сначала установить windows, а затем настроить загрузку grub linux, причем желательно с другого устройства (речь идет только о загрузчике grub, для которого требуется 1 мб места, причем это может быть хоть флешка или карта памяти, и даже cdrom или загрузка по сети pxe), в этом случае никаких проблем и конфликтов не будет. Существует способ установить оба загрузчика на один физический диск (grub умеет запускать windows) но сам windows может по своей прихоти (это было и не раз) тупо удалять загрузчик linux и перенастраивать все на себя.

    Если используется efi - в этом случае раздел efi boot может быть общим как для linux так и для windows, мало того есть возможность настроить efi загрузку прямо средствами биоса, прописав месторасположение ядра и initramfs linux прямо там (т.е. не нужно загрузочную область создавать, но она и так и так нужна для windows). Опять тут рекомендуется сначала настроить windows, а затем вручную прописать с помощью efiboot утилит в linux как грузиться. Обычно штатный установщик с gui это не сделает, хотя я давно не смотрел... Я привык что чтобы не было проблем от windows, лучше посадить ее на отдельное устройство и никак не давать ей ломать что то в linux.

    Чтобы в legacy boot можно было загрузиться с gpt диска, нужно на нем создавать 1мб bios boot раздел (туда будет установлен загрузчик grub), в dos же разделах эта область уже есть по умолчанию в начале диска.
    Минимальные разбиения диска в зависимости от типа загрузки и типа таблицы разделов:
    legacy mbr + dos:
    * обязательно primary windows boot
    * обязательно primary/logical windows
    * не обязательно primary linux boot
    * обязательно primary/logical linux (на самом деле linux можно разместить даже внутри файла в файловой системе windows но это извращение и чуть медленнее)

    legacy mbr + gpt:
    * обязательно biosboot
    * обязательно windows boot
    * не обязательно linux boot
    * обязательно windows
    * обязательно linux

    efi + gpt:
    * обязательно efi boot (он будет общий windows + linux)
    * обязательно windows
    * не обязательно linux boot
    * обязательно linux
    p.s. dos разделы штатными средствами windows так и linux преобразуются в gpt

    Настоятельно рекомендую сделать резервную копию всего диска, не жалейте денег и времени на это, потом себя вспомните хорошим словом.
    Ответ написан
    Комментировать
  • Как реализовать взаимодействие виртуальной ОС с переферией для прошивки?

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

    Причина - нет адекватной поддержки проброса устройств, чаще всего она ограничена либо работает только при опредленных условиях и по разному на разных устройствах (в смысле компьютер), зависит от производителя процессора intel/amd, возможностей материнки и кучи других мелких нюансов (например десктопные материнки чаще всего ограничивают функционал в биосе). С момента активного использованиея EFI биосов, это еще сильнее усложнилось.

    * Итак - проброс всего pci(-e) устройства вместе с контроллерами и соответственно устройствами, через него подключаемыми. Это самый удобный с точки зрения использования способ (потому как после запуска виртуальной машины контроллер уже доступен внутри и чаще всего без дополнительных движений видит устройство 'как родное'.

    В linux мне известно что это поддерживает только qemu/kvm и поддержка требует соответствующие аппаратные возможности (IOMMU/VT-d плюс в принципе аппаратная виртуализация), даже некоторые gpu могут быть так проброшены внутрь виртуалки, производители видеокарт об этом знают и старательно ставят палки в колеса, так как такой функционал они хотят чтобы пользователи использовали только с их 10х дороже серверными вариантами видеокарт). Требует хорошего прогружения в настройки linux, хотя бы чтобы исключить инициализацию устройство самим linux (некоторые устройства не любят включаться два раза подряд без железной перезагрузки).

    * Промежуточный вариант - проброс USB устройств. Это установка в гостевой операционной системе специального драйвера USB который по сети или каким-либо другим способом (например virtualbox usb при установке проприетарного guest additions) транслирует весь трафик, включая управляющий с хост машины для выбранного usb устройства или контроллера. Точно помню отдельные приложения для трансляции usb по сети между машинами даже без виртуализации, но лично сам не пользовался, гуглите решения обычно платные.

    * Проброс 'блочного устройства' (читай дисков или отдельных разделов, и даже файлов), в этом случае гостевая ос не имеет доступа к самому устройству, но только к данным на нем. Формально это просто подключение диска из файла (потому как даже в windows диск и раздел это буквально файл, который можно открыть fopen по специальному имени). Разные системы виртуализации дают разный интерфейс и удобство. qemu с тем же libvirt - удобнее чем к примеру virtualbox (там нужно в консоли специальную 'скрытую' команду использовать)

    p.s. Проброс видеоускорителя - есть еще протоколы spice но на сколько я знаю они не достаточно функциональны
    Ну и проброс всякой мелочовки типа клавиатура, мышь, планшет/сенсорный экран, мониторы. Это все виртуальные сущности, реальное железо тут не пробрасывается.

    p.p.s. драйвера windows для гостевых систем с каждым разом становятся все хуже и хуже, если я верно понял палки в колеса вставляет сама майкрософт, например windows 10 адекватно в virtualbox уже не работает gpu без глюков (я обхожу большинство проблем только с помощью rdp подключения)
    Ответ написан
    Комментировать
  • Как регулировать громкость приложений через пульт?

    @rPman
    Готового решения боюсь не будет, но написать свое под свою задачу будет не сильно сложно.

    Покупаешь вторую клавиатуру (обычно usb, можно купить типа только расширенная цифровая), рисуешь на кнопках стрелки громкости или как то еще помечаешь какая кнопка громкость какого приложения будет менять, затем настраиваешь какого-нибудь демона на прослушивание клавиатуры (гугл говорит про actkbd (пример), но почему то в ubuntu по умолчанию его нет, возможно за эти годы его переименовали или функционал перенесли в другое приложение типа xbindkeys), как минимум в linux встроен функционал отвязывания клавиатуры от сессии (например с помощью loginctl я могу настроить отдельные рабочие места и привязать видеокарта+монитор+клавиатура каждому свое и соответственно просто отвязать дополнительную клавиатуру чтобы ее использовать в другом демоне или даже xhephir - это xserver в окне)

    А там настраиваешь на каждую кнопку вызов команды смены громкости с помощью pulse-audio
    pactl list
    получаешь список всего, работающих со звуком (рекомендую поизучать, можно ограничить вывод, задать формат вывода, в т.ч. json), устройства, источники, получатели,

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

    Дальше просто запускаешь команду
    # изменить громкость
    pactl set-sink-input-volume [sink number] [volume percent]
    # переключить mute
    pactl set-sink-input-mute [sink number] toggle
    # bashcompletion по tab автоматом предлагает sink номера уже работающих приложений, это поможет тебе разобраться что именно из вывода pactl list тебе нужно


    p.s. точно видел инструкции, как сменить код клавиши выбранной клавиатуры, тогда не придется отсоединять клавиатуру от сессии пользователя, она просто станет 'непонятной' для обычных приложений, которые будут игнорировать неизвестные коды, а ты в своем приложении будешь их отлавливать
    Ответ написан
    Комментировать
  • Как правильно распарсить логи с файла Linux?

    @rPman
    в filter укажи multiline, пример вот
    p.s. а читать и искать потом как ты собираешься по этим логам?
    Ответ написан