Правим файл расширений
mc (меню Команда --> Файл расширений --> Пользовательский)
#sfs
regex/\.sfs$ # изменить
Open=MC_MNT %f # изменить
View=%view{ascii} unsquashfs -ll %f
Заменяем на следующее
# squashfs
regex/\.(sfs|tcz)$
Open=%cd %p#squashfs
View=%view{ascii} unsquashfs -ll %f
Добавляем в папку
/usr/libexec/mc/extfs.d файл
squashfs следующего содержания
#! /bin/sh
UNSQUASH=/usr/sbin/unsquashfs
mcsquashfs_list () {
$UNSQUASH -ll "$1" | awk '
{if (NR == 1) { next }}
{if (NR == 2) { next }}
/^$/ { next }
/^d/ { next }
{
sub("/", " ", $2)
date = substr($4, 6, 2) "-" substr($4, 9, 2) "-" substr($4, 1, 4) " " $5
sub("squashfs-root", "", $6)
name = $6
{if($7 != ""){name = name " " $7}}
{if($8 != ""){name = name " " $8}}
printf "%s 1 %s %s %s %s\n", $1, $2, $3, date, name
}'
}
mcsquashfs_copyout () {
TMP_DIR="/tmp/squashfs_temp"
[ ! -d $TMP_DIR ] && mkdir $TMP_DIR
$UNSQUASH -f -d $TMP_DIR $1 -e /$2 > /dev/null
mv $TMP_DIR/$2 $3
[ -d $TMP_DIR ] && rm -r $TMP_DIR
}
LC_ALL=C
cmd="$1"
shift
case "$cmd" in
list)
mcsquashfs_list "$@";
exit 0;;
copyout)
mcsquashfs_copyout "$@";
exit 0;;
esac
exit 1
Файлу
squashfs установить атрибуты исполняемого
Перезапустить
mc