Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6b94a50229 | |||
| 2596a6a6fb | |||
| b8cb0defe8 | |||
| b10ba9ffee | |||
| 8ae84ab526 | |||
| 6692024ae1 | |||
| 9a13b0168c | |||
| 446b6647ed | |||
| fd40e86308 | |||
| 2c6f419db8 | |||
| 0be7239088 | |||
| a460d09a15 | |||
| ed3cc63cec | |||
| 4a276f5a6d | |||
| 961b97375b | |||
| f1cdd41bc7 | |||
| 7c486ddcf9 | |||
| 43abad0f77 | |||
| 32b30edc2c | |||
| 7c1fd864d7 |
@@ -1,4 +1,18 @@
|
||||
#Linux compressor humanizer
|
||||
# Linux compressor humanizer
|
||||
|
||||
## Installation
|
||||
|
||||
###### install
|
||||
```
|
||||
sudo ./install.sh
|
||||
```
|
||||
|
||||
###### Uninstall
|
||||
```
|
||||
sudo ./uninstall.sh
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
###### Compress
|
||||
```
|
||||
@@ -10,22 +24,43 @@ $ lch file.zip file1 [file2...]
|
||||
$ lch file.zip
|
||||
```
|
||||
|
||||
## Supported extensions
|
||||
- tar
|
||||
- tar.gz
|
||||
- tar.bz2
|
||||
- tar.xz
|
||||
- bz2
|
||||
- tgz
|
||||
- gz
|
||||
- zip
|
||||
- 7z
|
||||
- rar
|
||||
###### Options
|
||||
```
|
||||
$ lch -h - Show help
|
||||
$ lch -v - Print version
|
||||
$ lch -c - Check compression systems
|
||||
$ lch -i - Install the compressors dependencies
|
||||
```
|
||||
|
||||
## Install
|
||||
```
|
||||
sudo ./install.sh
|
||||
```
|
||||
## Supported extensions
|
||||
|
||||
###### Packing/unpacking:
|
||||
- 7z
|
||||
- bz2
|
||||
- gz
|
||||
- rar
|
||||
- tar
|
||||
- tar.bz2
|
||||
- tar.gz
|
||||
- tar.xz
|
||||
- tgz
|
||||
- zip
|
||||
|
||||
###### Unpacking only:
|
||||
- arj
|
||||
- cab
|
||||
- dmg
|
||||
- iso
|
||||
- lzh
|
||||
- lzma
|
||||
- rpm
|
||||
- SquashFS
|
||||
- vdi
|
||||
- vhd
|
||||
- vmdk
|
||||
- win
|
||||
- xar
|
||||
- z
|
||||
|
||||
## Testing with docker
|
||||
```
|
||||
|
||||
@@ -1,18 +1 @@
|
||||
Impotancia (0>10) # Nombre de la incidencia.
|
||||
|
||||
1 # El desistalado parece no borrar el man del sistema.
|
||||
|
||||
7 # Deep check
|
||||
- Estudiar la posibilidad de mostrar la lista de extensiones usables en ese momento. Dependiendo de las dependecias instaladas en el sistema.
|
||||
|
||||
8 # Cambios en 7z:
|
||||
- Ficheros para añadir como solo extracción:
|
||||
ARJ, CAB, DMG, ISO, LZH, LZMA, RPM, SquashFS, VDI, VHD, VMDK, WIM, XAR, Z
|
||||
|
||||
- Comprobar qué dependencias son necesarias para esos formatos.
|
||||
|
||||
- ¿Ficheros que soporta?
|
||||
AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR and Z.
|
||||
|
||||
10 # Estudias posibilidad de instalar dependencias a eleccion
|
||||
- Algo como "lch -i rar" o "lch -i tar". Y que solo instale las que se le mencionan
|
||||
https://kanban.hatthieves.es/b/xAbb5NsGwNsbpxfpY/lch
|
||||
+14
-12
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$UID" != "0" ]; then
|
||||
echo " Only root can execute this script, sorry."
|
||||
@@ -17,18 +17,20 @@ cp ./lib/* /usr/lib/lch
|
||||
chmod 755 /usr/bin/lch
|
||||
echo " Copied lch in /usr/bin"
|
||||
|
||||
if [ -z "$MANPATH" ] && [ $(manpath 2> /dev/null) ];then
|
||||
MANPATH=$(manpath)
|
||||
else
|
||||
MANPATH="/usr/local/man"
|
||||
fi
|
||||
if [ -x "$(command -v man)" ]; then
|
||||
if [ -z "$MANPATH" ] && [ $(manpath 2> /dev/null) ];then
|
||||
MANPATH=$(manpath)
|
||||
else
|
||||
MANPATH="/usr/local/man"
|
||||
fi
|
||||
|
||||
MANDIR=${MANPATH%%:*}/man1
|
||||
mkdir -p $MANDIR
|
||||
cp lch.1 $MANDIR/lch.1
|
||||
gzip $MANDIR/lch.1
|
||||
chmod 644 $MANDIR/lch.1.gz
|
||||
echo " Copied manpage in $MANDIR"
|
||||
MANDIR=${MANPATH%%:*}/man1
|
||||
mkdir -p $MANDIR
|
||||
cp lch.1 $MANDIR/lch.1
|
||||
gzip $MANDIR/lch.1
|
||||
chmod 644 $MANDIR/lch.1.gz
|
||||
echo " Copied manpage in $MANDIR"
|
||||
fi
|
||||
echo ""
|
||||
echo "============================="
|
||||
echo " lch installed successfully."
|
||||
|
||||
@@ -1,76 +1,50 @@
|
||||
#!/bin/bash
|
||||
VERSION=0.4r8
|
||||
#!/usr/bin/env bash
|
||||
VERSION=0.5r6
|
||||
DEST=$1
|
||||
shift 1
|
||||
ORIG=$@
|
||||
|
||||
if [[ -e /usr/lib/lch/resources.sh ]]; then . /usr/lib/lch/resources.sh; else . ./lib/resources.sh; fi
|
||||
if [[ -e /usr/lib/lch/compressor.sh ]]; then . /usr/lib/lch/compressor.sh; else . ./lib/compressor.sh; fi
|
||||
if [[ -e /usr/lib/lch/decompressor.sh ]]; then . /usr/lib/lch/decompressor.sh; else . ./lib/decompressor.sh; fi
|
||||
if [[ -e /usr/lib/lch/check.sh ]]; then . /usr/lib/lch/check.sh; else . ./lib/check.sh; fi
|
||||
|
||||
function help()
|
||||
{
|
||||
echo "Help:"
|
||||
echo "-----"
|
||||
echo ""
|
||||
echo "lch [-h] [-v] [-c] [-i] [FILE [FILE...]]"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo "$ lch -h - This help"
|
||||
echo "$ lch -v - Print version"
|
||||
echo "$ lch -c - Check compresion systems"
|
||||
echo "$ lch -i - Install the compressors dependencies"
|
||||
echo "$ lch file.zip - Decompress"
|
||||
echo "$ lch file.zip /home/file - Compress"
|
||||
echo "$ lch files.zip file1 file2 - Compress multiple"
|
||||
echo ""
|
||||
echo "Supported extensions:"
|
||||
echo " rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z"
|
||||
echo ""
|
||||
echo "Run 'man lch' for more info."
|
||||
echo ""
|
||||
}
|
||||
|
||||
if [ "$DEST" = "--help" ] || [ "$DEST" = "-h" ]
|
||||
then
|
||||
help
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$DEST" = "--check" ] || [ "$DEST" = "-c" ]
|
||||
then
|
||||
check
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$DEST" = "--install" ] || [ "$DEST" = "-i" ]
|
||||
then
|
||||
install $DEST $@
|
||||
exit 0
|
||||
fi
|
||||
if [[ -e /usr/lib/lch/installer.sh ]]; then . /usr/lib/lch/installer.sh; else . ./lib/installer.sh; fi
|
||||
|
||||
if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ]
|
||||
then
|
||||
then
|
||||
echo "Linux Compression Humanized $VERSION"
|
||||
exit 0
|
||||
else
|
||||
echo -e "\nlch $VERSION"
|
||||
echo -e "---------\n"
|
||||
fi
|
||||
|
||||
if [ -z "$DEST" ]
|
||||
then
|
||||
help
|
||||
exit 1
|
||||
else
|
||||
if [ -n "$ORIG" ]
|
||||
then
|
||||
echo "Compressor:"
|
||||
echo -e "-----------\n"
|
||||
compressor $DEST $ORIG
|
||||
else
|
||||
echo "Decompressor:"
|
||||
echo -e "-------------\n"
|
||||
decompressor $DEST
|
||||
fi
|
||||
case $DEST in
|
||||
"--help" | "-h")
|
||||
help
|
||||
;;
|
||||
"--check" | "-c")
|
||||
check
|
||||
;;
|
||||
"--install" | "-i")
|
||||
install $DEST $@
|
||||
;;
|
||||
*)
|
||||
if [ -z "$DEST" ]
|
||||
then
|
||||
help
|
||||
exit 1
|
||||
else
|
||||
if [ -n "$ORIG" ]
|
||||
then
|
||||
echo "Compressor:"
|
||||
echo -e "-----------\n"
|
||||
compressor $DEST $ORIG
|
||||
else
|
||||
echo "Decompressor:"
|
||||
echo -e "-------------\n"
|
||||
decompressor $DEST
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
fi
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH LCH 1 "29 September 2020"
|
||||
.TH LCH 1 "03 October 2020"
|
||||
.SH NAME
|
||||
lch \- command\-line compressor and decompressor for humans
|
||||
.SH SYNOPSIS
|
||||
@@ -10,9 +10,11 @@ lch \- command\-line compressor and decompressor for humans
|
||||
simplicity in mind. Automatically select the compression format by file
|
||||
extension.
|
||||
|
||||
Supported extensions:
|
||||
|
||||
rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z
|
||||
Packing/unpacking supported extensions:
|
||||
7z, bz2, gz, rar, tar, tar.bz2, tar.gz, tar.xz, tgz, zip
|
||||
|
||||
Unpacking only supported extensions:
|
||||
arj, cab, dmg, iso, lzh, lzma, rpm, SquashFS, vdi, vhd, vmdk, win, xar, z
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
|
||||
+57
-17
@@ -1,45 +1,85 @@
|
||||
#!/bin/bash
|
||||
function lowercase()
|
||||
{
|
||||
echo "$DEST" | tr 'A-Z' 'a-z'
|
||||
}
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function compressor()
|
||||
{
|
||||
{
|
||||
case $(lowercase) in
|
||||
*.tar)
|
||||
tar -cvf $DEST $ORIG
|
||||
if [ -x "$(command -v tar)" ]
|
||||
then
|
||||
tar -cvf $DEST $ORIG
|
||||
else
|
||||
error_not_install "tar"
|
||||
fi
|
||||
;;
|
||||
*.tar.gz | *.tgz)
|
||||
tar -czvf $DEST $ORIG
|
||||
if [ -x "$(command -v tar)" ]
|
||||
then
|
||||
tar -czvf $DEST $ORIG
|
||||
else
|
||||
error_not_install "tar"
|
||||
fi
|
||||
;;
|
||||
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
|
||||
tar -c $ORIG | bzip2 > $DEST
|
||||
if [ -x "$(command -v tar)" ]
|
||||
then
|
||||
tar -c $ORIG | bzip2 > $DEST
|
||||
else
|
||||
error_not_install "tar"
|
||||
fi
|
||||
;;
|
||||
*.tar.xz | *.txz)
|
||||
tar -cJf $DEST $ORIG
|
||||
if [ -x "$(command -v tar)" ]
|
||||
then
|
||||
tar -cJf $DEST $ORIG
|
||||
else
|
||||
error_not_install "tar"
|
||||
fi
|
||||
;;
|
||||
*.bz2)
|
||||
bzip2 -c $ORIG > $DEST
|
||||
if [ -x "$(command -v bzip2)" ]
|
||||
then
|
||||
bzip2 -c $ORIG > $DEST
|
||||
else
|
||||
error_not_install "bzip2"
|
||||
fi
|
||||
;;
|
||||
*.gz)
|
||||
gzip -c $ORIG > $DEST
|
||||
if [ -x "$(command -v gzip)" ]
|
||||
then
|
||||
gzip -c $ORIG > $DEST
|
||||
else
|
||||
error_not_install "gzip"
|
||||
fi
|
||||
;;
|
||||
*.zip)
|
||||
zip -r $DEST $ORIG
|
||||
if [ -x "$(command -v zip)" ]
|
||||
then
|
||||
zip -r $DEST $ORIG
|
||||
else
|
||||
error_not_install "zip"
|
||||
fi
|
||||
;;
|
||||
*.7z)
|
||||
7za a $DEST $ORIG
|
||||
if [ -x "$(command -v 7z)" ]
|
||||
then
|
||||
7z a $DEST $ORIG
|
||||
else
|
||||
error_not_install "7z"
|
||||
fi
|
||||
;;
|
||||
*.rar)
|
||||
rar a $DEST $ORIG
|
||||
if [ -x "$(command -v rar)" ]
|
||||
then
|
||||
rar a $DEST $ORIG
|
||||
else
|
||||
error_not_install "rar"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Extension not found."
|
||||
echo -e "For more information run 'lch --help'\n"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
echo -e "\nDone"
|
||||
exit 0
|
||||
}
|
||||
|
||||
+57
-16
@@ -1,37 +1,79 @@
|
||||
#!/bin/bash
|
||||
function lowercase()
|
||||
{
|
||||
echo "$DEST" | tr 'A-Z' 'a-z'
|
||||
}
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function decompressor()
|
||||
{
|
||||
case $(lowercase) in
|
||||
*.tar)
|
||||
tar -xvf $DEST
|
||||
if [ -x "$(command -v tar)" ]
|
||||
then
|
||||
tar -xvf $DEST
|
||||
else
|
||||
error_not_install "tar"
|
||||
fi
|
||||
;;
|
||||
*.tar.gz | *.tgz)
|
||||
tar -xzvf $DEST
|
||||
if [ -x "$(command -v tar)" ]
|
||||
then
|
||||
tar -xzvf $DEST
|
||||
else
|
||||
error_not_install "tar"
|
||||
fi
|
||||
;;
|
||||
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
|
||||
tar xjf $DEST
|
||||
if [ -x "$(command -v tar)" ]
|
||||
then
|
||||
tar xjf $DEST
|
||||
else
|
||||
error_not_install "tar"
|
||||
fi
|
||||
;;
|
||||
*.tar.xz | *.txz)
|
||||
tar -xf $DEST
|
||||
if [ -x "$(command -v tar)" ]
|
||||
then
|
||||
tar -xf $DEST
|
||||
else
|
||||
error_not_install "tar"
|
||||
fi
|
||||
;;
|
||||
*.bz2)
|
||||
bzip2 -d $DEST
|
||||
if [ -x "$(command -v bzip2)" ]
|
||||
then
|
||||
bzip2 -d $DEST
|
||||
else
|
||||
error_not_install "bzip2"
|
||||
fi
|
||||
;;
|
||||
*.gz)
|
||||
gzip -d $DEST
|
||||
if [ -x "$(command -v gzip)" ]
|
||||
then
|
||||
gzip -d $DEST
|
||||
else
|
||||
error_not_install "gzip"
|
||||
fi
|
||||
;;
|
||||
*.zip)
|
||||
unzip $DEST
|
||||
if [ -x "$(command -v unzip)" ]
|
||||
then
|
||||
unzip $DEST
|
||||
else
|
||||
error_not_install "unzip"
|
||||
fi
|
||||
;;
|
||||
*.7z)
|
||||
7za e $DEST
|
||||
*.7z | *.arj | *.cab | *.dmg | *.iso | *.lzh | *.lzma | *.rpm | *.squashfs | *.vdi | *.vhd | *.vmdk | *.win | *.xar | *.z)
|
||||
if [ -x "$(command -v 7z)" ]
|
||||
then
|
||||
7z e -y $DEST
|
||||
else
|
||||
error_not_install "7z"
|
||||
fi
|
||||
;;
|
||||
*.rar)
|
||||
unrar x $DEST
|
||||
if [ -x "$(command -v unrar)" ]
|
||||
then
|
||||
unrar x $DEST
|
||||
else
|
||||
error_not_install "unrar"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Extension not found."
|
||||
@@ -40,5 +82,4 @@ function decompressor()
|
||||
esac
|
||||
|
||||
echo -e "\nDone"
|
||||
exit 0
|
||||
}
|
||||
@@ -1,33 +1,9 @@
|
||||
#!/bin/bash
|
||||
function check()
|
||||
{
|
||||
local a=false
|
||||
echo -e "Verification of compression systems:\n"
|
||||
echo -e "Systems\t\t\tStatus"
|
||||
echo "----------------------------------"
|
||||
for i in "rar" "unrar" "tar" "bzip2" "gzip" "zip" "unzip" "7za"
|
||||
do
|
||||
if ! [ -x "$(command -v $i)" ]
|
||||
then
|
||||
echo -e "$i\t\t\t\e[91mNot Installed\e[0m"
|
||||
$a = true
|
||||
else
|
||||
echo -e "$i\t\t\t\e[32mInstalled\e[0m"
|
||||
fi
|
||||
done
|
||||
|
||||
if $a
|
||||
then
|
||||
echo -e "\nIn order to use all the extensions install the packages: tar, bzip2, gzip, zip, unzip, 7za, rar, unrar"
|
||||
fi
|
||||
echo ""
|
||||
exit 0
|
||||
}
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function rarInstall(){
|
||||
if [ -e "$(command -v wget)" ]
|
||||
then
|
||||
if [[ $(uname -m) -eq "x86_64" ]]
|
||||
if [[ "$(uname -m)" == "x86_64" ]]
|
||||
then
|
||||
RAR_URL="https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz"
|
||||
RAR_FILE="rarlinux-x64-5.9.1.tar.gz"
|
||||
@@ -106,5 +82,4 @@ function install()
|
||||
fi
|
||||
|
||||
echo -e "\nDependencies installation finished\n"
|
||||
exit 0
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function help()
|
||||
{
|
||||
echo "Help:"
|
||||
echo "-----"
|
||||
echo ""
|
||||
echo "lch [-h] [-v] [-c] [-i] [FILE [FILE...]]"
|
||||
echo ""
|
||||
echo "Examples:"
|
||||
echo "$ lch -h - This help"
|
||||
echo "$ lch -v - Print version"
|
||||
echo "$ lch -c - Check compresion systems"
|
||||
echo "$ lch -i - Install the compressors dependencies"
|
||||
echo "$ lch file.zip - Decompress"
|
||||
echo "$ lch file.zip /home/file - Compress"
|
||||
echo "$ lch files.zip file1 file2 - Compress multiple"
|
||||
echo ""
|
||||
echo "Packing/unpacking supported extensions:"
|
||||
echo " 7z, bz2, gz, rar, tar, tar.bz2, tar.gz, tar.xz, tgz, zip"
|
||||
echo ""
|
||||
echo "Unpacking only supported extensions:"
|
||||
echo " arj, cab, dmg, iso, lzh, lzma, rpm, SquashFS, vdi, vhd, vmdk, win, xar, z"
|
||||
echo ""
|
||||
echo "Run 'man lch' for more info."
|
||||
echo ""
|
||||
}
|
||||
|
||||
function check()
|
||||
{
|
||||
local a=false
|
||||
echo -e "Verification of compression systems:\n"
|
||||
echo -e "Systems\t\t\tStatus"
|
||||
echo "----------------------------------"
|
||||
for i in "7z" "bzip2" "gzip" "rar" "tar" "unrar" "unzip" "zip"
|
||||
do
|
||||
if ! [ -x "$(command -v $i)" ]
|
||||
then
|
||||
echo -e "$i\t\t\t\e[91mNot Installed\e[0m"
|
||||
a=true
|
||||
else
|
||||
echo -e "$i\t\t\t\e[32mInstalled\e[0m"
|
||||
fi
|
||||
done
|
||||
|
||||
if $a
|
||||
then
|
||||
echo -e "\nIn order to use all the extensions install the packages."
|
||||
echo -e "Or use 'lch -i' to install all dependences"
|
||||
fi
|
||||
echo ""
|
||||
}
|
||||
|
||||
function lowercase()
|
||||
{
|
||||
echo "$DEST" | tr 'A-Z' 'a-z'
|
||||
}
|
||||
|
||||
function error_not_install()
|
||||
{
|
||||
echo -e "$@ \e[91mis not Installed\e[0m, use 'lch -i' to install and 'lch -c' to check."
|
||||
exit 0
|
||||
}
|
||||
+16
-13
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$UID" != "0" ]; then
|
||||
echo " Only root can execute this script, sorry."
|
||||
@@ -16,21 +16,24 @@ if [[ -d "/usr/lib/lch" ]]; then
|
||||
rm -rf "/usr/lib/lch"
|
||||
fi
|
||||
|
||||
# Si nulo manpath
|
||||
if [ -z "$MANPATH" ]; then
|
||||
MANPATH=$(manpath)
|
||||
fi
|
||||
# Si existe man
|
||||
if [ -x "$(command -v man)" ]; then
|
||||
# Si nulo manpath
|
||||
if [ -z "$MANPATH" ]; then
|
||||
MANPATH=$(manpath)
|
||||
fi
|
||||
|
||||
MANDIR=${MANPATH%%:*}/man1
|
||||
MANDIR=${MANPATH%%:*}/man1
|
||||
|
||||
# Si man lch.1
|
||||
if [[ -f "$MANDIR/lch.1" ]]; then
|
||||
rm "$MANDIR/lch.1"
|
||||
fi
|
||||
# Si man lch.1
|
||||
if [[ -f "$MANDIR/lch.1" ]]; then
|
||||
rm "$MANDIR/lch.1"
|
||||
fi
|
||||
|
||||
# Si man lch.1.gz
|
||||
if [[ -f "$MANDIR/lch.1.gz" ]]; then
|
||||
rm "$MANDIR/lch.1.gz"
|
||||
# Si man lch.1.gz
|
||||
if [[ -f "$MANDIR/lch.1.gz" ]]; then
|
||||
rm "$MANDIR/lch.1.gz"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "=============================="
|
||||
|
||||
Reference in New Issue
Block a user