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

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    для домашнего не сильно требовательного сервера идеально подойдёт старенький можно и БУ-шный нетбук, графика не важна (в нетбуках она встроенная).
    плюсы: компактный, тихий, если еще жива батарея то и энергоустойчивый то есть страхование от возможных перепадов или временного пропадания напряжения, наличие клавиатуры и экрана также иногда сильно упрощает некоторые вещи.
    Ответ написан
    Комментировать
  • Как скопировать больший диск на меньший диск?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Я пробовал
    dd if=/dev/sdBIG of=/dev/sdSMALL bs=64K conv=noerror,sync
    Но система после копирования и загрузки ругается на испорченный второй раздел и требует чтобы я все починил.

    dd копирует весь диск побайтово и естественно будет ругаться на то что не может уместить 128G в 16G.
    dd просто тупо перенёс начальные 16G из 128гигового диска(sdBIG) в 16G(sdSMALL), поэтому у вас не только второй раздел будет повреждён(я так понял первый раздел у вас меньше 16G) но и данные на нём так же будут повреждены.

    Если итоговый раздел меньше чем исходный то вместо dd лучше использовать rsync.
    В начале на sdSMALL создаёте нужные разделы с учётом того чтобы туда уместились все переносимые данные. Далее можно из живой системы или примонтировав нужный раздел перенести данные:
    # rsync -aAXv --exclude={...} /откуда /куда
    --exclude - папки которые исключаем при переносе
    Как я понимаю первый раздел у вас корень, если так, то перенос из живой системы будет выглядеть примерно так:
    # rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /куда

    и на последок незабываем сделать корневой (первый) раздел загрузочным и при необходимости подправить загрузчик и fstab
    Ответ написан
    2 комментария
  • Как перенести систему на другой диск большего размера?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    dd клонирует диск один в один, так что проблем не должно возникнуть
    единственное это возможно необходимо будет всё же подправить fstab:
    - если у вас используется идентификация разделов по UUID то он сменится
    - или если используется идентификация по именам(/dev/sd{a,b,c...}) и вы добавите еще диск то sda и sdb могут поменяться местами
    в любом случае система попросту не загрузится

    когда убедитесь что все нормально загружается и работает то можете расширить таблицу разделов и задействовать свободное место прибавив его к рядом стоящему разделу(проделывается с live-сd/usb):
    # parted /dev/sda resizepart 2 100%
    # e2fsck -f /dev/sda2
    # resize2fs /dev/sda2

    здесь sda2 (resizepart 2) это крайний раздел который примыкает к свободному пространству и который мы расширяем, естественно ставим свой

    п.с.
    всё описанное верно для традиционных файловых систем
    Ответ написан
    Комментировать
  • Как изменить шрифт на поддерживаемы в редакторе nano?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    как временное решение попробуйте запустить так:
    $ LANG=ru_RU.UTF-8 nano ФАЙЛ
    если надо на английском то:
    $ LANG=en_US.UTF-8 nano ФАЙЛ

    не знаю какой у вас дистрибутив, но по поводу nano версии 2.7 под Арчем проблем не наблюдается, возможно неверно собранный пакет или что-то ещё.
    Ответ написан
    Комментировать
  • Как удалить программу со всеми конфигами в linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    обычно хватает:
    $ sudo pacman -Rns пакет
    ну и ручками почистить если что осталось в хомяке

    более детально смотри арчвики - удаление пакетов
    Ответ написан
    Комментировать
  • Как установить arch на флешку для запуска на любом железе?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Например, должен ли я установить драйвера на все карточки или они будут конфликтовать друг с другом и я должен ограничиться стандартной mesa?

    почему бы и нет, установить все свободные дрова на видео:
    pacman -S xf86-video-vesa xf86-video-nouveau xf86-video-intel xf86-video-ati

    или лучше сразу ставить группу xorg-drivers:
    pacman -S xorg-drivers
    в общем смотри Xorg#Driver installation

    Можете ещё глянуть тему на арчфоруме Переносной Arch, правда писалась уже давно и в некоторых местах малость устарела, но если спросите на форуме думаю направят в нужном направлении.

    Цель: флешка с arch-ем, запускающаяся на любом железе, для выполнения повседневных задач.

    Может вам просто модифицировать archiso под свои нужды. Раз настроите, соберёте и работать будет быстрее так как грузится в оперативку.
    Ответ написан
    2 комментария
  • Как подавить вывод функции, получив при этом код возврата?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    всё отлично отрабатывается, к примеру:
    f(){
        if [[ $1 != "" ]]
        then  echo "ok"
              return 0
        else  echo "error"
              return 1
        fi
    }
    
    check_f(){
       f &> /dev/null
       echo "Status: $?"
    
       f ww &> /dev/null
       echo "Status: $?"
    }
    
    check_f

    вывод будет:
    Status: 1
    Status: 0


    вы видать чтото в функции superMegaFunction напутали, возможно там где-то стоит exit
    Ответ написан
  • Как проверить, какая система инициализации ядра стоит на сервере?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Не знаю как для других но для Арча и Убунту можно использовать команду init --version :

    $ uname -n
    arch
    $ init --version | head -n1
    systemd 230


    $ uname -n
    ubuntu
    $ init --version | head -n1
    init (upstart 1.12.1)
    Ответ написан
  • Как правильно следить за последовательным ходом выполнения работ консольных утилит?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    простенький вариант с добавлением функции status:
    #!/usr/bin/bash
    set -o history
    
    status(){
      STATUS=$?; COMMAND=$(history 2 |head -n1 |awk '{$1="";print}')
      if [[ $STATUS == 0 ]]
        then  echo -e "[   OK  ]\t$COMMAND"
        else  echo -e "[ ERROR ]\t$COMMAND"
                exit # при ошибке останавливаем обработку скрипта
      fi
    }
    
    touch a1.txt
    status
    
    rm a1.txt
    status
    
    rm a1.txt
    status


    вывод в консоль получим:
    [   OK  ]	 touch a1.txt
    [   OK  ]	 rm a1.txt
    rm: невозможно удалить 'a1.txt': Нет такого файла или каталога
    [ ERROR ]	 rm a1.txt


    при желании всё это можно логировать в файл
    Ответ написан
    Комментировать
  • Error when load arch from USB?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Ответ написан
    Комментировать
  • Как скопировать строки по маске в новый файл целиком?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    предлагаю поставить gawk (gnu awk) и не мучатся :)
    если убунту то смотри здесь - https://www.howtoinstall.co/en/ubuntu/trusty/gawk

    тогда достаточно будет просто убрать вывод конкретного столбца заменив print $N на просто print:
    $ head -n1 pro3.csv > proOUT.csv
    $ awk -v N=1 -F"," '$N ~ /^[0-9]{11}$/ {print}' pro3.csv >> proOUT.csv
    Ответ написан
    4 комментария
  • Как сгенерировать маску для bash?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    $ touch {01..30}.log

    Чтобы создать файл с номером текущего дня месяца:
    $ touch `date +"%d"`.log

    Если уж совсем извращается и создать файлы сразу на весь текущий месяц:
    $ touch {01..${$(cal):(-1):1}}.log
    работает правда только под zsh, для баш нужно будет малость модифицировать.
    Ответ написан
    Комментировать
  • Что делать если bios не видит загрузочную флешку?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    1. Если BIOS не видит флешку то это проблема железа (флешки, usb разъёма, материнки ...), а не программы что на неё записала образ.
    2. Если же BIOS её видит но флешка с записанным установочным образом не может загрузится, то это криво записанный образ, попробуйте записать его другой программой, например rufus из под винды или UNetbootin из под linux, в общем как-то так. Естественно не забыв предварительно установить в BIOS приоритет загрузки с флешки.
    Ответ написан
    Комментировать
  • Лаги в VirtualBox при запуске X в Arch Linux?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    ядро родное ?
    установили дополнения VBoxGuestAdditions ?
    подгрузили модули VBox на хостевой и гостевой(vboxvideo и др.) системе ?
    читали VirtualBox-en или VirtualBox-ru ?
    Ответ написан
    1 комментарий
  • Как при помощи bash создать и трансформировать дерево директорий в .json?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    $ tree -J

    если надо с полными путями то:
    $ tree -f -J
    Ответ написан
  • Какой дистрибутив Debian устанавливать: AMD64 или x86?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    ставьте 32-х разрядную систему, она вместе с приложениями где-то на ~20% будет меньше кушать оперативки, что уменьшит взаимодействие со свопом который в свою очередь замедляет систему.
    а профита от 64бит вы не получите, ну разве что в специфических приложениях, для комфортной работы с которыми вам всё равно понадобится комп помощнее.

    п.с.
    о 64-разрядной стоит задумываться когда ОЗУ 4+ гига
    Ответ написан
    3 комментария
  • Почему скрипт не работает после запуска unit в systemd?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    есть три варианта:
    1. Юнит принадлежит и работает только от суперпользователя, но скрипт/программу сам юнит может запустить от указанного юзера если в секцию [Service] добавить строки:
      User=юзер
      Group=группа

      обычно юнит лежит в /etc/systemd/system/XXX.service

      $ sudo systemctl enable XXX.service
      $ sudo systemctl start XXX.service
      ...



    2. Юнит принадлежит суперпользователю но с ним может работать любой пользователь:
      юнит лежит в /etc/systemd/user/XXX.service.
      Работать с ним можно точно также как и с обычным юнитом, только необходимо указывать парамерт --user, например:
      $ systemctl --user enable XXX.service
      $ systemctl --user start XXX.service
      ...


    3. Юнит принадлежит и работает только от одного конкретного пользователя:
      Располагается в домашней папке пользователя ~/.config/systemd/user/XXX.service.
      Для работы также нужно указывать параметр --user.
    Ответ написан
    6 комментариев
  • Как создать файл и каталоги в пути к нему?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    вам выше правильно написали, делайте по юникc-вей, всё остальное от лукавого:
    $ mkdir -p /путь/к/файлу/
    $ touch /путь/к/файлу/ФАЙЛ

    или одной строкой:
    $ mkdir -p /путь/к/файлу/ && touch /путь/к/файлу/ФАЙЛ

    если надо с переходом в каталог:
    $ mkdir -p /путь/к/файлу/ && cd  /путь/к/файлу/ && touch ФАЙЛ

    через ssh:
    $ ssh <USER>@<IP> 'mkdir -p /путь/к/файлу/ && touch /путь/к/файлу/ФАЙЛ'
    Ответ написан
    Комментировать
  • Почему прекращается работа приложения при завершении сеанса удаленного доступа?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    если там systemd то делается так:
    # loginctl enable-linger <username>
    прописывается на сервере
    по сути данная команда держит состояние пользователя.
    для отключения:
    # loginctl disable-linger <username>
    Ответ написан
    1 комментарий
  • Как максимально облегчит Ubuntu?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    Другой дистр ставить не хочется , так как очень большая проблема с драйверами.

    ну раз в Ubuntu 14.04.3 LTS с драйверами проблем не возникло то значит эта проблема не такая уж и большая )
    думаю всё же стоит попробовать поставить другой дистр, и желательно тот в который лучше добавить то что нужно, а не удалять то что не нужно.
    Ответ написан