Задать вопрос
  • Как подключить Wi-Fi в ноутбуке Lenovo Ideapad 1 11ada05?

    xotkot
    @xotkot
    Runis, там же не одна строчка
    сравните полный вывод для live и установленной системы
    lspci -v | awk '/Network/,/^$/'

    п.с.
    само название адаптера говорит только о том что на PCI шине висит нужный wi-fi адаптер, но чтобы узнать подгружен ли драйвер/модуль для него нужно смотреть далее по тексту Kernel driver и Kernel modules
  • Как подключить Wi-Fi в ноутбуке Lenovo Ideapad 1 11ada05?

    xotkot
    @xotkot
    Хотя в режиме Live CD в Devuan, на удивление, Wi-Fi был активен.

    ну вот еще раз с него загрузитесь и посмотрите вывод:
    lspci -v
    или конкретнее
    lspci -v | awk '/Network/,/^$/'
    там будет указанно какие используются для wifi - Kernel driver/modules
    тот же модуль будет висеть в lsmod
    ну а потом уже в установленной системе подгрузите данный модуль, ну или сначала установите драйвер если нету а потом подгрузите модуль
  • Как использовать новый драйвер NTFS из ядра 5.15 монтирования?

    xotkot
    @xotkot
    nihi1ist, ошибок не выдало ?

    для примера возьмём диск /dev/sda, создадим на нём раздел и отформатируем в ntfs

    создадим таблицу разделов(ТР) gpt, осторожно, старая ТР будет удалена, и создадим 1 раздел на весь диск:
    $ echo -e "label:gpt\nstart=1M" | sudo sfdisk /dev/sda

    смотрим что всё получилось:
    $ lsblk -o +PTTYPE,UUID /dev/sda
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS PTTYPE UUID
    sda      8:0    1  15G  0 disk             gpt
    └─sda1   8:1    1  15G  0 part             gpt    2EED4B4B2BC0921A


    форматируем в ntfs
    либо в винда либо в линукс, в linux утилита mkfs.ntfs ставится вместе с ntfs-3g, ну или другим пакетом в зависимости от дистрибутива, сами paragon чей новый драйвер теперь в ядре 5.15 сказали что позже предоставят свою утилиту fsck и mkfs для ntfs
    $ mkfs.ntfs /dev/sda1
    шаги выше можно пропустить если уже есть готовый раздел с ntfs

    далее создадим папку для монтирования и примонтируем раздел, можно по uuid или как обычно подставив имя раздела(/dev/sda1):
    $ mkdir /tmp/ntfs
    $ sudo mount -v -t ntfs3 --uuid 2EED4B4B2BC0921A /tmp/ntfs
    mount: /dev/sda1 mounted on /tmp/ntfs.


    убедимся что всё примонтировалось нормально, а также смотрим опции которые система выдала по умолчанию:
    $ findmnt /dev/sda1
    TARGET  SOURCE    FSTYPE OPTIONS
    /tmp/ntfs /dev/sda1 ntfs3  rw,relatime,uid=0,gid=0,iocharset=utf8


    пробуем записать и считать данные:
    $ echo 111 > /tmp/ntfs/1.txt
    $ cat /tmp/ntfs/1.txt
    111

    размонтируем:
    $ sudo umount /dev/sda1
  • Как переместить всё из папки в папку в linux?

    xotkot
    @xotkot
    кроме скрытых(.) файлов и директорий
  • Как использовать новый драйвер NTFS из ядра 5.15 монтирования?

    xotkot
    @xotkot
    nihi1ist, значит поддержка в ядре есть
    ну так вы в ручную монтировать пробовали ?
  • Почему буквенные клавиши на клавиатуре расположены косо, а не прямо, как сетка?

    xotkot
    @xotkot
    выверты истории, у вимеров так вообще грустное начало, когда некоторые производители решили сэкономить на клавишах:
    52887aad3b8538c7519ef158ceb8c518.png
    https://habr.com/ru/company/itsoft/blog/552626/
  • Как использовать новый драйвер NTFS из ядра 5.15 монтирования?

    xotkot
    @xotkot
    nihi1ist,
    попробуйте тогда так:
    grep CONFIG_NTFS3_FS /boot/config-`uname -r`

    так что там с ручным монтированием ?
  • Как использовать новый драйвер NTFS из ядра 5.15 монтирования?

    xotkot
    @xotkot
    а вручную пробовали ? может какие-то ошибки пишет
    mount -t ntfs3 --uuid 96E654E1E654C363 /mnt/data
    да и гляньте присутствует ли в ядре
    zgrep CONFIG_NTFS3_FS /proc/config.gz
  • Почему при распределении свободной памяти при установке Линукс минта она не хочет работать?

    xotkot
    @xotkot
    у вас походу MBR который поддерживает до 4-х основных(primary) разделов
    как вариант можете временно перенести данные с диска E: , потом удалить его, и на освободившемся месте + место в конце диска создать расширенный(extended) раздел, а уже на нём создать несколько логический разделов, один для восстановления E: а второй для linux
  • Проблема с установкой драйвера rtl8821-ce в ARCH?

    xotkot
    @xotkot
    Оказывается у меня не было пакета bc, но мне кажется он должен ставиться с base-devel.

    https://archlinux.org/groups/x86_64/base-devel/
    или через сам пакман:
    pacman -Sqg base-devel

    а это пакеты которые тянут bc как обязательную зависимость:
    pactree -lsru bc

    в общем не пересекаются, да и не удивительно, так как пакеты из группы base-devel находятся в Core, а bc в Extra

    Ещё мне пришлось kbd самому ставить для cyr-sun16, хотя у всех в гайдах он был предустановлен

    в установочном образе он предустановлен, а в системе которую ставите он может появится только если вы сами его поставили или его притянет другой пакет как зависимость, возможно вы ставили систему по минимуму поэтому он и не подтянулся как зависимость, а его, на секундочку, тянут больше 3к пакетов
    pactree -lsru kbd | wc -l
  • Легкий текстовый редактор, замена блокноту?

    xotkot
    @xotkot
    если делать упор на скорость то можно попробовать Tau это фронт для ядра xi-editor у которого заявленна - "All editing operations should commit and paint in under 16ms."
  • Что делать, если SWAP почти заполнился?

    xotkot
    @xotkot
    а 2GB свопа вам сильно помогают при 32G оперативки ?
  • Как сравнить 2 файла в linux?

    xotkot
    @xotkot
    nak-alexey,
    https://man.archlinux.org/man/comm.1
    проще говоря, comm по умолчанию выводит три столбца
    1 - уникальные строки для первого файла
    2 - уникальные строки для второго файла
    3 - общие строки

    нам нужна - "строку, которая отсутствует во втором файле", а это по сути уникальная строка из первого файла.
    то есть, -2 и -3 удаляют второй и третий столбец, остаётся только первый.
  • Как сложить числа от x до y на bash?

    xotkot
    @xotkot
    trickster2019, в смысле неправильно ?
    $ ./script.sh
    число 1: 3
    число 2: 6
    18

    проверка:
    $ echo $[3+4+5+6]
    18
  • Сжатие дисков/папок в Linux?

    xotkot
    @xotkot
    если доступ read-only то есть замечательная штука dwarfs
  • Возможно ли копировать полностью всю ОС Ubuntu через ssh?

    xotkot
    @xotkot
    тут есть много ограничений
    1. размер дисков - принимающий диск должен быть равен или больше копируемого
    2. скорость - если у вас медленная сеть а копируемый диск в несколько сотен гигабайт то передача может затянутся на несколько часов и естественно сеть в это время будет под нагрузкой
    примерно 40-50 гигабайт в час при 100Мбит/с сети
    3. диск с живой системой полноценно скопировать врядли получится, разве что загрузив её в ридонли, проще будет загрузится с флешки и с неё запускать команды на копирование, например:
    отдаём
    nc -c $IP $PORT < /dev/$DiskIN
    принимаем
    nc -l -p $PORT | pv -bpt > /dev/$DiskOUT
  • Почему Google Translate даёт неправильный перевод в ряде случаев?

    xotkot
    @xotkot
    Мне надо собрать небольшой словарь английских слов с переводом. Использую для этого Selenium...

    мне надо посадить дерево, для этого я взял трактор, экскаватор и строительную бригаду в придачу
    $ curl -s "https://translate.googleapis.com/translate_a/single" --data "client=gtx&dt=t&sl=en&tl=ru" --data-urlencode "q=runoff" | jq -j '.[0] | .[] | .[1]," ",.[0]'
    runoff	сток
  • Как посчитать число строк в файле по условию?

    xotkot
    @xotkot
    если делать конкретно через date, а не тупо обрабатывать как строки что проще но нужно знать конкретный диапазон, то необходимо учитывать некоторые нюансы, ту же локаль, так как у вас или кого-то другой кто будет у себя запускать данную команду может быть отличная локаль для даты чем в самом логе
    сравните
    $ date -d now
    $ LANG=ru_RU.UTF-8 date -d now
    $ LANG=en_US.UTF-8 date -d now

    сами локали естественно должны быть доступны в системе, проверить можно утилитой localectl:
    $ localectl list-locales
    en_US.UTF-8
    ru_RU.UTF-8


    также +0300 это не просто так, и если обрабатывать скрипт находясь в другом часовом поясе то может произойти смещение по времени в ту или иную сторону
    так что если внести поправки на часовой пояс( %z) + локаль, получим:
    LANG=en_US.UTF-8 date -d 'now-24hours' +'[%d/%b/%Y:%H:%M:%S %z]'


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

    cat example.ru.log  | awk -F'[][/:]' '/router.php/{"date +%s -d \""$2"-"$3"-"$4" "$5":"$6":"$7"\"" | getline z; print z" "$0}'

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

    1637320437 212.193.33.123 - - [19/Nov/2021:14:13:57 +0300] "GET /router.php HTTP/1.0" 301 445 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637320437 212.193.33.123 - - [19/Nov/2021:14:13:57 +0300] "GET /router.php HTTP/1.0" 301 445 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637320438 212.193.33.123 - - [19/Nov/2021:14:13:58 +0300] "GET /router.php HTTP/1.0" 301 449 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321647 212.193.33.123 - - [19/Nov/2021:14:34:07 +0300] "GET /router.php HTTP/1.0" 301 449 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321647 212.193.33.123 - - [19/Nov/2021:14:34:07 +0300] "GET /router.php HTTP/1.0" 301 447 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321648 212.193.33.123 - - [19/Nov/2021:14:34:08 +0300] "GET /router.php HTTP/1.0" 301 446 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321650 212.193.33.123 - - [19/Nov/2021:14:34:10 +0300] "GET /router.php HTTP/1.0" 301 445 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321650 212.193.33.123 - - [19/Nov/2021:14:34:10 +0300] "GET /router.php HTTP/1.0" 301 451 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637321651 212.193.33.123 - - [19/Nov/2021:14:34:11 +0300] "GET /router.php HTTP/1.0" 301 445 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637324092 212.193.33.123 - - [19/Nov/2021:15:14:52 +0300] "GET /router.php HTTP/1.0" 301 449 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637326108 212.193.33.123 - - [19/Nov/2021:15:48:28 +0300] "GET /router.php HTTP/1.0" 301 447 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
    1637327153 212.193.33.123 - - [19/Nov/2021:16:05:53 +0300] "GET /router.php HTTP/1.0" 301 446 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"


    дату 1 день(24 часа) назад можно узнать так:
    date +%s -d 'now-1day'
    или даже так
    echo $[`date +%s` - 24*60*60]
    просто отняв от текущего количество нужных секунд

    в итоге получим:
    cat example.ru.log |awk -F'[][/:]' '/router.php/{"date +%s -d \""$2"-"$3"-"$4" "$5":"$6":"$7"\"" | getline z; print z" "$0}' | awk -v t=$[`date +%s` - 24*60*60] '$1>=t'


    теперь при желании можно легко расширить и указывать диапазон поиска от(t1) и до(t2)
    cat example.ru.log |awk -F'[][/:]' '/router.php/{"date +%s -d \""$2"-"$3"-"$4" "$5":"$6":"$7"\"" | getline z; print z" "$0}' | awk -v t1=`date +%s -d '19-Nov-2021 15:00:00 +0300'` -v t2=`date +%s -d '19-Nov-2021 16:00:00 +0300'` '$1>=t1 && $1<=t2'

    здесь ищем в диапазоне одного часа
    от 19-Nov-2021 15:00:00 +0300
    до 19-Nov-2021 16:00:00 +0300
    результат
    1637324092 212.193.33.123 - - [19/Nov/2021:15:14:52 +0300] "GET /router.php HTTP/1.0" 301 449 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +www.google.com/bot.html)"
    1637326108 212.193.33.123 - - [19/Nov/2021:15:48:28 +0300] "GET /router.php HTTP/1.0" 301 447 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36 (compatible; Googlebot/2.1; +www.google.com/bot.html)"
  • Как посчитать число строк в файле по условию?

    xotkot
    @xotkot
    Vincent1,
    Как awk понимает, что это диапазон?

    эта принятая форма записи для вывода всего что между строк в которых есть указанные подстроки, для sed кстати примерно также будет:
    awk '/str1/,/str2/'