LINUX.ORG.RU

Сообщения MaksimIT

 

BTRFS и место на диске (df и compsize)

Здравствуйте, помогите, пожалуйста, разобраться с логикой сжатия в BTRFS - а то что-то я туплю.

У меня стоит Fedora 38 с файловой системой btrfs по умолчанию. Утилита df показывает, что занято 29 Гб на диске.

[m@fedora ~]$ df -h

Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
devtmpfs           4,0M            0  4,0M            0% /dev
tmpfs              7,5G         9,8M  7,5G            1% /dev/shm
tmpfs              3,0G         1,9M  3,0G            1% /run
/dev/nvme0n1p3     232G          29G  202G           13% /
/dev/nvme0n1p3     232G          29G  202G           13% /home
/dev/nvme0n1p2     974M         358M  549M           40% /boot
tmpfs              7,5G         312K  7,5G            1% /tmp
tmpfs              1,5G          15M  1,5G            1% /run/user/1000

В интернете читал, что команда df показывает некорректное значение - подсчитывает размер файлов на уровне ОС и ссылки btrfs на один файл считает за разные файлы, поэтому показывает больше, чем хранится физически на диске.

При этом btrfs fi usage показывает те же 28-29 Гб в Used:

[m@fedora ~]$ sudo btrfs fi usage /

Overall:
    Device size:		 231.88GiB
    Device allocated:		  32.06GiB
    Device unallocated:		 199.82GiB
    Device missing:		     0.00B
    Device slack:		     0.00B
    Used:			  28.56GiB
    Free (estimated):		 201.06GiB	(min: 101.15GiB)
    Free (statfs, df):		 201.06GiB
    Data ratio:			      1.00
    Metadata ratio:		      2.00
    Global reserve:		  82.22MiB	(used: 0.00B)
    Multiple profiles:		        no

Data,single: Size:28.00GiB, Used:26.76GiB (95.57%)
   /dev/nvme0n1p3	  28.00GiB

Metadata,DUP: Size:2.00GiB, Used:923.00MiB (45.07%)
   /dev/nvme0n1p3	   4.00GiB

System,DUP: Size:32.00MiB, Used:16.00KiB (0.05%)
   /dev/nvme0n1p3	  64.00MiB

Unallocated:
   /dev/nvme0n1p3	 199.82GiB

Утилита compsize показывает, что физически (у меня один физический диск) на диске хранится 9.7 Гб данных:

[m@fedora ~]$ sudo compsize -x /

Processed 364368 files, 235685 regular extents (339431 refs), 201866 inline.
Type       Perc     Disk Usage   Uncompressed Referenced  
TOTAL       48%      9.7G          20G          28G       
none       100%      5.7G         5.7G         7.5G       
zstd        27%      4.0G          14G          20G       
prealloc   100%       12K          12K         7.9M 

Вопрос: Что будет, если Disk Usage будет близок к емкости диска (232 Гб)? Допустим, Disk Usage 200 Гб, при этом Referenced 400 Гб, то есть больше емкости самого диска. Такое возможно? Как будет себя вести система, когда с ее точки зрения количество занимаемой памяти превысит емкость диска? Что будет отображаться в df? Это можно как-то проверить - например, запустить Live Fedora на небольшой флешке и скопировать несколько файлов - какие файлы взять, чтобы сжатие было высоким? Может есть какая-то статья с примерами такого поведения?

Может у кого-то есть ссылка на то, о чем я спрашиваю? - сам нагуглить не смог

 ,

MaksimIT
()

Потеря ssh-подключения в raspberry при подключении к wi-fi

Есть главный роутер, к которому по Ethernet подключены ПК и raspberry pi zero. Этот роутер используется для выхода в интернет и подключения с ПК к raspberry по ssh.

К raspberry подключен внешний wi-fi адаптер, который успешно работает (определяется в ifconfig и ищет сети).

Есть еще 1 роутер (побочный), к которому требуется подключиться с raspberry через wi-fi. Это удалось сделать, добавив следующее в /etc/network/interfaces:

allow-hotplug wlan0

iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

а затем и в /etc/wpa_supplicant/wpa_supplicant.conf:

network={ ssid=«NameNet»

psk=«password»

key_mgmt=WPA-PSK

}

Однако после правки этих двух файлов подключиться по ssh с ПК к плате не удается (Resource temporarily unavailable). При этом dhcp-сервер главного роутера видит плату и назначает ей ip-адрес. Как мне сохранить подключение по ssh к ПК при добавлении подключения по wi-fi?

 , ,

MaksimIT
()

Цветной вывод текста tail, cat и т.п. в консоль

Здравствуйте, подскажите, как должен выглядеть текст, чтобы он выводился цветом в консоли, например, при команде tail? Я знаю, что, чтобы вывести в консоль в программе на python что либо цветом, нужно использовать специальные последовательности, например, команда print('\033[33mhello\033[0m') выведет в консоль «hello» желтым. Если эти последовательности вписать в файл и затем показать его в консоли с помощью команды tail, то выведется обычный белый текст «\033[33mhello\033[0m». Пояснение: у меня raspberry pi круглосуточно занимается датамайнингом и пишет логи. Хотелось бы подключиться к ней по ssh и командой tail посмотреть эти логи с цветным выделением.

 

MaksimIT
()

При редактировании /etc/network/interfaces отваливается ssh

Есть raspberry pi zero v1.2 с установленной Raspbian. К ней подключен usb-hub, к которому подключена сетевая карта RTL8152B. Через эту карту карта подключена к роутеру, стационарный ПК также подключен к роутеру.

Мне требуется подключить wi-fi адаптер. Скачиваю драйвер, устанавливаю, он ставится, появляется интерфейс wlan0 при подключенном свистке, все впорядке. Перезагружаюсь, вновь подключаюсь с ПК к плате по ssh

Далее надо отредактировать файл /etc/network/interfaces Изначально в нем:

# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

Дописываю:

auto wlan0
iface wlan0 inet dhcp
wpa-ssid "Имя_сети"
wpa-psk "Тут_мой_пароль"

Делаю sudo reboot. После включения платы индикатор свистка мигает, на телефоне (с него раздавал wifi) появилось одно подключенное устройство raspberry. То есть я подключился к Wi-Fi.

Но проблема заключается в том, что теперь я не могу подключиться к плате по ssh. В списке клиентов роутера плата отсутствует, хотя диод на сетевой карте мигает. Как решить данную проблему?

Я не опытный пользователь linux, поэтому могу не знать очевидных вещей по этой теме.

 , ,

MaksimIT
()

Подключить Wi-Fi-адаптер к raspberry pi

 С linux я знаком мало, так что могу не знать очевидных для опытных пользователей вещей.

Есть raspberry pi zero v1.3 - версия без встроенного модуля Wi-Fi. Есть usb-модуль Wi-Fi TL-WN727N v5.20. Требуется подключить этот свисток и настроить Wi-Fi на плате.

  1. Устанавливаю ОС Raspbian Buster Lite с офиц. сайта - минимальный функционал, без поддержки графического интерфейса.
  2. Делаю все по готовой инструкции https://habr.com/ru/post/471564/
  3. После сборки и установки драйвера ввожу iwconfig и вижу только:

pi@raspberrypi:~ $ iwconfig

eth0 no wireless extensions.

lo no wireless extensions.

При этом система видит устройство - результат lsusb:

Bus 001 Device 004: ID 2357:0111 TP-Link

Здесь нет интерфейса wlan0, как у автора статьи. Что можно сделать в данной ситуации? У автора статьи свисток версии 5.21, у мена 5.20, но VID/PID у меня такой же, он занесен в драйвер. Чипсет совпадает с чипсетом автора - я проверил.

 , , ,

MaksimIT
()

Доступ к роутеру-клиенту по ssh

Есть 2 роутера с установленными OpenWrt. Один из них работает в режиме точки доступа (Tx), другой подключен к нему в режиме клиента (Rx). ПК также подключен в режиме клиента к Tx. Все подключения осуществляются по Wi-Fi.

Я могу с ПК командой «ssh root@192.168.1.1» получить доступ к Tx, а уже из открывшегося терминала Tx командой «ssh root@192.168.1.216» получаю доступ к Rx. При этом у меня не получается с ПК получить доступ по ssh сразу к Rx, минуя Tx. Как это сделать? Интересует именно выполнение команд на Rx из скрипта на ПК.

 ,

MaksimIT
()

Доступ в интернет на raspberry по ssh через другой ПК с интернетом

Здравствуйте, есть ПК на Windows 10 с установленными клиентом и сервером ssh, есть raspberry pi zero на raspbian, на которой требуется получить доступ в интернет. На ПК есть интернет. По ssh могу подключиться из raspberry к командной строке ПК и наоборот.

Как я могу получить доступ в интернет на raspberry, чтобы можно было выполнять команды из терминала raspberry по типу git clone, apt-get update и т.д.

Я в этом разбираюсь плохо, поэтому желателен способ, который реализуется как можно проще.

 , ,

MaksimIT
()

Удобный запуск собственной программы из терминала

Есть скомпилированная программа на C на raspberry pi (raspbian). Она убирает комментарии из файла .c. Сначала я ее запускаю в терминале, затем ввожу строку с 2-мя путями (затем она будет распарсена на 2 строки) - исходный файл и новый файл с кодом без комментариев.

Как сделать так, чтобы запуск программы из терминала был более удобным, как запуск системных утилит в консоли - хотелось бы дать псевдоним программе и сразу передавать ей параметры? Например $ rmcomm исходный_файл.c новый_файл.c.

 , ,

MaksimIT
()

Raspbian Lite не видит клавиатуру после установки

Есть raspberry pi zero V1.3. Установил десктопную версию raspbian с официального сайта: https://www.raspberrypi.org/downloads/raspbian/. Клавиатура, мышь, флешки через USB HUB определяются, работают без проблем.

Понадобилось установить версию Lite без графичекого интерфейса. Скачал с офиц. сайта образ, смонтировал, поставил. Запустил, установка прошла успешно, но не могу ввести логин пользователя в терминале - клавиатура не опредляется, диоды на ней не горят (проводная Logitech K120). Флешка и мышь определяются через USB HUB (видно по горящим диодам), а клавиатура не хочет.

Пробовал перезапускать плату, менять разъемы на USB HUB - бестолку, хотя на десктопной raspbian клавиатура определялась. Подскажите, как можно это исправить? На десктопной версии переключался на терминал tty и работал с клавиатуры без проблем

 , , ,

MaksimIT
()

Создание статической библиотеки для C

Нужно подключить статическую библиотеку для программы на си на raspberry pi (стоит Raspbian, основана на Debian). Я в линукске новичек, делал по этой статье: http://radist-elvin.blogspot.com/2008/07/linux.html

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

Затем мне нужно было определить константу с помощью #define в библиотеке и использовать ее в программе. На это компилятор gcc выдал ошибку, что эта константа не определена в программе.

1) Как убрать предупреждение «implicit declaration of function» 2) Как заставить работать #define из библиотеки с моей программой после линковки. - ГЛАВНЫЙ вопрос 3) Можно ли как то подключить статическую библиотеку с помощью #include, чтобы каждый раз не линковать вручную в консоли? Как это правильно сделать?

 , , ,

MaksimIT
()

Raspbian - как подключиться к интернету по кабелю c PPPOE

Raspbian основана на Debian.

С Линуксом я раньше не работал. Хотелось бы подключить Raspberry Pi Zero с установленной Raspbian к интернету без использования оного.

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

http://debianadmin.ru/nastrojka-pppoe.html

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

Простите, если вопросы глупые - привык по проводу на Винде в одну кнопку подключаться.

 , ,

MaksimIT
()

RSS подписка на новые темы