iata_code
в первом файле на значения из второго файла.{
"json": 1,
"city": "Лондон",
"airports": [
{
"name": "Хитроу",
"city": "Лондон",
"country": "Великобритания",
"iata_code": "ЛХР"
},
{
"name": "Хитроу2",
"city": "Лондон2",
"country": "Великобритания2",
"iata_code": "ЛХР2"
}
]
}
{
"json": 2,
"city": "London",
"airports": [
{
"name": "Heathrow",
"city": "London",
"country": "United Kingdom",
"iata_code": "LHR"
},
{
"name": "Heathrow2",
"city": "London2",
"country": "United Kingdom2",
"iata_code": "LHR2"
}
]
}
iata_code
из первого файла и записываем в промежуточный файл 3.grongron 1.json | grep -v "iata_code" > 3.gron
iata_code
и добавляем в промежуточный файл 3.grongron 2.json | grep "iata_code" >> 3.gron
gron --ungron 3.gron > 3.json
{
"airports": [
{
"city": "Лондон",
"country": "Великобритания",
"iata_code": "LHR",
"name": "Хитроу"
},
{
"city": "Лондон2",
"country": "Великобритания2",
"iata_code": "LHR2",
"name": "Хитроу2"
}
],
"city": "Лондон",
"json": 1
}
mitigations=off
нужно скормить ядру, под виндой вроде в реестре нужно что-то подкручивать. $ echo '{ "exitcode" : 0, "exited" : 1, "out-data" : "Filesystem Size Used Avail Use% Mounted on\nudev 2.3G 0 2.3G 0% /dev\ntmpfs 479M 672K 478M 1% /run\n/dev/mapper/pmg-root 28G 2.7G 24G 11% /\ntmpfs 2.4G 1.1M 2.4G 1% /dev/shm\ntmpfs 5.0M 0 5.0M 0% /run/lock\n" }' | jq -r '."out-data"' | column -t
Filesystem Size Used Avail Use% Mounted on
udev 2.3G 0 2.3G 0% /dev
tmpfs 479M 672K 478M 1% /run
/dev/mapper/pmg-root 28G 2.7G 24G 11% /
tmpfs 2.4G 1.1M 2.4G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
$ lsblk -o NAME,RM,TRAN,SIZE,TYPE,PTTYPE,FSTYPE,PARTTYPENAME,MOUNTPOINTS,MODEL | awk 'NR==1 || $2 == 1'
NAME RM TRAN SIZE TYPE PTTYPE FSTYPE PARTTYPENAME MOUNTPOINTS MODEL
sda 1 usb 14,7G disk dos iso9660 Transcend 16GB
├─sda1 1 789M part dos iso9660 Empty /run/media/admin/ARCH_202309
└─sda2 1 15M part dos vfat EFI (FAT-12/16/32)
$ lsblk -o NAME,RM,FSTYPE,MOUNTPOINTS | awk '$2==1{$2="";print}'
sda iso9660
├─sda1 iso9660 /run/media/admin/ARCH_202312
└─sda2 vfat
$ lsblk -o NAME,RM,TRAN,SIZE,TYPE,PTTYPE,FSTYPE,PARTTYPENAME,MOUNTPOINTS,MODEL | awk 'NR==1 || $2 == 1'
NAME RM TRAN SIZE TYPE PTTYPE FSTYPE PARTTYPENAME MOUNTPOINTS MODEL
sda 1 usb 14,7G disk ext4 Transcend 16GB
$ lsblk -Jpo PKNAME,NAME,RM,FSTYPE,MOUNTPOINTS | jq -r '.blockdevices[] | select(.rm == true) | .children[] |select(.mountpoints[] == null) | "Съёмное устройство \(.pkname) имеет не смонтированный раздел \(.name) с файловой системой \(.fstype)"'
Съёмное устройство /dev/sda имеет не смонтированный раздел /dev/sda2 с файловой системой vfat
$ 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
$ 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
sudo smartctl -ja /dev/nvme0n1 | jq -r '.nvme_namespaces[] | "Всего занято:\t\(.utilization.bytes)\nВсего свободно:\t\(.capacity.bytes - .utilization.bytes)"'
Всего занято: 88322768896
Всего свободно: 411785093120
$ 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
cat sites.json | jq -r '.sites[] | "\(.title)\tadmin\t\(.admin[])\n\(.title)\tfront\t\(.front[])"' | sort -u | fzf -m --delimiter "\t" --nth 1,2 | awk '{print $3}'
Русский 64-bit 2A7C440C984EB018F513901E8ED96405213D237938C410C5089C0FAC7BA01898
Русский 32-bit 7B339135C62CB06C8EB8748922659FC36FBE1DB08C2749B036C00676455A5D00
$ sha256sum Win10_22H2_Russian_x64v1.iso
2a7c440c984eb018f513901e8ed96405213d237938c410c5089c0fac7ba01898 Win10_22H2_Russian_x64v1.iso
Пример, в /home/user лежат файлы test14 test12 test123 test1234. Необходимо чтобы скрипт проверил директорию, и в случае если в ней лежит только один файл test14 завершился успешно, а если в ней находятся файлы указанные выше, то прерывался.
случайный набор цифр после слова test
(( $(ls /home/user |grep -c ^test) > 1 )) && exit
fping -r 1 -a -q 1.1.1.1 || systemctl poweroff
-r
ставим побольше, напримерfping -r 5 -a -q 1.1.1.1 || systemctl poweroff
startplasma-wayland
dbus-run-session startplasma-wayland
startx
, точнее ошибки startplasma-11: ...
указанной на вышеприведённой картинке где говорится что версия GLIBXX_3.4.32
в библиотеке /usr/lib/libstdc++.so.6
(от которой зависит библиотека /usr/lib/libKF5CoreAddons.so.5
) не найдена.GLIBCXX
присутствуют в вашей libstdc++.so.6
командой:strings /usr/lib/libstdc++.so.6 | grep ^GLIBCXX_ | sort --sort=version --unique
GLIBCXX_3.4.32
точно присутствует:...
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_3.4.30
GLIBCXX_3.4.31
GLIBCXX_3.4.32
/usr/lib/libstdc++.so.6
можно узнать с помощью команды:# pacman -Fy /usr/lib/libstdc++.so.6
...
usr/lib/libstdc++.so.6 принадлежит core/gcc-libs 13.2.1-3
-Fy
скачает полную базу с сервера, полная означает что там присутствует информация по файлам входящие в пакеты, используется для удобного поиска оных$ pacman -Q gcc-libs
gcc-libs 13.2.1-3
$ pacman -Si gcc-libs
...
Версия : 13.2.1-3
gcc-libs
совпадают 13.2.1-3
gcc-libs
есть наличие GLIBCXX_3.4.32
, то есть вышеописанной(на фото) проблемы для версии 13.2.1-3
быть точно не должно.gcc-libs
не был обновлён из за частичного обновления, либо по какой-то причине запоздало обновление на сервере, что маловероятно хотя исключать тоже нельзя.sudo pacman -Syu
GLIBCXX_3.4.32
присутствует в /usr/lib/libstdc++.so.6
(см. выше) edk2-ovmf-202308-2
(модификация 2), которую pacman и пытается запросить у внешнего сервера, НО на серверах она уже другая edk2-ovmf-202308-3
(модификация 3) что можно видеть если запросить информацию с сервера по данному пакетуpacman -Si edk2-ovmf
pacman -Sy
pacman -Sh
...
-y, --refresh загрузить обновленные базы данных с серверов
(-yy принудительно обновить даже если обновленные)
-u, --sysupgrade
pacman -Syu edk2-ovmf
наткнулся на повторяющиеся заметки о том, что "тру кодеру" необходимо работать в линуксе.
У меня браузер хром вообще перестал работать, а мозила жестко тормозит, если открыто несколько вкладок
useradd: user 'arch' already exists
userdel -r имя_пользователя
-r
удалит также и домашнюю директории указанного пользователяuseradd group 'users' does not exist useradd the GROUP configuration in /etc/default/useradd will be ignored
users
groupadd группа
useradd
по умолчанию создаётся группа, название которой совпадает с именем пользователя и в которую затем автоматом и добавляется создаваемый пользователь у которого она будет основная. Естественно с помощью ключей поведение можно изменить. В других дистрах в основную группу пользователя часто ставят группу users
fdisk
(диалоговый) is a dialog-driven program for creation and manipulation of partition tables.(man)cfdisk
(псевдографический) is a curses-based program for partitioning any block device.(man)sfdisk
(скрипто-ориентированный) is a script-oriented tool for partitioning any block device.(man)fdisk
, cfdisk
и sfdisk
это связные утилиты входящие в util-linuxsfdisk
который хорошо подходит для указания не интерактивных команд работы с разделами:echo -e "label:gpt\nstart=1M" | sudo sfdisk /dev/sdb