Код: Выделить всё
#!/bin/sh
# 2025-03-01
#╓────────────────────────
#║ Создание zip-архива из содержимого текущего каталога, включая симлинки и
#║ скрытые файлы. Созданный архив размещается каталогом выше под названием
#║ текущего каталога.
#║
#║ Опции архиватора zip
#║
#║ -r - Включить в обработку подкаталоги (рекурсия).
#║ -y - Сохранять символические ссылки (--symlinks).
#║ -x - Явно исключить указанные файлы.
#║
#║ .* - Добавить все скрытые файлы и каталоги.
#║
#║ Выражение ( -x "../*" ) необходимо, чтобы zip не включал в архив файлы выше
#║ текущего каталога. А при таком его раскладе команды, и без этого выражения,
#║ он пытается впихнуть в архив абсолютно все файлы раздела.
#╚═════════════════════════════════════════════════════─────────────────────────
name=$(basename $(pwd))
zip -y ../$name.zip -r .* -x "../*"
#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────
Код: Выделить всё
#!/bin/bash
# 2025-03-01
#╓────────────────────────
#║ Создание rar-архива из содержимого текущего каталога, включая симлинки и
#║ скрытые файлы. Созданный архив размещается каталогом выше под названием
#║ текущего каталога.
#║
#║ Опции архиватора rar
#║
#║ a - Добавить файлы в архив.
#║ -r - Включить в обработку подкаталоги (рекурсия).
#║ -ol - Сохранять символические ссылки как ссылки, а не как файлы.
#║
#║ "*" - Добавить все файлы и каталоги.
#║ ".*" - Добавить все скрытые файлы и каталоги.
#║
#║ Для распаковки архива в linux использовать утилиту unrar, но не прибегать к
#║ услугам файлового менеджера mc. В проитвном случае коректное извлечение
#║ ссылок может быть невозможно.
#╚═════════════════════════════════════════════════════─────────────────────────
name=$(basename $(pwd))
rar a -r -ol ../$name.rar "*" ".*"
#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────
Код: Выделить всё
#!/bin/bash
# 2025-03-01
#╓────────────────────────
#║ Создание tar-архива из содержимого текущего каталога, включая скрытые файлы.
#║ Созданный архив размещается каталогом выше под названием текущего каталога.
#║
#║ Опции архиватора tar
#║
#║ -c - Создать архив.
#║ -f - Добавить файлы в архив.
#║
#║ * - Добавлять в архив все файлы и каталоги.
#╚═════════════════════════════════════════════════════─────────────────────────
name=$(basename $(pwd))
tar cvf ../$name.tar *
#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────
Код: Выделить всё
#!/bin/sh
# 2025-03-01
#╓────────────────────────
#║ Перепаковка формата tazpkg в формат zip-архива.
#║ Там, между прочим, много интересного бывает...
#╚═════════════════════════════════════════════════════─────────────────────────
# Создание каталога с именем пакета и копирование в него саммого пакета
PKG="$1"
[ "$2" != "" ] && TODIR="$2" || TODIR=""
for i in "$PKG"
do
FOLDR=$(echo $i|sed 's/\.tazpkg$//')
done
mkdir "$FOLDR"
cp "$PKG" "$FOLDR"
cd "$FOLDR"
PKGNEW=`ls | grep ".tazpkg"`
echo "$PKGNEW"
# Распаковка пакета SliTaz
cpio -idm < "$PKGNEW"
# Удаление ненужных файлов
[ -f description.txt ] && rm description.txt
[ -f md5sum ] && rm md5sum
[ -f files.list ] && rm files.list
[ -f receipt ] && rm receipt
# Распаковка извлеченного из пакета SliTaz архива
if [ -f fs.cpio.lzma ]; then
echo "Обнаружен формат lzma"
lzma -d fs.cpio.lzma | cpio -i -d -m
cpio -i -d -m < fs.cpio
rm fs.cpio
else
echo "Обнаружен формат gz"
zcat fs.cpio.gz | cpio -i -d -m
rm fs.cpio.gz
fi
rm "$PKGNEW"
# Копирование каталогов на уровень выше
if [ -d fs ]; then
cd fs
mv * ..
cd ..
rmdir fs
name=$(basename $(pwd))
zip -y ../$name.zip -r .* -x "../*"
fi
cd ..
rm -R "$FOLDR"
echo "Пакет $PKG перепакован в формат zip"
#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────
Код: Выделить всё
#!/bin/bash
#╓────────────────────────
#║ Переименование расширения пакетов дистрибутива SliTaz "tazpkg" на
#║ "lzma.cpio". Такое расширение легко понимает mc и входит в пакет как в
#║ обыкновенный архив.
#║
#║ Команда ниже, это цикл for, который находит каждый файл, заканчивающийся на
#║ ".tazpkg". Затем он рекурсивно выполняет операцию переименования всех с
#║ совпадающими именами файлы и заменяет расширение ".tazpkg" на ".lzma.cpio".
#║
#║ "done" в конце команды указывает, что цикл завершен.
#║ {эксклюзив Для завсегдатаев форума}
#╚═════════════════════════════════════════════════════─────────────────────────
#for a in *.tazpkg; do mv -- "$a" "${a%.tazpkg}.lzma.cpio"; done
for a in *.tazpkg
do
mv -- "$a" "${a%.tazpkg}.lzma.cpio"
done
#╓────────────────────────
#║ End file
#╚═════════════════════════════════════════════════════─────────────────────────