36 items
NAME ↑ SIZE MODIFIED PERMS ACTIONS
.. / Parent Directory
a+ — 3.13 KB
2022-02-10 07:08 · rwxr-xr-x
3.13 KB 2022-02-10 07:08 rwxr-xr-x
apt+ — 9.5 KB
2022-02-10 07:08 · rwxr-xr-x
9.5 KB 2022-02-10 07:08 rwxr-xr-x
audio — 1.29 KB
2022-02-10 07:08 · rwxr-xr-x
1.29 KB 2022-02-10 07:08 rwxr-xr-x
bpp — 1.18 KB
2021-01-18 18:27 · rwxr-xr-x
1.18 KB 2021-01-18 18:27 rwxr-xr-x
changesetfs — 2.51 KB
2021-01-18 18:27 · rwxr-xr-x
2.51 KB 2021-01-18 18:27 rwxr-xr-x
deb — 5.4 KB
2022-02-10 07:08 · rwxr-xr-x
5.4 KB 2022-02-10 07:08 rwxr-xr-x
deba — 3 KB
2022-02-10 07:08 · rwxr-xr-x
3 KB 2022-02-10 07:08 rwxr-xr-x
debd — 10.26 KB
2022-02-10 07:08 · rwxr-xr-x
10.26 KB 2022-02-10 07:08 rwxr-xr-x
dpkg+ — 8.79 KB
2022-02-10 07:08 · rwxr-xr-x
8.79 KB 2022-02-10 07:08 rwxr-xr-x
gitfs+ — 786 B
2021-01-18 18:27 · rwxr-xr-x
786 B 2021-01-18 18:27 rwxr-xr-x
hp48+ — 3.58 KB
2022-02-10 07:08 · rwxr-xr-x
3.58 KB 2022-02-10 07:08 rwxr-xr-x
iso9660 — 5.82 KB
2022-02-10 07:08 · rwxr-xr-x
5.82 KB 2022-02-10 07:08 rwxr-xr-x
lslR — 1.41 KB
2022-02-10 07:08 · rwxr-xr-x
1.41 KB 2022-02-10 07:08 rwxr-xr-x
mailfs — 5.7 KB
2022-02-10 07:08 · rwxr-xr-x
5.7 KB 2022-02-10 07:08 rwxr-xr-x
patchfs — 11.01 KB
2022-02-10 07:08 · rwxr-xr-x
11.01 KB 2022-02-10 07:08 rwxr-xr-x
patchsetfs — 2.26 KB
2021-01-18 18:27 · rwxr-xr-x
2.26 KB 2021-01-18 18:27 rwxr-xr-x
README — 7.36 KB
2021-01-18 18:27 · rw-r--r--
7.36 KB 2021-01-18 18:27 rw-r--r--
README.extfs — 1.13 KB
2021-01-18 18:27 · rw-r--r--
1.13 KB 2021-01-18 18:27 rw-r--r--
rpm — 13.93 KB
2021-01-18 18:27 · rwxr-xr-x
13.93 KB 2021-01-18 18:27 rwxr-xr-x
rpms+ — 1.47 KB
2022-02-10 07:08 · rwxr-xr-x
1.47 KB 2022-02-10 07:08 rwxr-xr-x
trpm — 7.66 KB
2021-01-18 18:27 · rwxr-xr-x
7.66 KB 2021-01-18 18:27 rwxr-xr-x
u7z — 4.71 KB
2021-01-18 18:27 · rwxr-xr-x
4.71 KB 2021-01-18 18:27 rwxr-xr-x
uace — 1.48 KB
2022-02-10 07:08 · rwxr-xr-x
1.48 KB 2022-02-10 07:08 rwxr-xr-x
ualz — 1.25 KB
2022-02-10 07:08 · rwxr-xr-x
1.25 KB 2022-02-10 07:08 rwxr-xr-x
uar — 1.3 KB
2022-02-10 07:08 · rwxr-xr-x
1.3 KB 2022-02-10 07:08 rwxr-xr-x
uarc — 1.79 KB
2022-02-10 07:08 · rwxr-xr-x
1.79 KB 2022-02-10 07:08 rwxr-xr-x
uarj — 1.62 KB
2022-02-10 07:08 · rwxr-xr-x
1.62 KB 2022-02-10 07:08 rwxr-xr-x
ucab — 737 B
2022-02-10 07:08 · rwxr-xr-x
737 B 2022-02-10 07:08 rwxr-xr-x
uha — 973 B
2022-02-10 07:08 · rwxr-xr-x
973 B 2022-02-10 07:08 rwxr-xr-x
ulha — 3.78 KB
2022-02-10 07:08 · rwxr-xr-x
3.78 KB 2022-02-10 07:08 rwxr-xr-x
ulib — 2.76 KB
2022-02-10 07:08 · rwxr-xr-x
2.76 KB 2022-02-10 07:08 rwxr-xr-x
unar — 1.22 KB
2022-02-10 07:08 · rwxr-xr-x
1.22 KB 2022-02-10 07:08 rwxr-xr-x
urar — 4.37 KB
2022-02-10 07:08 · rwxr-xr-x
4.37 KB 2022-02-10 07:08 rwxr-xr-x
uwim — 5.09 KB
2022-02-10 07:08 · rwxr-xr-x
5.09 KB 2022-02-10 07:08 rwxr-xr-x
uzip — 14.91 KB
2022-02-10 07:08 · rwxr-xr-x
14.91 KB 2022-02-10 07:08 rwxr-xr-x
uzoo — 1.57 KB
2022-02-10 07:08 · rwxr-xr-x
1.57 KB 2022-02-10 07:08 rwxr-xr-x
ONLINE
extfs.d
36 items
09:34:04
TERMINAL FM
Edit
Preview
Download
Rename
Copy
Chmod
Delete
#!/usr/bin/sh # Midnight Commander - WIM suport # # Written by: # Vadim Kalinnikov , # # This file is part of the Midnight Commander. # # It required wimtools: https://wimlib.net/ # On Debian/Ubuntu wimtools can be installed via: # apt install wimtools which wimlib-imagex 2>/dev/null > /dev/null || exit 1 WIM=`which wimlib-imagex` AWK=gawk [ -n "$2" ] || exit 1 ACTION=$1 WIMFILENAME=$2 mcwim_list() { # Here we can use "Image count" from output, # but on some borken images we can get garbage, instead of number IMAGECOUNT=`${WIM} info ${WIMFILENAME} | grep Index: | grep -v Boot | wc -l` IMGNUM=1 VUID=`id -nu` VGID=`id -ng` while [ ${IMGNUM} -le ${IMAGECOUNT} ]; do ${WIM} dir ${WIMFILENAME} ${IMGNUM} --detailed | \ ${AWK} -v uid=${VUID} -v gid=${VGID} -v imgnum=${IMGNUM} ' /^----------------------------------------------------------------------------/,/^$/ { if (match($0, /^Full Path/)) { split($0, namesrc, "\""); name=namesrc[2]; } if (match($0, /FILE_ATTRIBUTE_DIRECTORY is set/)) { attr="drwxr-xr-x" } if (match($0, /^Uncompressed size/)) { size=$4; } if (match($0, /^Last Write Time/)) { months["Jan"] = "01"; months["Feb"] = "02"; months["Mar"] = "03"; months["Apr"] = "04"; months["May"] = "05"; months["Jun"] = "06"; months["Jul"] = "07"; months["Aug"] = "08"; months["Sep"] = "09"; months["Oct"] = "10"; months["Nov"] = "11"; months["Dec"] = "12"; split($0, mtimesrc, " "); mtime=sprintf("%s/%s/%s %s", months[mtimesrc[6]], mtimesrc[7], mtimesrc[9], mtimesrc[8]); } if (match($0, /^$/)) { printf("%s 1 %s %s % 20s % 24s IMAGE%s%s\n", attr, uid, gid, size, mtime, imgnum, name); name = size = mtime = ""; attr="-rw-r--r--"; } } ' IMGNUM=$((IMGNUM+1)) done # Virtual files echo "-r-xr-xr-x 1 ${VUID} ${VGID} 1 01/01/2020 00:00:00 OPTIMIZE" echo "-r-xr-xr-x 1 ${VUID} ${VGID} 1 01/01/2020 00:00:00 VERIFY" } mcwim_copyout() { # Virtual files if [ "${FILENAMESRC}" = "OPTIMIZE" ]; then echo "#/bin/sh" > ${FILENAMEDST} echo "# Run this to optimize archive" >> ${FILENAMEDST} echo "${WIM} optimize \"${WIMFILENAME}\"" >> ${FILENAMEDST} chmod a+x ${FILENAMEDST} exit 0; elif [ "${FILENAMESRC}" = "VERIFY" ]; then echo "#/bin/sh" > ${FILENAMEDST} echo "# Run this to verify archive" >> ${FILENAMEDST} echo "${WIM} verify \"${WIMFILENAME}\"" >> ${FILENAMEDST} chmod a+x ${FILENAMEDST} exit 0; fi # Filename must contain imgnum echo ${FILENAMESRC} | grep -E '^IMAGE[0-9]+/' || exit 1 IMGNUM=`echo ${FILENAMESRC} | cut -d '/' -f1 | sed "s/IMAGE//"` REALFILENAME=`echo ${FILENAMESRC} | sed "s/IMAGE${IMGNUM}//"` ${WIM} extract ${WIMFILENAME} ${IMGNUM} ${REALFILENAME} --to-stdout > ${FILENAMEDST} } mcwim_copyin() { # Skip virtual files [ "${FILENAMEDST}" = "OPTIMIZE" ] && exit 1; [ "${FILENAMEDST}" = "VERIFY" ] && exit 1; # Filename must contain imgnum echo ${FILENAMEDST} | grep -E '^IMAGE[0-9]+/' || exit 1 IMGNUM=`echo ${FILENAMEDST} | cut -d '/' -f1 | sed "s/IMAGE//"` REALFILENAME=`echo ${FILENAMEDST} | sed "s/IMAGE${IMGNUM}//"` echo "add \"${FILENAMESRC}\" \"${REALFILENAME}\"" | ${WIM} update ${WIMFILENAME} ${IMGNUM} > /dev/null } mcwim_rm() { # Skip virtual files [ "${FILENAMESRC}" = "OPTIMIZE" ] && exit 0; [ "${FILENAMESRC}" = "VERIFY" ] && exit 0; # Filename must contain imgnum echo ${FILENAMESRC} | grep -E '^IMAGE[0-9]+/' || exit 1 IMGNUM=`echo ${FILENAMESRC} | cut -d '/' -f1 | sed "s/IMAGE//"` REALFILENAME=`echo ${FILENAMESRC} | sed "s/IMAGE${IMGNUM}//"` if [ -z "${REALFILENAME}" ]; then # If user want to remove image ${WIM} delete ${WIMFILENAME} ${IMGNUM} else # remove regular file or directory echo "delete \"${REALFILENAME}\"" | ${WIM} update ${WIMFILENAME} ${IMGNUM} --force --recursive > /dev/null fi } mcwim_run() { case ${RUNFILENAME} in OPTIMIZE) ${WIM} optimize ${WIMFILENAME} exit 0; ;; VERIFY) ${WIM} verify ${WIMFILENAME} exit 0; ;; esac exit 1; } mcwim_mkdir() { # New dirname must contain imgnum echo ${NEWDIRNAME} | grep -E '^IMAGE[0-9]+/' || exit 1 IMGNUM=`echo ${NEWDIRNAME} | cut -d '/' -f1 | sed "s/IMAGE//"` REALDIRNAME=`echo ${NEWDIRNAME} | sed "s/IMAGE${IMGNUM}//"` [ -z "${REALDIRNAME}" ] && exit 1 TMPDIR=`mktemp -d` DSTBASENAME=`basename ${REALDIRNAME}` SRCDIRNAME="${TMPDIR}/${DSTBASENAME}" mkdir -p ${SRCDIRNAME} echo "add \"${SRCDIRNAME}\" \"${REALDIRNAME}\"" | ${WIM} update ${WIMFILENAME} ${IMGNUM} > /dev/null rm -rf ${TMPDIR} } #echo "'$1' '$2' '$3' '$4' '$5'" >> /tmp/mcdebug case "$ACTION" in list) mcwim_list ;; copyout) [ -n "$4" ] || exit 1 FILENAMESRC="$3" FILENAMEDST="$4" mcwim_copyout ;; copyin) [ -n "$4" ] || exit 1 FILENAMEDST="$3" FILENAMESRC="$4" mcwim_copyin ;; rm|rmdir) [ -n "$3" ] || exit 1 FILENAMESRC="$3" mcwim_rm ;; run) [ -n "$3" ] || exit 1 RUNFILENAME="$3" mcwim_run ;; mkdir) [ -n "$3" ] || exit 1 NEWDIRNAME="$3" mcwim_mkdir ;; *) exit 1 ;; esac