База cd
У меня много дисков с софтом да и просто с полезной инфой. Часто нужно найти какой-нибудь софт. Причем
это может быть на разных дисках: дистрибутивных, различных журналов, моих собстенных и т.д. Есть множество решений
данной проблемы и мнодество софта. Я таким никогда не пользовался и не вижу смысла в этом.
Создание базы файлов всех дисков в виде одного файла - не разумно, если это какой-то формат баз данных.
У меня свое решение этой проблемы - создание ссылок на каждый файл диска. В этом случае можно все поместить в один
файл файловой системы и потом примонтировать его, ноя не вижу в этом смысла.
проще сделать директорию (у меня /usr/cddb) и помещать туда все.
Как это работает:
Все очень просто - у вас есть папки с названиями дисков, а в них битае ссылки на файлы с дисков. Как только
вы вставите диск - ссылки будут рабочими.
Конечно можно просто сделать find /cdrom -name \* > /usr/cdfilelist и хранить все в простом текстовом файле
но иногда полезно полазить по директориями диска. Кому как нравится. Я опишу мой способ.
Сначала мне были нужны только архивы и я заносил в бызу только их, но потом трудно было найти файлы *.run
Конечно в некоторых случаях удобнее все кинуть в одну кучу, например второй dvd debian - в одну папку - все tar.gz
в другую - diff.gz . Но в остальных случаях надо делать полную базу. Вот небольшой пример скрипта:
for i in `find /cdrw -name \* -follow`
do
if [ -d $i ] # если $i - директория
then
mkdir -p /cddb/$i; # то создать директорию с таким именем
else ln -s $i /cddb/$i # если не директория - то файл
fi
done
Можно /cddb заменить на /cddb/$CD_NAME, и спрашивать имя диска перед каждым добавлением в базу.
Далее поиск в базе - тоже можно написать скрипт -
1. параметр подставить в find /usr/cddb -name <пареметр>
2. вывод команды find или вывести на экран или обработать -
обрезать (sed подойдет) /usr/cddb/ далее все что до слеша - имя директории - соответствующее названию диска.
написать : вставьте диск <название деректории>
Надеюсь вам эта статья поможет. Лично мне все описанное здесь очень помогает, созраняя много времени.
|