Если вы не против изменить тип файловой системы и выполнить полное резервное копирование / восстановление данных, можно решить «нулевые накладные расходы», создав пул ZFS на вашем диске 2 ТБ, а затем по одной файловой системе для каждого пользователя.
Команда « zfs list
» затем сообщит вам в реальном времени об использовании диска для каждого пользователя, не требуя включения дисковой квоты. ZFS также позволит включить дисковые квоты, если вы хотите ограничить использование пользователя по номиналу, резервирование, если вы хотите гарантировать пользователю некоторое пространство по номиналу, моментальные снимки, чтобы разрешить откаты и доступ к файлам в обратном времени, сжатие для экономии места на диске и в целом повышения производительности .
Большинство и, вероятно, все эти функции также возможны с btrfs
Менеджер пакетов Alpines APK
не имеет эквивалента исходной команде dpkg
(apt-get source <PACKAGE_NAME>
).
Чтобы получить точный исходный код, соответствующий установленным пакетам в alpine linux, вы можете использовать комбинацию команд apk
и alpine-sdk
.
Шаги для получения точного исходного кода установленных пакетов в alpine linux:
Получить список всех установленных пакетов:
apk info
Установите alpine -sdk (для получения дополнительной информации прочитайте alpine wiki):
apk --update add alpine-sdk
Клонируйте вашу текущую альпийскую версию из aports:
git clone --depth 1 --branch v3.13.1 git://git.alpinelinux.org/aports
Просмотрите установленные пакеты и найдите нужную папку. в папке aports (будьте осторожны, версия пакета, которую вы можете получить с помощью apk version <PACKAGE_NAME>
, равна<PACKAGE_NAME>-<PACKAGE_BUILD_VERSION>-<PACKGAE_RELEASE_VERSION>
).
Получить исходный код пакета (включает специальные файлы исправлений и файлы конфигурации Alpine)
(Необязательно )вы можете установить пользовательское место назначения для исходных файлов с помощью export SRCDEST="/path/to/my/custom/src/destination"
, иначе будет создана папка src в текущей папке пакета
В папке, соответствующей имени пакета (, например. aports/main/git
для пакета git
)запустите abuild -F fetch verify
как root или abuild fetch verify
как обычный пользователь (это доставит исходные файлы, указанные в сценарии APKBUILD
)
Пакеты, содержащие лицензионный код GPL :Чтобы соответствовать GPL
, вы должны предоставить загруженные исходные файлы и сам скрипт APKBUILD
. Вы также должны предоставить исходные файлы и сценарий APKBUILD
для пакетов, перечисленных в переменной makedepends
сценария APKBUILD
(. openssl-dev
являются подпакетами -(, см. пункт 6 )зависимостей времени выполнения, например.openssl
)см. этот вопрос о GPL
и построить зависимости.
Не у каждого пакета есть своя папка в апортах,потому что иногда пакет, указанный в apk info
, будет подпакетом другого упаковка.
В этом случае вам необходимо получить исходный код пакета. ссылка на исходную переменную в файле .PKGINFO
, который вы можете получить с помощью команды apk fetch <sub-packagename>
.