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

    @rPman
    Вопрос, чем не устраивает текущее положение дел?
    в качестве хоста - windows 7, для запуска всего того что не умеет linux или доступ к оборудованию
    в вируталке крутится желаемая ос, несколько для экспериментов

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

    Фичу gentoo USE маловероятно кто сможет переплюнуть.

    p.s. Если же на хосте хочешь linux, то пользуйся контейнерами lxc и виртуализацией по полной, для любой хотелки выбирай новый контейнер, почти всегда это можно сделать, может потребуется больше места на диске (попробуй в качестве файловой системы для хоста zfs если у тебя ssd, то накладные расходы на нее ты не заметишь, а вот онлайн дедупликация решит проблему с местом при использовании одинаковых контейнеров)
    Ответ написан
    Комментировать
  • Как настроить работоспособность adb appcontrol на виртуальной машине с виндой 10 из-под линукс?

    @rPman
    Самое простое, проверить наличие возможности подключения adb по сети, в последних версиях android (а в старых кастомных сборках типа lineageos давно уже) этот функционал уже имеется. В этом случае adb подключается с указанием ip и порта (он будет указан при включении этой фичи)
    это будет выглядеть где то так:
    adb pair 192.168.0.110:35049 580187
    adb connect 192.168.0.110:40585
    порт и пин будут случайными, на смартфоне в момент pair будет выскакивать запрос подтверждения на подключение
    в каких то случаях pair не требуется (я так и не понял почему у меня на одном смартфоне без него не заработало) так как это один из вариантов

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

    теперь про kvm - пробросить устройство внутрь либо usb либо сразу контроллер, на котором он весит (я так мышь с клавиатурой пробрасывал)
    Ответ написан
  • Как сделать ярлык для подключения ssh по паролю?

    @rPman
    есть утилита sshpass, пример:
    sshpass -p "password" ssh user@site.com
    осторожно, пишут что хоть sshpass и пытается скрыть от других пользователей пароль на этой машине, все же его как то можно вытащить из командной строки

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

    p.s. настоятельно рекомендую настроить беспарольную авторизацию на основе rsa/dsa асимметричного шифрования, делов на пару рукошевелений, зато проблем никаких не будет (почти наверняка у sshpass будут проблемы с перенаправлением потоков в ssh)
    Ответ написан
    Комментировать
  • Как собрать сервер на устаревшем ПО?

    @rPman
    Одно слово - вииртуализация.

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

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

    ОС FreeBSD 7.2
    уходи от этого, на linux, рекомендую для новичков - на ubuntu, сама freebsd может и норм но настраивать что то нестандартное будет новичкам тяжелее на порядок

    С высокой вероятностью Lighttpd и MySQL подойдут новых версий, и большая часть проблем создаст код, написанный под старую версию php, т.е. почему бы не попробовать установить на современную ОС только его (но придется собирать из исходников, я не видел бакпортов php такой старой версии под новые) т.е. вся возня, найти максимально высокую версию ОС для запуска в виртуалке, для которой есть php4

    Для установки старой версии ubuntu можно использовать архив old-releases.ubuntu.com и указав их репы в debootstrap собирать какую угодно старую версию минисборки в каталог, которую уже можно виртуализировать хоть chroot хоть lxc хоть полноценной виртуалкой
    Ответ написан
    2 комментария
  • Как понять чего не хватает системе при сборке wine?

    @rPman
    astra-linux основана на дебиане
    попробуй установить необходимые зависимости средствами apt
    apt-get build-dep wine

    так же может сначала попробовать собрать wine из репозитария, там должно пройти все на автомате
    Ответ написан
    Комментировать
  • Проблема Hyper-V Windows Server 2012 с Ubuntu Server 18.04 с проборосом физических дисков?

    @rPman
    Судя по всему резервирование происходило копированием байт-в-байт с помощью dd? или файловое копирование rsync?

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

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

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

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

    @rPman
    Динамического swap файла в linux нет (изначально свопом мог быть только раздел фиксированного размера но потом допилили размещение на файловых системах, если они это поддерживают, с оговорками) но возможно динамические подключение и отключение новых swap файлов или устройств с помощью консольной команды swapon и swapoff, перед подключением содержимое файла должно быть 'отформатировано' mkswap, эта исключает ошибочное указание нормального файла.

    Swap может быть размещен как файл на популярных файловых системах типа ext4 или сетевом nfs, возможно использование iscsi устройств, в файле не должно быть 'дырок' (sparce files), т.е. не получится выделить по быстрому место с помощью dd seek, (на чем то типа fat получится), а так же должно быть выключено сжатие и cow (смотреть chattr) если используется к примеру btrfs
    Ответ написан
    Комментировать
  • Умеет ли Linux Server устанавливать ПО на Windows?

    @rPman
    В идеале он должен при входе пользователя в домен давать доступ к нужным сетевым папкам, устанавливать драйвера принтеров и устанавливать ПО (MS Office, Chrome, Photoshop, WinRar, KeePass и т.д.).
    Я правильно понимаю, нужна заменаа домен контроллеру windows server? плюс чтобы при логине на машину устанавливалось (проверяло что уже установка была проведена чтобы повторно это не делать?) ПО по списку?

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

    Чтобы реализовать автоматическую установку приложений, необходимо написать небольшой скрипт, который будет проверять что он еще не запускался на данной машине, и запускать по очереди unattended install нужных приложений (указанное ПО да и в 99% случаев любое), нужно использовать .msi или setup.exe запускать с ключами (смотреть инструкции /?) и разместить этот скрипт в автозапуск в профиль пользователей
    пример для msi
    msiexec /i c:\path\to\package.msi /quiet /qn /norestart /log c:\path\to\install.log PROPERTY1=value1 PROPERTY2=value2

    есть проблема, с правами доступа, это не вопрос домена это особенность windows, либо первоначальный логин должен выполнять администратор (имеющий доступ для установки программ на машины) либо администратор должен заранее это настроить (например отключить UAC а после установки пусть он будет включен с помощью powershell)
    Ответ написан
    Комментировать
  • Как расширить диск Linux?

    @rPman
    Делать все из другой системы (например загрузившись livecd)

    Конвертируешь файловую систему /dev/sda2 в btrfs с помощью btrfs-convert
    добавляешь к получившемуся устройству /dev/sdb с помощью btrfs device add /dev/sdb /mnt (на сколько я помню добавится без raid в режиме single, когда диски наполняются по мере необходимости и могнут быть разного размера)
    Правишь /etc/fstab

    p.s. бакапы! подобные операции, какими бы надежными они не казались, могут привести к потере данных
    Ответ написан
    Комментировать
  • Возможно ли сделать прокси-сервер который использует другие прокси? Или делать через VPN?

    @rPman
    Если на машине, чей ip авторизуется в прокси, есть возможность настройки iptables или любого другого фаервола, то можно настроить простой nat port mapping, пропиши в правилах фильтрацию входящих ip адресов чтобы ограничить доступ к прокси только с них.

    И совсем простой вариант, любой ssh умеет настраивать проброс портов в любую сторону (от клиента к серверу или от сервера к клиенту, ключи -L и -R соответственно), т.е. настраиваешь беспарольную авторизацию, и простым скриптом (его можно как службу прописать)
    while(true);do ssh xxx@yyy -L ..... -N;sleep 1;done

    делаешь автопереподключение (в конфиге ssh сервера советую прописать keepalive на случай нестабильного интернета)
    Ответ написан
    2 комментария
  • Как можно организовать проброс тома на работающем docker контейнере?

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

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

    Существует способ организации работы, когда синхронизация идет на блочном уровне файловой системы. Например DRBD (когда несколько блочных устройств в сети настраиваются как raid1 mirror). Или файловые системы типа glusterfs, когда сетевое хранилище организуется на базе файловой системы, в догонку еще варианты типа lustre или ceph.

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

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

    @rPman
    официально бесплатные - livecd/liveusb образы
    https://free.drweb.ru/aid_admin/
    https://www.kaspersky.ru/downloads/thank-you/free-...
    https://www.eset.com/ua-ru/support/sysrescue/

    как минимум drweb сделан на основе linux про касперского я уже не помню, но какая разница, если это готовый загрузочный образ
    Ответ написан
    5 комментариев
  • Можно ли установить Linux на разные диски?

    @rPman
    нет никакой необходимости раскидывать систему по разным дискам (единственное для чего это имело бы смысл - это удобство переустановки и переноса пользовательских файлов между установками,т.е. windows way), даже swap раздел не обязательно делать, так как уже давно он может размещаться в файле. Даже /boot не требуется, если используется стандартная файловая система без нетиповых конфигов llvm/raid/bcache/... это актуально только для mbr, для gpt все же потребуется 1мб раздел biosboot это если тип загрузки legacy mbr, и вне зависимости от типа разбиения, если используется efi, то нужен раздел fat efiboot)

    Корень размещаешь на ssd, а hdd монтируешь в какой-нибудь технический каталог (я обычно завожу в корне что то типа /o, /g или /i, т.е. максимально короткое имя) и в дальнейшем при необходимости переносишь объемные каталоги с помощью симлинков на подкаталог внутри hdd, т.е. ручное управление размещением файлов

    Например кеши файлов пакетов npm или gradle как минимум занимают десятки гигабайт и не требуют быстрого доступа

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

    @rPman
    в linux bash есть инструмент указания файлов для параметров любых утилит, запускаемых.
    например если написать myapp *.txt то в командную строку myapp улетит список txt фалов.

    Конкретно по задаче, чтобы удалить все файлы исключая указанные, то можно использовать следующую запись:
    rm -f !(file.txt|data.dat)

    Для удаления файлов, размер которых больше определенного, можно использовать find (его вообще рекомендуется для многих задач использовать, например исключить каталоги из поиска можно с помощью директивы -not):
    find . -type f -size +5M -exec rm -f {} +

    upd. для windows cmd все грустнее, на столько издевательски неудобного языка еще поискать нужно, штатно утилит которые бы позволили искать файлы и запускать код по заданной команде на сколько я занаю нет, можно написать цикл for и уже в его теле делать проверки, если имя неравно такому то или размер не больше... можешь не помечать ответом, мне просто лень да и проверить негде уже
    нужные команды if, for /? и set /? там будут исчерпывающие примеры
    Ответ написан
    4 комментария
  • Проблема установки GRUB на линукс?

    @rPman
    ты загрузился в режиме EFI (в биосе это может называться secure boot, а старый способ legacy mbr), grub автоматически это обнаруживает и пробует настроить efi загрузку

    Для этого на диске должен быть раздел EFI, fat32 (отформатируй), примерно 100мб, он будет загрузочным, grub его автоматически обнаружит и скопирует нужные файлы.

    p.s. чтобы поставить grub, chroot не обязателен, можно просто указать каталог с рутом системы (/dev /proc и прочие монтировать не придется, но /boot нужен) grub-install /dev/sda --root-directory=/mnt
    Ответ написан
  • Не работает сенсор на пк с android-x86, что делать (ЗАКРЫТО)?

    @rPman
    на 4pda кто то успешно ставил на этот планшетник какую то древнюю сборку android

    могу предположить что проблема с сенсором в том что новые версии android драйверов ее не поддерживают
    Ответ написан
    Комментировать
  • Есть ли офисные программы для терминала?

    @rPman
    консольные - какой нибудь vim (этот комбаин вообще во что только не превращали, даже в ide), а вообще работа с текстом latex (причем те кто работает профессионально с текстами, с математикой в голос твердят tex - это оно), требования тут очень низкие (хотя я лично согласен с этим)

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

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

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

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

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

    @rPman
    на ноутбуке хочу разместить хостинг мини программы(потребление не менее 3-х % ОЗУ и ядра)
    минимальная конфигурация linux (для deb пакетных менеджеров, это debian/ubuntu/mint/...) можно установить с помощью debootstrap, собственно им пользуется и штатный установщик, но он добавляет 100500 дополнительного софта, а так минимальный конфиг занимает на диске примерно 200мб и в оперативной памяти после загрузки где то десяток другой мб ram

    порядок установки:
    * загружаешься в другой linux (любой, но той же архитектуры что и целевая), можно из виртуалки все делать, если пробросить целевой диск внутрь
    * разбить диск на нужные разделы, если будет использоваться стандартная файловая система ext/btrfs/.. и legacy mbr bios то хватит одного корневого раздела, если есть efi то понадобится еще один раздел fat для efi, если нестандартные файловые системы или конфиг к примеру с raid или шифрованием, то понадобится еще /boot, если используется gpt диск (не mbr) то еще понадобится biosboot раздел на 1мб
    * примонтировать корневой и /boot разделы
    * запустить debootstrap с указанием ос и этого каталога
    * установить grub-install /dev/диск_установки --root-directory=/каталог_с_установкой
    * chroot /каталог_с_установкой
    * настроить пароль для passwd root и /etc/fstab

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

    desktop environment с gui для задач хостинга даже не требуется, если что можно поставить что-нибудь максимально простое awesome, openbox, icewm, eEnlightenment, lxde, xfce,... мало того, по умолчанию с xserver должен ставиться совсем уж минималистичный twm, в оперативной памяти эти вещи будут занимать от силы пару сотен мегабайт (на gentoo я настраивал awesome с последними версиями системы на 50мб ram, на машине с 1гб ram запускал современный браузер)

    если тебе нужна графика чтобы только настраивать но для работы не требуется, то можно подключаться к машине удаленно, используя локально установленные DE (например с windows машины в сети установив cygwin xwinserver), это штатный режим работы xserver (в локальной сети можно даже игры запускать)
    Ответ написан
    Комментировать