Задать вопрос
Ответы пользователя по тегу Linux
  • Почему после компиляции своего ядра linux его размер в разы больше?

    @rPman
    Если я верно помню, oldconfig берет конфигурацию из предыдущей сборки (а что там будет по умолчанию не совпадает с тем что выбрал мейнтейнер), т.е. из каталога с исходниками, а тебе, если ты хочешь подправить те что уже в дистрибутиве идут, то бери из /boot/config... (кстати помню для gentoo брал и копировал конфиг у ubuntu, решая таким образом проблемы с видео).

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

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

    p.s. ложка дегтя, за обновлениями придется следить самостоятельно, никакого функционала обычно в ОС для этого не встраивают
    Помню в gentoo для этого была утилита genkernel но ее все равно запускать вручную
    Ответ написан
  • Есть ли какая то программа для визуальной работы с html?

    @rPman
    Eclipse Web Developer Tools, установка прямо из eclipse - help - eclipse marketplace, в настройках General - WebBrowser включаешь Use Internal Web Browser. Чтобы его открыть, жмешь правую кнопку на .html файле в Project Explorer и выбираешь Open With - Web Browser, и при желании включаешь autorefresh в нем (слева от адресной строки рядом с кнопкой refresh меню, с галочкой autorefresh), будет обновлять браузер при сохранении файлов (проверь, корректно ли он считывает разные зависимости)

    Не уверен, на сколько хорошо это работает с отладкой nodejs/php по уму должно, но как я понимаю тебе статику нужно редактировать, тут все работает как надо.

    p.s. так красиво, как было реализовано в dreamviewer не будет

    p.p.s. Microsoft Visual Studio точно таскало с собой редактор html с браузером и кажется быстрым переходом по клику в браузере в редактор, собственно больше я такого нигде кроме dreamvewer этого не видел.
    Ответ написан
    Комментировать
  • Запуск приложений с другой OC на диске?

    @rPman
    запускать программы от Adobe на Linux, при этом запуская их в среде Windows (в другом разделе диска).
    Тоесть я сижу на Linux и прям в нем, не выходя, запускаю программы из Windows, установленной на этом же диске.
    да, это называется виртуализация (полная или с поддержкой аппаратного ускорения, включается в биосе).

    Штатно с linux идут два независимых проекта виртуализации x86 машины - qemu (с расширением kvm, это полнофункциональный вариант, включающих инструменты проброса оборудования внутрь виртуалки) и virtualbox (в поставке идет community версия, без поддержки проброса usb портов, иначе топать vitualbox.org)

    gui для qemu - virt-manager (libvirt)
    virtualbox идет со своим gui

    Недостатки, начиная с windows 10 поддержки даже ограниченного 3d ускорителя в windows guest больше нет (раньше с virtualbox шли драйвера и даже работало, на win7, с оговорками но cad приложения использовались). С kvm можно попытаться пробросить второй видеоускоритель внутрь виртуалки, с большими шансами это работает но потребуются танцы с бубном

    Есть лайфхак, не устанавливаешь в virtualbox поддержку 3d ускорителя (при установке дополнений отключаешь чекбоксик), но работаешь с windows через подключение rdp (рабочие windows разрешают 1 подключение для администраторского аккаунта). Некоторые программы так работают.

    p.s. wine - настоятельно рекоменудую использовать proton, а чтобы совсем не заморачиваться и делать все из gui, рекомендую lutris.net, приложение управляет разными версиями wine, обновляет, позволяет для разных приложений использовать разные версии ранера

    Еще раз просто не будет, вообще ожидать что в linux будут идти приложения, написанные для windows, когда как разработчики активно этому противодействуют, опрометчиво, но все же у многих получается.
    Ответ написан
    Комментировать
  • Какие легковесные дистрибутивы Linux еще остались?

    @rPman
    Не путай размер дистрибутива и размер установленной системы на диске

    Дистрибутив на установочном livecd/liveusb диске это минимально рабочий (или специально подобранный для типового пользователя) набор пакетов, чтобы минимизировать запросы к серверам репозитариев мейнтейнера, а вот их размер почти у любого дистрибутива - десятки гигабайт.

    Например одно время ubuntu server альтернативно можно было установить, загрузившись в примерно 100-200мб iso образ, с установщиком, который с удобным текстовым интерфейсом устанавливал абсолютно все пакеты по сети из репозитария..

    Место, занимаемое установленной ОС зависит не от выбора мейнтейнера, а от выбора софта, который тебе нужен. Что бы ты не выбрал, пример - если тебе нужно ставить пакеты для разработки нейронных сетей (tensorflow) на nvidia gpu, то качать тебе минимум 5 гигабайт всего что с этим связано (а то и больше).

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

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

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

    @rPman
    для неопытного пользователя никаких вариантов кроме debian based дистрибутивов типа xubuntu или лучше mint, вопрос даже не философии, а тупо больше пользовательская база и инструкции в интернете рассчитаны именно на ubuntu

    браузер firefox, он немного быстрее работает на слабых машинах (это хорошо что у тебя 4гб ram) чем chromium браузеры (но чистый chromium тоже неплохо бы поставить)

    для просмотра видео используй mpv, он умеет youtube и другие облачные видеохостинги (но навигация вручную в браузере), так же можно скачивать видео каким-нибудь yt-dlp (он тоже не только youtube)
    Ответ написан
    2 комментария
  • Какой и где взять дистрибутив Linux под старый ноутбук?

    @rPman
    Я на eeepc900 с 1гб ram ставил gentoo, минималистичный DE awesome (он рассчитан что все приложения запускаются в kiosk mode), потребление памяти было 54мб. Для сравнения ubuntu отъедал 300мб и браузеру уже не хватало.

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

    По уму тебе подойдет штатный xfce или openbox. Плеер mpv (он же умеет к примеру youtube и еще несколько десятков видеохостингов, но только просмотр, навигацию по сайту сам). С браузером беда, у тебя нет вариантов кроме firefox и chromium.
    Ответ написан
  • «sudo -i» работает, но выводит сообщение «bash: n: command not found...». Почему и как устранить?

    @rPman
    Еще смотри в ~/.profile (или ~/.bash_login если его нет), /etc/profile, /etc/bash.bashrc, файлы в /etc/profile.d/
    n это может быть node version manager, его удалил а в скриптах его вызов остался (зачем правда непонятно)
    Ответ написан
  • Кто сталкивался с сертифицированным ПО для скриншотов?

    @rPman
    на windows воспользуйся скриптом powershell (нагуглил первое попавшееся, не рповерял)
    на linux используй штатную утилиту imagemagic
    import -window root /path/filename.png
    еще проще, штатная утилита xwindow - xwd
    xwd -silent -root > /path/filename.xwd
    а там изображения в этом формате можно конвертировать уже со своей машины с помощью imagemagic

    написать скрипт из 2 строчек, который будет периодически делать скриншоты сумеешь?

    Ты не обязан сертифицировать свои же powershell/bat скрипты (хотя возможно в последние годы на windows свои скрипты powershell надо будет подписывать, меня вообще очень веселит, в сотне гигабайт мусора windows есть тысячи способов сделать нужное, но оно недоступно без документации, т.е. есть библиотеки где этот функционал реализован но ими воспользоваться не получится, они сохранены только для мифического легаси)
    Ответ написан
    Комментировать
  • Какую использовать утилиту на linux для создания waweform?

    @rPman
    sox (штатно идет с любым linux), если я верно понимаю ключ synth
    Ответ написан
  • Есть диски, бывшие частью массива, как начать использовать?

    @rPman
    ты отключи сначала mdadm, он же монопольно держит диск и не отдает (но тогда должны были бы быть ошибки!)
    cat /proc/mdstat
    выдаст что то типа

    Personalities : [raid1] [raid6] [raid5] [raid4]
    md1 : active raid1 sdb2[1] sda2[0]
    136448 blocks [2/2] [UU]

    md2 : active raid1 sdb3[1] sda3[0]
    129596288 blocks [2/2] [UU]

    md3 : active raid5 sdl1[9] sdk1[8] sdj1[7] sdi1[6] sdh1[5] sdg1[4] sdf1[3] sde1[2] sdd1[1] sdc1[0]
    1318680576 blocks level 5, 1024k chunk, algorithm 2 [10/10] [UUUUUUUUUU]

    md0 : active raid1 sdb1[1] sda1[0]
    16787776 blocks [2/2] [UU]

    unused devices:

    определяешь какой из массивов из твоихдисков попытался построиться (но не смог скорее всего) и делаешь ему stop
    mdadm --stop /dev/md1

    и вот тогда уже манипулируешь с дисками и стираешь их
    Ответ написан
    Комментировать
  • Как ввести ограничения для использования сети для windows10?

    @rPman
    Штатно задача решается с помощью cgroup, но настраивать сложно.
    Просто - виртуализация или паравиртуализация lxc (собственно это фактически gui к cgroup).

    Недостатки виртуализации - придется заморочиться с настройкой gui, обычная виртуализация будет работать но 3d ускоритель не будет доступен и можно встретить проблемы даже с проигрыванием видео выше fullhd@30

    Все это есть в любых linux, почему бы и не ubuntu (lxc доставляется вручную в libvirt, создание файловой системы виртуальной машины тоже вручную, но зато максимальная производительность и почти ноль накладных расходов).

    Кстати snap предлагает так же систему контейнеризации приложений, основанную на cgroup, т.е. установив приложение из snap оно уже сидит в своей песочнице, и ей нужно выдавать соответствующие права для доступа ко всему, от принтера до файлов на диске (рабочая директория пользователя доступна но все иное кроме root нет, т.е. нет флешек, нет смонтированных дисков и т.п.). В ubuntu firefox например уже поставляется в snap.
    p.s. лично мне не нравится, но скорее всего я не умею его настраивать

    Для доступа к gui из lxc песочницы есть 2 способа, настроить доступ к xserver (при использовании xubuntu например) или использовать ssh с ключом -X, в этом случае песочница воспринимается как удаленная машина и трафик gui шифруется и сжимается как бы по сети (правда localhost)

    Главный принцип - размести опасные приложения внутрь песочницы. К сожалению игры это отдельная проблема и правильно их размещать на другой физической машине. Настройка сети в данном сценарии это просто не давать доступ к ней всем кроме избранных, на уровне виртуальной машины/песочницы достаточно не прописать или выдать неверный шлюз по умолчанию. Обновлять такие машины придется вручную (например настроив свой сервер обновлений, либо временно включать для них интернет)
    Ответ написан
    Комментировать
  • Как перенести базу данных из СУБД Postgresql в MySQL?

    @rPman
    Если ты программист, то написать программу в 10 строчек, копирующую содержимое заданной таблицы из одной базы в другую для тебя не должно быть проблемой. Как минимум на php с использованием PDO проблем не возникнет.

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

    p.s. экспортировать и импортировать данные в своем формате умеют некоторые универсальные GUI для баз данных, например та же WorkBench, там тоже можно сделать экспорт отдельно в виде insert-ов и отдельно структуру.

    p.p.s. ну перенесли вы данные, но данные это самое легкое, запросы тоже переносить нужно, а вот тут совместимость может быть слабая.
    Ответ написан
    Комментировать
  • Как настроить инкрементное резервное копирование папки linux?

    @rPman
    rsync -avh --link-dest=previous_backup/ source_directory/ new_backup_directory/

    добавить ключей по вкусу

    Эта команда будет делать резервную копию source_directory/ копируя файлы в new_backup_directory/ проверяя параллельно предыдущую копию в previous_backup/ и пропуская копирование не изменившихся файлов, создавая для них символические/жесткие ссылки.

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

    По сети чтобы все работало рекомендуется установить rsync демона (как минимум создавать жесткие ссылки через всякие nfs оно не умеет но можно проверить ssh scp/sftp)

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

    p.s. еще есть вариант, кардинально иной - использовать файловую систему btrfs, там есть возможность получать моментально в виде файла разницу между двумя снапшотами, отсылать этот любым файл удобным способом на другую машину и там либо хранить либо применять этот снапшот в любой момент к развернутой копии файловой системы (с ней не рекомендуется работать на запись, только на чтение)
    Ответ написан
    Комментировать
  • Как использовать GNU GRUB в виртуальных машинах?

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

    у тебя случайно там не два разных загрузчика типа grub и selinux (который только для legacy существует)?

    но вот почему именно у тебя по разному отрабатывает настройка пункта по умолчанию, хз, показал бы конфиг что ли
    Ответ написан
    Комментировать
  • Как копировать/переносить виртуальную машину с Linux без правки загрузчика?

    @rPman
    при инициализации диска, создании и форматировании раздела можно задать свой uuid, тебе где из этого надо?

    вот например так я это делаю с lvm
    pvcreate --norestorefile -u xxx-xxx-xxx-xxx-xx-xxxx /dev/sda2

    а так с файловой системой
    mkfs.xfs -m uuid=xxx-xxx-xxx-xxx-xx-xxxx /dev/sda1
    Ответ написан
    Комментировать
  • Возможно ли установить freeradius на android?

    @rPman
    ты пробовал псевдопесочницы типа debian_no_root?

    radius сервер работает по udp, по уму это не требует каких то особых умений от ядра
    Ответ написан
    Комментировать
  • Как отправить сообщение с Linux на windows в локальной сети?

    @rPman
    Раньше использовался штатный майкрософтовский Messagener Service, в майкрософтовской сети можно отправлять сообщение командой msg, но после windows 7 майкрософт что то сломало в этом протоколе и ранее рабочий smbclient -M имя_компьютера теперь не работает, попробуй поищи в этом направлении

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

    @echo off
    setlocal enabledelayedexpansion
    set "dir_path=c:\messages"
    
    :loop
    
    for %%f in ("%dir_path%\*") do (
        set /p msg_text=<"%%~f"
        msg "%%~nxf" "!msg_text!"
    	del "!dir_path!\%%~nxf"
    )
    
    ping -n 2 localhost
    
    goto loop


    в данном случае чтобы отправить сообщение нужно будет создать на этой машине (можно расшарить папку c:\messages и работать с ней через samba) файл с именем пользователя и содержимым с текстом сообщения (кажется в кодировке cp1251 если нужен русский, советую поэкспериментировать). Осторожно с пробелами в имени пользователя

    p.s. Еще проще, установить на windows машине ssh сервер, и запускать удаленно команды msg. OpoenSSH есть в windows 10 как штатный дополнительный компонент в настройках приложений
    Ответ написан
    Комментировать
  • Какая файловая система наиболее устойчива к сбоям?

    @rPman
    Ваша задача решается только аппаратными средствами. При ненадежном окружении машину нужно буквально выносить на расстояние, подальше от этого окружения (т.е. у клиента только монитор+клавиатура а редактировать документы на флешках запретить, я серьезно), это реально и не так дорого как кажется, но все же необходимо обеспечить место где железо не будет зависеть от электрика Васи и 'супер-чайника бабы Глаши'.

    На самом деле тут несколько проблем, каждая из которых решается разными способами:
    * сбои в железе, т.е. буквально смерть диска или флешки (нельзя на них работать, никак нельзя), в частых случаях это решают резервированием, спасибо для дисков существует RAID5, когда за счет добавление 1 диска к массиву (начиная с 3 дисков до 32 шт) обеспечивает работоспособность при потере любого 1 диска, а при добавлении 2-ух дисков, соответственно переживает потерю любых двух дисков.
    * сбои в электропитании - качественный бесперебойник и настройка на автоматическое сохранение работы. Система резервного электропитания - отдельный большой разговор и дешевым это не будет, в зависимости от того, какие бывают сбои, может оказаться что единственный вариант - дорогой online ups + дизельный генератор.
    Для рабочих windows и иногда и linux можно настроить hibernation по сигналу с UPS, это как минимум спасет не только файловую систему но и не сохраненную работу.
    Так же есть механизмы у систем виртуализации, если гостевая операционная система не умеет hibernation, то это сможет сделать сервер виртуальной машины (кажется любой)
    * сбои в софте и кривые руки пользователя - самый интересный сбой, когда по ошибке одним движением пользователь уничтожает важные данные, ошибка конфигурации отправляет базу в ноль или безвозвратно портит данные. На это тоже есть два решения, в обычном случае это регулярные бакапы, причем если есть база данных то можно сделать очень оперативный инкрементальный бакап прямо средствами БД (что то типа прерванной репликации например) и регулярные снапшоты (как еще одна форма бакапа, только не покидающая машину).
    И вот тут выбор файловой системы может сильно помочь, например cow fs типа btrfs или zfs умеют делать снапшоты бесплатно, без деградации скорости работы (до этого был lvm но его снапшоты кратно! замедляли запись, пока снапшот не удалишь), у windows ntfs тоже есть shadow copy но там какие то особенности есть, не делающие это чистым снапшотом, т.е. пользовательские файлы так резервируются а система не всегда, ну через нее делают бакап перед установкой обновлений.
    Можно настроить буквально поминутные снапшоты с удалением тех что старее часа/суток/... и фоновым переносом их на бакап сервер, т.е. это сочетание системы резервного регулярного и оперативного копирования
    Ответ написан
    Комментировать
  • Как правильно сделать загрузочную флешку с win11 на линуксе?

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

    Данное сообщение говорит что в системе нет драйверов например на USB или дисковый контроллер и дальше работать не будет.

    Есть следующие решения:
    * найти в биосе usb-cdrom режим (видел такой в паре материнок старых), в довесок, чтобы с гарантией, сделать копию диска простым копированием iso образа прямо в устройство флеш-накопителя (условно если он будет /dev/sdb вот в него и копируй с помощью dd), и пофиг какого этот диск размера (лишь бы было больше или равно размеру iso), этот метод кстати универсальный и позволяет загружать liveusb как на EFI так и на legacy mbr.

    * переключить систему в режим EFI или Legacy mbr, в зависимости от ситуации, драйвера могут использоваться разные в т.ч. из BIOS для режима EFI

    * Заранее разбить диск на два раздела (либо добавить в систему еще один диск) и чтобы с гарантией (это если будет еще проблема в обнаружении диска, т.е. установщик покажет пустой список) использовать SATA устройство, а в биосе переключить в режим IDE (драйвера для этого режима с гарантией есть в установщике), но не забыть позже установить драйвера на материнку и вернуть AHCI режим. Первый раздел использовать как целевой для установки а на второй, отформатировав его в fat32/ntfs/exfat, скопировать в корень содержимое установочного iso образа. Дело в том что установщик windows будет искать свои файлы в корне всех дисков системы, если не найдет их на загрузочном диске (не удивлюсь если эта фича поддерживается еще с тех времен, когда систему устанавливали с флопи-дисков)

    * если ничего не помогает, тогда соверши первую фазу установки (когда идет копирование файлов до перезагрузки) или даже всю, создав виртуальную машину в работающем linux (рекомендую qemu прямо из командной строки, ее проще новичку для данной задачи использовать) и прописав в ней весь используемый жесткий диск. К сожалению без дополнительных телодвижений это сработает только при использовании legacy mbr, так как для efi установщик должен еще прописать информацию об установленной системе в биосе, но это можно будет сделать позже средствами linux (у меня опыта нет, гугли, утилита efibootmgr)
    Ответ написан
    Комментировать
  • Развертывание VPS из локально настроенного образа. Так вообще делают?

    @rPman
    Некоторые провайдеры предоставляют такую возможность, так как linux дистрибутивы изначально ориентированы не только на реальное железо но и на виртуальное, поддержка обычно хорошая. Единственное, это доступно только если используется виртуализация kvm/vmware/vbox/hyperv/... но не паравертуализация (lxc/virtuozzo/...)

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

    Совет, выбирай ядро с пометкой cloud/vps/kvm и т.п., а то универсальные ядра долго грузятся.

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

    Так же linux позволяет подмену операционной системы на живую, даже если провайдер это не разрешает, типовой метод - отключение swap раздела, установка в него минимальной версии linux, настройка загрузчика на ее использование, перезагрузка, форматирование и дальше по прежнему сценарию. Недостаток - ошибка превращает машину в тыкву и требует переустановки или восстановление из бакапа, в общем вопрос что удобнее с твоим провайдером.

    p.s. Самое смешное когда я это делал, мне это нужно было делать ради единственного отличия от провайдерского конфига - файловая система btrfs с поддержкой сжатия на лету (у меня были очень объемные текстовые дампы, сжимаемые 10х). В общем все в твоих руках.
    Ответ написан
    2 комментария