Если Вы смотрите на file
волшебное описание для sqlite файлов, это ищет также SQLite format 3
или ** This file contains an SQLite
в начале файла.
Таким образом, Вы могли или создать волшебный файл только с теми проверками (и отключить встроенные тесты как в @ire_and_curses решении), или сделайте проверку вручную:
case $(head -c 31 < "$file") in
("** This file contains an SQLite"*) echo sqlite 2;;
("SQLite format 3"*) echo sqlite 3;;
esac
Не очень эффективный, поскольку это выполняет a head
на файл. С небольшим усилием Вы Вы могли, вероятно, сделать это в жемчуге, для чтения первого 31 байта из нескольких файлов в одном вызове жемчуга.
так как Вы используете LVM для управления Вашим /usr
раздел, вероятно, необходимо проверить LVM-документацию.
расширять раздел (до, например, 10 ГБ)
# lvextend -L10G /dev/mapper/vg0-usr
после этого можно расширить файловую систему. это является определенным для фс при использовании ext3:
# resize2fs /dev/mapper/vg0-usr
Вам, возможно, придется перезагрузить между двумя командами, и будет более безопасно сделать офлайновый fsresize (который является: размонтирование /usr
перед выполнением resize2fs
; который мог бы плохо обращаться с рабочей системой; используйте живой CD в таком случае (например, установщик Debian, CD имеет опцию "Rescue" для таких случаев),