Задать вопрос
  • Удобный инструментарий для работы с сервером на Linux?

    @pfg21
    ex-турист
    Есть far2l весьма удобный консольный файлменеджер для линукса.
    В отличии от mc умеет просить повышения прав по необходимости.
    Ответ написан
    1 комментарий
  • Почему система использует только половину диска?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    В чем вопрос?
    ВМ создали с одним размером виртуального жесткого диска, потом расширили, но ОС автоматически не расширяет разделы.

    Ввиду того, что у вас судя по всему стандартное разбиение Ubuntu live образа, то команды следующие. Но конечно нужно понимать, что вы делаете и иметь резервную копию данных, чтобы избежать их потери.
    apt install cloud-utils
    growpart /dev/sda 3
    pvresize /dev/sda3
    lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
    resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
    Ответ написан
    3 комментария
  • Как исправить фризы kde?

    Позитивный опыт есть, ArchLinux+Xorg+KDE+Nvidia работает без лагов много лет. Сейчас (3-4 года) Geforce 1050 ti, ранее была много лет более старая nvidia. Драйвера нвидевские из репозитория арча. Монитор не новый, приблизительно 2010 года.
    Ответ написан
    Комментировать
  • Как поставить MX Linux и Windows на 2 диска с выбором загрузки ОС?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Выбираешь в меню загрузки ноута не винду, а EFI-запись, которую создал установщик
    Проверяешь, что грузит линух
    Идешь в BIOS и гвоздями прибиваешь загрузку с этой записи (в ней должна быть винда)
    Ответ написан
    Комментировать
  • Как вывести общий объем свободного и занятого дискового пространства?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    есть замечательная утилита lsblk
    например, вывести информацию по всем смонтированным FS(файловым системам) в виде - имя, доступный размер, используемый размер и процент от использования
    $ lsblk -lo NAME,FSAVAIL,FSUSED,FSUSE\% | awk 'NF>1'
    NAME      FSAVAIL FSUSED FSUSE%
    nvme1n1p1    423M    88M    17%
    nvme1n1p2  423,2G    29G     6%
    nvme0n1p2  360,2G  73,3G    16%

    awk здесь используется для отсечения не смонтированных ФС и самих дисков у которых естественно будет отсутствовать доступный размер.
    Если нужен общий размер файловой системы то добавьте параметр FSSIZE

    если нужно без шапки то используй ключ -n
    $ lsblk -nlo NAME,FSAVAIL,FSUSED,FSUSE\% | awk 'NF>1'
    nvme1n1p1    423M    88M    17%
    nvme1n1p2  423,2G    29G     6%
    nvme0n1p2  360,2G  73,3G    16%

    если нужно по конкретной ФС то просто указываем её
    $ lsblk -nlo NAME,FSAVAIL,FSUSED,FSUSE\% /dev/nvme1n1p2
    nvme1n1p2  423,2G    29G     6%

    если нужна конкретная цифра то оставляем тока нужный параметр
    $ lsblk -no FSUSED /dev/nvme1n1p2
       29G

    при желании можно получить данные через json и после нужным образом обработать, например:
    $ lsblk -Jo FSUSED /dev/nvme1n1p2 | jq -r '.blockdevices[].fsused'
    29G

    если нужно в байтах, то используйте ключ -b
    $ lsblk -Jbo FSUSED /dev/nvme1n1p2 | jq -r '.blockdevices[].fsused'
    31178240000


    еще как пример, для файловой системы nvme1n1p2 отобразим в форматированном виде информацию по свободному и занятому пространству:
    $ lsblk -Jo FSAVAIL,FSUSED /dev/nvme1n1p2 | jq -r '.blockdevices[] | "Всего занято:\t\(.fsused)\nВсего свободно
    :\t\(.fsavail)"'
    Всего занято:	29G
    Всего свободно:	423,2G


    п.с.
    если нужна обобщённая информация сразу по всему диску то наверное проще будет использовать smartctl
    sudo smartctl -ja /dev/nvme0n1 | jq -r '.nvme_namespaces[] | "Всего занято:\t\(.utilization.bytes)\nВсего свободно:\t\(.capacity.bytes - .utilization.bytes)"'
    Всего занято:	88322768896
    Всего свободно:	411785093120

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

    и да, для преобразования размеров довольно удобно использовать утилиту numfmt
    $ sudo smartctl -ja /dev/nvme0n1 | jq -r '.nvme_namespaces[] | "Всего занято: \(.utilization.bytes)\nВсего свободно: \(.capacity.bytes - .utilization.bytes)"' | numfmt --to=iec --field 3 --padding=1 --format %.1f
    Всего занято: 82,3G
    Всего свободно: 383,6G
    Ответ написан
    1 комментарий
  • Ошибка с диском линукs ubuntu 23.10?

    @rPman
    Раскрою ответ который тебе уже дали в комментариях

    Поочередное использование разделов диска Windows (8 и старше версии) потом Linux, при настройках windows по умолчанию будет порождать случайные проблемы, вплоть до потери файлов (в твоем случае файловая система не монтируется).

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

    Лечить файловую систему из windows (можно и из linux но настоятельно рекомендуется родные файловые системы чинить средствами windows). Сделать это можно в windows проводнике, свойства диска, вкладка обслуживание - проверка диска, отметить чекбокс 'исправлять ошибки' либо в диспетчере дисков (либо командой в консоли chkdsk).

    Чтобы такого больше не происходило, если компьютер выключается с целью последующего запуска другой ОС (или например диск извлечь и нести другому человеку), то выключать командой
    shutdown -s -t 0

    Либо полностью отключить гибернацию, как советовали в коментариях
    powercfg -h offТогда любое выключение будет полным (и соответствующий запуск windows медленным)
    Ответ написан
    Комментировать
  • С чем может быть связано изменение даты и времени после перезагрузки сервера Ubuntu?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Заменить батарейку CMOS на материнской плате. Используется CR2032.
    Ответ написан
    Комментировать
  • Как архивировать все кроме одной директории?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $ man tar
    ...
           --exclude=PATTERN
                  Exclude files matching PATTERN, a glob(3)-style wildcard pattern.
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux выбрать для FullStack .NET Develop?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Любой. Лично мне нравится Debian за свою стабильность и надежность. Еще CentOS тоже нравится, да. Кстати, отказываться от связки венда + студия совсем необязательно, ибо если линукс стоит на машине как хостовая ОСь - то можно поставить виртуалбокс, а в него венду и спокойно пользоваться любимым и привычным инструментом. А в линуксе просто прогонять тестирование, что оно там работает. :D
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux выбрать для FullStack .NET Develop?

    Adamos
    @Adamos
    На машине какого цвета лучше ездить на работу летчиком?

    Вроде бы довольно очевидно, что под ковыряние в ДотНетах специально не приспосабливался никакой Линукс.
    И столь же очевидно, что поставить сервер БД и запускать Java-IDE - можно на любом Линуксе.
    Критерии выбора перпендикулярны этому самому выбору.
    Ответ написан
    Комментировать
  • Почему lvm занял половину диска, вместо всего диска?

    @q2digger
    никого не трогаю, починяю примус
    сначала надо расширить раздел Logical Volume , команда lvextend , после этого можно расширять файловую систему. На рутовом разделе, скорее всего придется это делать загрузившись с (например) systemrescuecd или другой загрузочной флешки(образа) с линуксом. Если раздел xfs , то можно расширить и без ребута, но у вас скорее всего там ext4 , да?

    Держите примеры команд
    lvextend -L+11G /dev/VolGroup00/LogVol00 <- увеличить раздел на 11Гигов 
    fsadm resize /dev/VolGroup00/LogVol00  <- резайзить данный раздел
    Ответ написан
    1 комментарий
  • Как выключить историю команд Bash?

    @rPman
    Вместо отключении всей истории команд, можно указать при выполнении команды чтобы она не сохранялось, добавив пробел в начале любой команды
    Ответ написан
    Комментировать
  • Как работает sudo?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Как работает sudo?
    Что конкретно интересует, то что sudo позволяет выполнять команды от имени другого пользователя, или то, как технически оно устроено внутри?

    Всём привет, хотел узнать какие команды можно вводить в Qute
    Вводить то можно абсолютно любые, но не все они будут работать.

    почему то ввожу различные команды и у меня пишет, что нет доступа /доступ запрещен
    На каком устройстве находится Qute? На автомобиле, чайнике, умных часах, телефоне, или может вы используете вообще виртуальную машину?

    нет доступа /доступ запрещен
    Это потому, что нет root-прав. Чтобы их получить, нужно рутировать устройство. Для этого идем на 4пда и ищем там на форуме инфо по конкретному девайсу.

    Перед тем как рутировать устройство, рекомендую сначала почитать как оживить кирпич!
    Ответ написан
    22 комментария
  • В чём же тут разница?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    > - передать в
    >> - дописать в
    < - взять из
    Ответ написан
    1 комментарий
  • Как получить доступ на запись в терминале?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Так это вы неправильно поключили, и смотрите в неправильной директории.

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

    erge
    @erge
    Примус починяю
    curl + awk
    curl -s https://www.cbr.ru/scripts/XML_daily.asp | awk -F '</Valute>'  '{for (i=1; i<=NF; i++) if($i ~ /USD|EUR/) print substr($i, index($i, "CharCode")+9,3)" "substr($i, index($i, "Value")+6,7)}' 2>/dev/null


    wget + awk
    wget -qO- https://www.cbr.ru/scripts/XML_daily.asp | awk -F '</Valute>'  '{for (i=1; i<=NF; i++) if($i ~ /USD|EUR/) print substr($i, index($i, "CharCode")+9,3)" "substr($i, index($i, "Value")+6,7)}' 2>/dev/null


    Perl
    perl -MLWP::Simple -e '$_=get("https://www.cbr.ru/scripts/XML_daily.asp");while(m/(USD|EUR).+?Value>([^<]+)/g){print "$1 $2\n"}'


    Python
    python3 -c 'import requests,re;print("\n".join([" ".join(i.groups()) for i in list(re.finditer(r"(USD|EUR).+?Value>([^<]+)", requests.get("https://www.cbr.ru/scripts/XML_daily.asp").text))]))'


    PowerShell
    # вариант 1 (RegEx)
    (Invoke-WebRequest -UseBasicParsing -URI 'https://www.cbr.ru/scripts/XML_daily.asp').Content | Select-String '(USD|EUR).+?Value>([^<]+)' -AllMatches | foreach {$_.Matches.Groups[1,2,4,5].Value}
    # вариант 2 (XML/XPath)
    ([xml](Invoke-WebRequest -UseBasicParsing -URI 'https://www.cbr.ru/scripts/XML_daily.asp').Content).SelectNodes('//Valute[CharCode="USD" or CharCode="EUR"]') | ft Name,Value


    JavaScript (Node.js)
    node -e "https.get('https://www.cbr.ru/scripts/XML_daily.asp',r=>{s='';r.on('data',d=>s+=d);r.on('end',()=>[...s.matchAll(/(USD|EUR).+?Value>([^<]+)/g)].forEach(e=>console.log(`${e[1]} ${e[2]}`)))})"
    Ответ написан
    Комментировать
  • Как установить веб сервер на линуксе?

    @Drno
    нужно настраивать. исходя из Вашего веб проекта.
    проще для новичка - apache.
    Ответ написан
    1 комментарий
  • Как узнать курс валюты в командной строке терминала?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    у ЦБР есть официальная страничка где можно узнать как получить нужные данные

    если коротко, то будет примерно так:
    $ curl -s "http://www.cbr.ru/scripts/XML_daily.asp" | enconv -x UTF-8 | xq -r '.ValCurs.Valute[] | select(.CharCode == "USD" or .CharCode == "EUR") |.CharCode + " " + .Value'
    USD 74,7087
    EUR 79,5716


    с помощью curl качаем нужные данные в формате xml
    далее переводим с помощью утилиты enconv в обще нормальную кодировку
    затем с помощью утилиты xq разбираем полученные данные
    xq входит в пакет yq которая по сути является надстройкой над jq, то есть здесь xml транслируется в json а после обрабатывается утилитой jq

    вот пример вывода всех доступных курсов валют в отформатированном виде с помощью утилиты csview
    curl -s "http://www.cbr.ru/scripts/XML_daily.asp" | enconv -x UTF-8 | xq -r '.ValCurs.Valute[] | .CharCode + " " + .Nominal + " " + .Value' | sort | awk 'BEGIN{print "Code Nominal Value"}{print}' | csview -d' '

    вывод:
    ┌──────┬─────────┬─────────┐
    │ Code │ Nominal │ Value   │
    ├──────┼─────────┼─────────┤
    │ AED  │ 1       │ 20,3400 │
    │ AMD  │ 100     │ 19,1325 │
    │ AUD  │ 1       │ 51,0933 │
    │ AZN  │ 1       │ 43,9463 │
    │ BGN  │ 1       │ 40,7332 │
    │ BRL  │ 1       │ 14,3646 │
    │ BYN  │ 1       │ 26,6998 │
    │ CAD  │ 1       │ 55,2743 │
    │ CHF  │ 1       │ 80,5485 │
    │ CNY  │ 1       │ 10,8398 │
    │ CZK  │ 10      │ 33,5739 │
    │ DKK  │ 1       │ 10,7002 │
    │ EGP  │ 10      │ 24,4263 │
    │ EUR  │ 1       │ 79,5716 │
    │ GBP  │ 1       │ 90,6889 │
    │ GEL  │ 1       │ 28,3363 │
    │ HKD  │ 10      │ 95,3890 │
    │ HUF  │ 100     │ 20,7001 │
    │ IDR  │ 10000   │ 49,2185 │
    │ INR  │ 100     │ 90,1603 │
    │ JPY  │ 100     │ 55,4219 │
    │ KGS  │ 100     │ 85,4595 │
    │ KRW  │ 1000    │ 57,2524 │
    │ KZT  │ 100     │ 16,7640 │
    │ MDL  │ 10      │ 39,8181 │
    │ NOK  │ 10      │ 72,3823 │
    │ NZD  │ 1       │ 46,5734 │
    │ PLN  │ 1       │ 16,7565 │
    │ QAR  │ 1       │ 20,5244 │
    │ RON  │ 1       │ 16,1333 │
    │ RSD  │ 100     │ 67,8622 │
    │ SEK  │ 10      │ 72,2507 │
    │ SGD  │ 1       │ 55,7819 │
    │ THB  │ 10      │ 21,5775 │
    │ TJS  │ 10      │ 69,2908 │
    │ TMT  │ 1       │ 21,3453 │
    │ TRY  │ 10      │ 39,6051 │
    │ UAH  │ 10      │ 20,2313 │
    │ USD  │ 1       │ 74,7087 │
    │ UZS  │ 10000   │ 66,0995 │
    │ VND  │ 10000   │ 31,6013 │
    │ XDR  │ 1       │ 99,6569 │
    │ ZAR  │ 10      │ 40,6808 │
    └──────┴─────────┴─────────┘


    ну или конкретно для указанных валют
    $ curl -s "http://www.cbr.ru/scripts/XML_daily.asp" | enconv -x UTF-8 | xq -r '.ValCurs.Valute[] | select(.CharCode == "USD" or .CharCode == "EUR") |.CharCode + " " + .Nominal + " " + .Value' | awk 'BEGIN{print "Code Nominal Value"}{print}' | csview -d' '
    ┌──────┬─────────┬─────────┐
    │ Code │ Nominal │ Value   │
    ├──────┼─────────┼─────────┤
    │ EUR  │ 1       │ 79,5716 │
    │ USD  │ 1       │ 74,7087 │
    └──────┴─────────┴─────────┘
    Ответ написан
    3 комментария