22 Commits

Author SHA1 Message Date
Gustavo Adolfo Mesa Roldán b25fc8bd8d 0.5r7 2020-10-03 07:00:43 +02:00
Gustavo Adolfo Mesa Roldán edccc89586 0.5r7 2020-10-03 06:46:02 +02:00
Gustavo Adolfo Mesa Roldán 6b94a50229 0.5r6 - stable 2020-10-03 05:56:48 +02:00
Gustavo Adolfo Mesa Roldán 2596a6a6fb 0.5r6 - More... 2020-10-03 05:40:11 +02:00
Gustavo Adolfo Mesa Roldán b8cb0defe8 0.5r5 - vmdk run 2020-10-03 05:05:40 +02:00
Gustavo Adolfo Mesa Roldán b10ba9ffee 0.5r4 - Readme 2020-10-03 03:52:10 +02:00
Gustavo Adolfo Mesa Roldán 8ae84ab526 0.5r4 - Readme 2020-10-03 03:33:00 +02:00
Gustavo Adolfo Mesa Roldán 6692024ae1 0.5r4 - Readme 2020-10-03 03:27:35 +02:00
Gustavo Adolfo Mesa Roldán 9a13b0168c 0.5r4 - Readme 2020-10-03 03:26:43 +02:00
Gustavo Adolfo Mesa Roldán 446b6647ed 0.5r4 - Readme 2020-10-03 03:20:12 +02:00
Gustavo Adolfo Mesa Roldán fd40e86308 0.5r4 2020-10-03 03:18:22 +02:00
Gustavo Adolfo Mesa Roldán 2c6f419db8 More extensions and check after to run 2020-10-03 03:01:42 +02:00
Gustavo Adolfo Mesa Roldán 0be7239088 0.5r2 - Exit 0 2020-09-30 19:59:07 +02:00
radikal a460d09a15 rar arch installation fixed 2020-09-30 16:15:55 +02:00
Gustavo Adolfo Mesa Roldán ed3cc63cec 0.5r1 2020-09-30 03:25:51 +02:00
Gustavo Adolfo Mesa Roldán 4a276f5a6d 0.5r1 2020-09-30 03:25:20 +02:00
radikal 961b97375b 0.5r0 2020-09-30 02:12:22 +02:00
radikal f1cdd41bc7 Merge branch 'master' of https://gitea.hatthieves.es/cloud/lch into master 2020-09-30 02:08:14 +02:00
radikal 7c486ddcf9 man binary test 2020-09-30 02:07:36 +02:00
Gustavo Adolfo Mesa Roldán 43abad0f77 TODO 2020-09-30 01:45:05 +02:00
radikal 32b30edc2c changed /bin/bash to /usr/bin/env bash 2020-09-30 01:37:15 +02:00
Gustavo Adolfo Mesa Roldán 7c1fd864d7 TODO 2020-09-30 01:23:11 +02:00
10 changed files with 300 additions and 183 deletions
+49 -15
View File
@@ -1,5 +1,19 @@
# Linux compressor humanizer # Linux compressor humanizer
## Installation
###### install
```
sudo ./install.sh
```
###### Uninstall
```
sudo ./uninstall.sh
```
## Usage
###### Compress ###### Compress
``` ```
$ lch file.zip file1 [file2...] $ lch file.zip file1 [file2...]
@@ -10,22 +24,42 @@ $ lch file.zip file1 [file2...]
$ lch file.zip $ lch file.zip
``` ```
## Supported extensions ###### Options
- tar ```
- tar.gz $ lch -h - Show help
- tar.bz2 $ lch -v - Print version
- tar.xz $ lch -c - Check compression systems
- bz2 $ lch -i - Install the compressors dependencies
- tgz ```
- gz
- zip
- 7z
- rar
## Install ## Supported extensions
```
sudo ./install.sh ###### Packing/unpacking:
``` - 7z
- bz2
- gz
- rar
- tar
- tar.bz2, tbz, tbz2, tb2
- tar.gz, tgz
- tar.xz, txz
- zip
###### Unpacking only:
- arj
- cab
- dmg
- iso
- lzh
- lzma
- rpm
- SquashFS
- vdi
- vhd
- vmdk
- win
- xar
- z
## Testing with docker ## Testing with docker
``` ```
+1 -18
View File
@@ -1,18 +1 @@
Impotancia (0>10) # Nombre de la incidencia. https://kanban.hatthieves.es/b/xAbb5NsGwNsbpxfpY/lch
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
+3 -1
View File
@@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
if [ "$UID" != "0" ]; then if [ "$UID" != "0" ]; then
echo " Only root can execute this script, sorry." echo " Only root can execute this script, sorry."
@@ -17,6 +17,7 @@ cp ./lib/* /usr/lib/lch
chmod 755 /usr/bin/lch chmod 755 /usr/bin/lch
echo " Copied lch in /usr/bin" echo " Copied lch in /usr/bin"
if [ -x "$(command -v man)" ]; then
if [ -z "$MANPATH" ] && [ $(manpath 2> /dev/null) ];then if [ -z "$MANPATH" ] && [ $(manpath 2> /dev/null) ];then
MANPATH=$(manpath) MANPATH=$(manpath)
else else
@@ -29,6 +30,7 @@ cp lch.1 $MANDIR/lch.1
gzip $MANDIR/lch.1 gzip $MANDIR/lch.1
chmod 644 $MANDIR/lch.1.gz chmod 644 $MANDIR/lch.1.gz
echo " Copied manpage in $MANDIR" echo " Copied manpage in $MANDIR"
fi
echo "" echo ""
echo "=============================" echo "============================="
echo " lch installed successfully." echo " lch installed successfully."
+19 -45
View File
@@ -1,53 +1,13 @@
#!/bin/bash #!/usr/bin/env bash
VERSION=0.4r8 VERSION=0.5r7
DEST=$1 DEST=$1
shift 1 shift 1
ORIG=$@ 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/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/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 if [[ -e /usr/lib/lch/installer.sh ]]; then . /usr/lib/lch/installer.sh; else . ./lib/installer.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 [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ] if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ]
then then
@@ -56,8 +16,18 @@ then
else else
echo -e "\nlch $VERSION" echo -e "\nlch $VERSION"
echo -e "---------\n" echo -e "---------\n"
fi
case $DEST in
"--help" | "-h")
help
;;
"--check" | "-c")
check
;;
"--install" | "-i")
install $DEST $@
;;
*)
if [ -z "$DEST" ] if [ -z "$DEST" ]
then then
help help
@@ -74,3 +44,7 @@ else
decompressor $DEST decompressor $DEST
fi fi
fi fi
;;
esac
exit 0
fi
+5 -3
View File
@@ -1,4 +1,4 @@
.TH LCH 1 "29 September 2020" .TH LCH 1 "03 October 2020"
.SH NAME .SH NAME
lch \- command\-line compressor and decompressor for humans lch \- command\-line compressor and decompressor for humans
.SH SYNOPSIS .SH SYNOPSIS
@@ -10,9 +10,11 @@ lch \- command\-line compressor and decompressor for humans
simplicity in mind. Automatically select the compression format by file simplicity in mind. Automatically select the compression format by file
extension. extension.
Supported extensions: Packing/unpacking supported extensions:
7z, bz2, gz, rar, tar, tar.bz2, tbz, tbz2, tb2, tar.gz, tgz, tar.xz, txz, zip
rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z Unpacking only supported extensions:
arj, cab, dmg, iso, lzh, lzma, rpm, SquashFS, vdi, vhd, vmdk, win, xar, z
.SH OPTIONS .SH OPTIONS
.TP .TP
+47 -7
View File
@@ -1,38 +1,79 @@
#!/bin/bash #!/usr/bin/env bash
function lowercase()
{
echo "$DEST" | tr 'A-Z' 'a-z'
}
function compressor() function compressor()
{ {
case $(lowercase) in case $(lowercase) in
*.tar) *.tar)
if [ -x "$(command -v tar)" ]
then
tar -cvf $DEST $ORIG tar -cvf $DEST $ORIG
else
error_not_install "tar"
fi
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
if [ -x "$(command -v tar)" ]
then
tar -czvf $DEST $ORIG tar -czvf $DEST $ORIG
else
error_not_install "tar"
fi
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
if [ -x "$(command -v tar)" ]
then
tar -c $ORIG | bzip2 > $DEST tar -c $ORIG | bzip2 > $DEST
else
error_not_install "tar"
fi
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
if [ -x "$(command -v tar)" ]
then
tar -cJf $DEST $ORIG tar -cJf $DEST $ORIG
else
error_not_install "tar"
fi
;; ;;
*.bz2) *.bz2)
if [ -x "$(command -v bzip2)" ]
then
bzip2 -c $ORIG > $DEST bzip2 -c $ORIG > $DEST
else
error_not_install "bzip2"
fi
;; ;;
*.gz) *.gz)
if [ -x "$(command -v gzip)" ]
then
gzip -c $ORIG > $DEST gzip -c $ORIG > $DEST
else
error_not_install "gzip"
fi
;; ;;
*.zip) *.zip)
if [ -x "$(command -v zip)" ]
then
zip -r $DEST $ORIG zip -r $DEST $ORIG
else
error_not_install "zip"
fi
;; ;;
*.7z) *.7z)
7za a $DEST $ORIG if [ -x "$(command -v 7z)" ]
then
7z a $DEST $ORIG
else
error_not_install "7z"
fi
;; ;;
*.rar) *.rar)
if [ -x "$(command -v rar)" ]
then
rar a $DEST $ORIG rar a $DEST $ORIG
else
error_not_install "rar"
fi
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -41,5 +82,4 @@ function compressor()
esac esac
echo -e "\nDone" echo -e "\nDone"
exit 0
} }
+49 -8
View File
@@ -1,37 +1,79 @@
#!/bin/bash #!/usr/bin/env bash
function lowercase()
{
echo "$DEST" | tr 'A-Z' 'a-z'
}
function decompressor() function decompressor()
{ {
case $(lowercase) in case $(lowercase) in
*.tar) *.tar)
if [ -x "$(command -v tar)" ]
then
tar -xvf $DEST tar -xvf $DEST
else
error_not_install "tar"
fi
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
if [ -x "$(command -v tar)" ]
then
tar -xzvf $DEST tar -xzvf $DEST
else
error_not_install "tar"
fi
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
if [ -x "$(command -v tar)" ]
then
tar xjf $DEST tar xjf $DEST
else
error_not_install "tar"
fi
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
if [ -x "$(command -v tar)" ]
then
tar -xf $DEST tar -xf $DEST
else
error_not_install "tar"
fi
;; ;;
*.bz2) *.bz2)
if [ -x "$(command -v bzip2)" ]
then
bzip2 -d $DEST bzip2 -d $DEST
else
error_not_install "bzip2"
fi
;; ;;
*.gz) *.gz)
if [ -x "$(command -v gzip)" ]
then
gzip -d $DEST gzip -d $DEST
else
error_not_install "gzip"
fi
;; ;;
*.zip) *.zip)
if [ -x "$(command -v unzip)" ]
then
unzip $DEST unzip $DEST
else
error_not_install "unzip"
fi
;; ;;
*.7z) *.7z | *.arj | *.cab | *.dmg | *.iso | *.lzh | *.lzma | *.rpm | *.squashfs | *.vdi | *.vhd | *.vmdk | *.win | *.xar | *.z)
7za e $DEST if [ -x "$(command -v 7z)" ]
then
7z e -y $DEST
else
error_not_install "7z"
fi
;; ;;
*.rar) *.rar)
if [ -x "$(command -v unrar)" ]
then
unrar x $DEST unrar x $DEST
else
error_not_install "unrar"
fi
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -40,5 +82,4 @@ function decompressor()
esac esac
echo -e "\nDone" echo -e "\nDone"
exit 0
} }
+2 -27
View File
@@ -1,33 +1,9 @@
#!/bin/bash #!/usr/bin/env 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
}
function rarInstall(){ function rarInstall(){
if [ -e "$(command -v wget)" ] if [ -e "$(command -v wget)" ]
then then
if [[ $(uname -m) -eq "x86_64" ]] if [[ "$(uname -m)" == "x86_64" ]]
then then
RAR_URL="https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz" RAR_URL="https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz"
RAR_FILE="rarlinux-x64-5.9.1.tar.gz" RAR_FILE="rarlinux-x64-5.9.1.tar.gz"
@@ -106,5 +82,4 @@ function install()
fi fi
echo -e "\nDependencies installation finished\n" echo -e "\nDependencies installation finished\n"
exit 0
} }
+63
View File
@@ -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, tbz, tbz2, tb2, tar.gz, tgz, tar.xz, txz, 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
}
+4 -1
View File
@@ -1,4 +1,4 @@
#!/bin/bash #!/usr/bin/env bash
if [ "$UID" != "0" ]; then if [ "$UID" != "0" ]; then
echo " Only root can execute this script, sorry." echo " Only root can execute this script, sorry."
@@ -16,6 +16,8 @@ if [[ -d "/usr/lib/lch" ]]; then
rm -rf "/usr/lib/lch" rm -rf "/usr/lib/lch"
fi fi
# Si existe man
if [ -x "$(command -v man)" ]; then
# Si nulo manpath # Si nulo manpath
if [ -z "$MANPATH" ]; then if [ -z "$MANPATH" ]; then
MANPATH=$(manpath) MANPATH=$(manpath)
@@ -32,6 +34,7 @@ fi
if [[ -f "$MANDIR/lch.1.gz" ]]; then if [[ -f "$MANDIR/lch.1.gz" ]]; then
rm "$MANDIR/lch.1.gz" rm "$MANDIR/lch.1.gz"
fi fi
fi
echo "==============================" echo "=============================="
echo " lch uninstalled successfully." echo " lch uninstalled successfully."