45 Commits

Author SHA1 Message Date
pberr 4c4d0a761e Update version 2020-10-03 16:40:38 +02:00
pberr e08001bc54 Create subfolders 2020-10-03 16:39:40 +02:00
Gustavo Adolfo Mesa Roldán 68bb954a7f 06.r10 2020-10-03 15:45:33 +02:00
Gustavo Adolfo Mesa Roldán ae117b491a 0.6r9 - Get dreamsgit add . 2020-10-03 15:38:38 +02:00
ale f30aed7d2b 0.6r8 2020-10-03 14:47:56 +02:00
Gustavo Adolfo Mesa Roldán 0bfa956345 0.6r7 - Stable 2020-10-03 14:37:32 +02:00
Gustavo Adolfo Mesa Roldán 667e00baea 0.6r7 - Stable 2020-10-03 14:30:06 +02:00
ale d9278518de 0.6r6 2020-10-03 14:21:23 +02:00
Gustavo Adolfo Mesa Roldán 62cb38a046 Merge branch '0.6-dev' of http://gitea.hatthieves.es/cloud/lch into 0.6-dev 2020-10-03 13:34:51 +02:00
Gustavo Adolfo Mesa Roldán 8a22e4c66c 0.5*-- 2020-10-03 13:34:48 +02:00
ale 909c8186ca 0.6r5 2020-10-03 13:33:19 +02:00
ale 1e1be717d7 0.6r4 2020-10-03 13:10:10 +02:00
Gustavo Adolfo Mesa Roldán 9e02361f31 0.6r4 - rpm init 2020-10-03 12:43:40 +02:00
ale 2b48268c30 0.6r3 2020-10-03 12:42:16 +02:00
Gustavo Adolfo Mesa Roldán 54194e3b89 0.6r2 2020-10-03 12:15:05 +02:00
Gustavo Adolfo Mesa Roldán 91cae2b675 0.6r1 2020-10-03 11:59:47 +02:00
Gustavo Adolfo Mesa Roldán c394876fcb 0.6r0 2020-10-03 11:42:11 +02:00
Gustavo Adolfo Mesa Roldán 832718e391 0.6 dev 2020-10-03 11:14:00 +02:00
Gustavo Adolfo Mesa Roldán 3c84ab9231 0.6 dev 2020-10-03 11:11:35 +02:00
Gustavo Adolfo Mesa Roldán fddc1481ef 0.5r10 2020-10-03 08:30:27 +02:00
Gustavo Adolfo Mesa Roldán 438e6867c5 0.5r9 - Executer 2020-10-03 08:12:14 +02:00
Gustavo Adolfo Mesa Roldán 4e04efe1af 0.5r9 - Executer 2020-10-03 08:01:47 +02:00
Gustavo Adolfo Mesa Roldán 5816870906 0.5r8 2020-10-03 07:19:07 +02:00
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
15 changed files with 572 additions and 273 deletions
+50 -16
View File
@@ -1,4 +1,18 @@
#Linux compressor humanizer # Linux compressor humanizer
## Installation
###### install
```
sudo ./bin/install.sh
```
###### Uninstall
```
sudo ./bin/uninstall.sh
```
## Usage
###### Compress ###### Compress
``` ```
@@ -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
+13 -11
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."
@@ -13,22 +13,24 @@ echo "======================"
echo "" echo ""
cp lch /usr/bin/lch cp lch /usr/bin/lch
mkdir -p /usr/lib/lch mkdir -p /usr/lib/lch
cp ./lib/* /usr/lib/lch cp -r ./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 [ -z "$MANPATH" ] && [ $(manpath 2> /dev/null) ];then if [ -x "$(command -v man)" ]; then
if [ -z "$MANPATH" ] && [ $(manpath 2> /dev/null) ];then
MANPATH=$(manpath) MANPATH=$(manpath)
else else
MANPATH="/usr/local/man" MANPATH="/usr/local/man"
fi fi
MANDIR=${MANPATH%%:*}/man1 MANDIR=${MANPATH%%:*}/man1
mkdir -p $MANDIR mkdir -p $MANDIR
cp lch.1 $MANDIR/lch.1 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."
+13 -10
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,21 +16,24 @@ if [[ -d "/usr/lib/lch" ]]; then
rm -rf "/usr/lib/lch" rm -rf "/usr/lib/lch"
fi fi
# Si nulo manpath # Si existe man
if [ -z "$MANPATH" ]; then if [ -x "$(command -v man)" ]; then
# Si nulo manpath
if [ -z "$MANPATH" ]; then
MANPATH=$(manpath) MANPATH=$(manpath)
fi fi
MANDIR=${MANPATH%%:*}/man1 MANDIR=${MANPATH%%:*}/man1
# Si man lch.1 # Si man lch.1
if [[ -f "$MANDIR/lch.1" ]]; then if [[ -f "$MANDIR/lch.1" ]]; then
rm "$MANDIR/lch.1" rm "$MANDIR/lch.1"
fi fi
# Si man lch.1.gz # Si man lch.1.gz
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 "=============================="
+24 -50
View File
@@ -1,53 +1,13 @@
#!/bin/bash #!/usr/bin/env bash
VERSION=0.4r8 VERSION=0.6r11
DEST=$1 DEST=$1
shift 1 shift 1
ORIG=$@ ORIG=$@
if [[ -e /usr/lib/lch/compressor.sh ]]; then . /usr/lib/lch/compressor.sh; else . ./lib/compressor.sh; fi if [[ -e ./lib/resources.sh ]]; then . ./lib/resources.sh; else . /usr/lib/lch/resources.sh; fi
if [[ -e /usr/lib/lch/decompressor.sh ]]; then . /usr/lib/lch/decompressor.sh; else . ./lib/decompressor.sh; fi if [[ -e ./lib/compressor.sh ]]; then . ./lib/compressor.sh; else . /usr/lib/lch/compressor.sh; fi
if [[ -e /usr/lib/lch/check.sh ]]; then . /usr/lib/lch/check.sh; else . ./lib/check.sh; fi if [[ -e ./lib/decompressor.sh ]]; then . ./lib/decompressor.sh; else . /usr/lib/lch/decompressor.sh; fi
if [[ -e ./lib/installer.sh ]]; then . ./lib/installer.sh; else . /usr/lib/lch/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,13 +16,23 @@ then
else else
echo -e "\nlch $VERSION" echo -e "\nlch $VERSION"
echo -e "---------\n" echo -e "---------\n"
fi
if [ -z "$DEST" ] case $DEST in
then "--help" | "-h")
help
;;
"--check" | "-c")
check
;;
"--install" | "-i")
install $DEST $@
;;
*)
if [ -z "$DEST" ]
then
help help
exit 1 exit 1
else else
if [ -n "$ORIG" ] if [ -n "$ORIG" ]
then then
echo "Compressor:" echo "Compressor:"
@@ -73,4 +43,8 @@ else
echo -e "-------------\n" echo -e "-------------\n"
decompressor $DEST decompressor $DEST
fi fi
fi
;;
esac
exit 0
fi fi
-110
View File
@@ -1,110 +0,0 @@
#!/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
}
function rarInstall(){
if [ -e "$(command -v wget)" ]
then
if [[ $(uname -m) -eq "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"
else
RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz"
RAR_FILE="rarlinux-5.9.1.tar.gz"
fi
wget $RAR_URL
tar -zxvf $RAR_FILE
cd rar
cp -v rar unrar /usr/local/bin/
cd ..
rm -r rar $RAR_FILE
echo "rar/unrar installed."
else
echo -e "\n\e[91m[Error]\e[0m - Wget is not installed, so rar could not be installed.\nPlease install wget.\n"
read -p "Press [ENTER] to continue installing or [CTRL+C] to exit."
fi
}
function install()
{
echo -e "Install dependencies\n"
if [ "$UID" != "0" ]; then
echo " Only root can execute this script, sorry."
echo " Try 'sudo $0 $@'"
exit 0
fi
if [ -e "$(command -v rar)" ]
then
echo "rar installed."
else
read -p "Do you want to install non-free software? (rar, unrar) [Y/N]: " PRIVSOFT
case ${PRIVSOFT} in
y|Y)
rarInstall;;
n|N)
echo -e "\nOnly will install free software.\n";;
*)
echo -e "Options: 'Y' or 'N': ";;
esac
fi
if [ -x "$(command -v apt)" ]
then
echo -e "APT system detected\n"
apt install -y tar bzip2 gzip zip unzip p7zip-full 1> /dev/null
elif [ -n "$(grep "centos" /etc/*-release)" ]
then
echo -e "CentOS system detected\n"
yum install -y -q epel-release 1> /dev/null
rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm 1> /dev/null
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 1> /dev/null
yum repolist 1> /dev/null
yum install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
elif [ -x "$(command -v dnf)" ]
then
echo -e "DNF system detected\n"
dnf install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
elif [ -x "$(command -v yum)" ]
then
echo -e "Yum system detected\n"
yum install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
elif [ -x "$(command -v pacman)" ]
then
echo -e "Pacman system detected\n"
pacman -Sqy --noconfirm tar bzip2 gzip zip unzip p7zip 1> /dev/null
elif [ -x "$(command -v zypper)" ]
then
echo -e "Zypper system detected\n"
zypper install -y tar bzip2 gzip zip unzip p7zip-full 1> /dev/null
else
echo -e "System installer not detected\n"
fi
echo -e "\nDependencies installation finished\n"
exit 0
}
+11 -16
View File
@@ -1,38 +1,34 @@
#!/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)
tar -cvf $DEST $ORIG executer tar -cvf $DEST $ORIG
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
tar -czvf $DEST $ORIG executer tar -czvf $DEST $ORIG
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
tar -c $ORIG | bzip2 > $DEST executer tar -c $ORIG | bzip2 > $DEST
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
tar -cJf $DEST $ORIG executer tar -cJf $DEST $ORIG
;; ;;
*.bz2) *.bz2)
bzip2 -c $ORIG > $DEST executer bzip2 -c $ORIG > $DEST
;; ;;
*.gz) *.gz)
gzip -c $ORIG > $DEST executer gzip -c $ORIG > $DEST
;; ;;
*.zip) *.zip)
zip -r $DEST $ORIG executer zip -r $DEST $ORIG
;; ;;
*.7z) *.7z)
7za a $DEST $ORIG executer 7z a $DEST $ORIG
;; ;;
*.rar) *.rar)
rar a $DEST $ORIG executer rar a $DEST $ORIG
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -40,6 +36,5 @@ function compressor()
;; ;;
esac esac
echo -e "\nDone" echo -e "\nFile $DEST compressed."
exit 0
} }
+13 -17
View File
@@ -1,37 +1,34 @@
#!/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)
tar -xvf $DEST executer tar -xvf $DEST
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
tar -xzvf $DEST executer tar -xzvf $DEST
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
tar xjf $DEST executer tar xjf $DEST
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
tar -xf $DEST executer tar -xf $DEST
;; ;;
*.bz2) *.bz2)
bzip2 -d $DEST executer bzip2 -d $DEST
;; ;;
*.gz) *.gz)
gzip -d $DEST executer gzip -d $DEST
;; ;;
*.zip) *.zip)
unzip $DEST executer unzip $DEST
;; ;;
*.7z) *.7z | *.arj | *.cab | *.dmg | *.iso | *.lzh | *.lzma | *.rpm | *.squashfs | *.vdi | *.vhd | *.vmdk | *.win | *.xar | *.z)
7za e $DEST executer 7z e -y $DEST
;; ;;
*.rar) *.rar)
unrar x $DEST executer unrar x $DEST
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -39,6 +36,5 @@ function decompressor()
;; ;;
esac esac
echo -e "\nDone" echo -e "\nFile $DEST decompressed."
exit 0
} }
+72
View File
@@ -0,0 +1,72 @@
#!/usr/bin/env bash
function rarInstall(){
if [ -e "$(command -v wget)" ] || [ -e "$(command -v curl)" ]
then
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"
else
RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz"
RAR_FILE="rarlinux-5.9.1.tar.gz"
fi
if [ -e "$(command -v wget)" ]
then
wget -q $RAR_URL > /dev/null
else
curl -s -o $RAR_FILE $RAR_URL > /dev/null
fi
tar -zxvf $RAR_FILE > /dev/null
cd rar
cp -v rar unrar /usr/local/bin/ > /dev/null
cd ..
rm -r rar $RAR_FILE > /dev/null
complete_install "rar"
else
echo -e "\n\e[91m[Error]\e[0m - wget or curl is not installed, so rar could not be installed.\nPlease install wget.\n"
read -p "Press [ENTER] to continue installing or [CTRL+C] to exit."
fi
}
function install()
{
if [ "$UID" != "0" ]; then
echo " Only root can execute this script, sorry."
echo " Try 'sudo lch $@'"
exit 0
fi
if [ $# -eq 1 ]; then
# Poner aviso "Vamos a instalarlo todo y mucho"
read -p "Do you want to install non-free software? (rar, unrar) [y/N]: " PRIVSOFT
case ${PRIVSOFT} in
y | Y | yes)
PRIVSOFT=true
echo -e "\nInstall all dependencies (with non-free)\n";;
*)
PRIVSOFT=false
echo -e "\nOnly will install free software.\n";;
esac
else
PRIVSOFT=false
fi
if [ -x "$(command -v apt)" ]
then
if [[ -e ./lib/installers/deb.sh ]]; then . ./lib/installers/deb.sh; else . /usr/lib/lch/installers/deb.sh; fi
elif [ -x "$(command -v yum)" ]
then
if [[ -e ./lib/installers/rpm.sh ]]; then . ./lib/installers/rpm.sh; else . /usr/lib/lch/installers/rpm.sh; fi
elif [ -x "$(command -v pacman)" ]
then
if [[ -e ./lib/installers/pacman.sh ]]; then . ./lib/installers/pacman.sh; else . /usr/lib/lch/installers/pacman.sh; fi
elif [ -x "$(command -v zypper)" ]
then
if [[ -e ./lib/installers/zypper.sh ]]; then . ./lib/installers/zypper.sh; else . /usr/lib/lch/installers/zypper.sh; fi
else
echo -e "System installer not detected"
fi
echo -e "\nDependencies installation finished\n"
}
+55
View File
@@ -0,0 +1,55 @@
#!/usr/bin/env bash
# Functions
function get_dep(){
wheel true &
WPID=$!
apt-get install -y $@ &> /dev/null
if [[ $? -ne 0 ]]; then
if [[ $@ == "p7zip-full" ]]; then failed_install 7z; else failed_install $@; fi
else
if [[ $@ == "p7zip-full" ]]; then complete_install 7z; else complete_install $@; fi
fi
disown $WPID
kill $WPID &> /dev/null
}
# Run
echo -e "APT system detected"
echo "---------------------"
wheel true &
WPID=$!
apt-get update 1> /dev/null
disown $WPID
kill $WPID &> /dev/null
if [ $# -eq 1 ]; then
if $PRIVSOFT; then
rarInstall
fi
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip-full"
do get_dep $installer
done
else
for i in $@
do
if [ $i -ne "-i" ]
then
case $i in
"rar" | "unrar")
rarInstall
;;
"7z" | "7zip" | "p7zip")
get_dep p7zip-full
;;
*)
get_dep $i
;;
esac
fi
done
fi
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/env bash
# Function
function get_dep(){
wheel true &
WPID=$!
pacman -Sqy --noconfirm $@ &> /dev/null
if [[ $? -ne 0 ]]; then
if [[ $@ == "p7zip" ]]; then failed_install 7z; else failed_install $@; fi
else
if [[ $@ == "p7zip" ]]; then complete_install 7z; else complete_install $@; fi
fi
disown $WPID
kill $WPID &> /dev/null
}
# Run
echo -e "Pacman system detected"
echo "---------------------"
wheel true &
WPID=$!
pacman -F -y 1> /dev/null
disown $WPID
kill $WPID &> /dev/null
if [ $# -eq 1 ]; then
if $PRIVSOFT; then
rarInstall
fi
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip"
do get_dep $installer
done
else
for i in $@
do
if [ $i -ne "-i" ]
then
case $i in
"rar" | "unrar")
rarInstall
;;
"7z" | "7zip" | "p7zip")
get_dep p7zip
;;
*)
get_dep $i
;;
esac
fi
done
fi
+88
View File
@@ -0,0 +1,88 @@
#!/usr/bin/env bash
# Functions
function get_dep(){
wheel true &
WPID=$!
if [[ $@ == "p7zip-plugins" ]]; then
yum install -y -q $@ 1> /dev/null
else
yum install -y -q $@ 1> /dev/null
if [[ $? -ne 0 ]]; then
if [[ $@ == "p7zip" ]]; then failed_install 7z; else failed_install $@; fi
else
if [[ $@ == "p7zip" ]]; then complete_install 7z; else complete_install $@; fi
fi
fi
disown $WPID
kill $WPID &> /dev/null
}
function install_centos(){
if [ -n "$(grep "centos" /etc/*-release)" ]; then
yum install -y -q epel-release &> /dev/null
rpm --quiet --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 &> /dev/null
rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm &> /dev/null
fi
}
# Run
echo -e "YUM system detected"
echo "---------------------"
wheel true &
WPID=$!
yum -y -q update &> /dev/null
disown $WPID
kill $WPID &> /dev/null
if [ $# -eq 1 ]; then
install_centos
if $PRIVSOFT; then
rarInstall
fi
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip" "p7zip-plugins"
do get_dep $installer
done
else
for i in $@
do
if [ $i -ne "-i" ]
then
case $i in
"rar" | "unrar")
rarInstall
;;
"7z" | "7zip" | "p7zip")
install_centos
get_dep p7zip
get_dep p7zip-plugins
;;
*)
get_dep $i
;;
esac
fi
done
fi
# [ -n "$(grep "centos" /etc/*-release)" ]
# echo -e "CentOS system detected"
# yum install -y -q epel-release 1> /dev/null
# rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm 1> /dev/null
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 1> /dev/null
# yum repolist 1> /dev/null
# yum install -y -q tar bzip2 gzip zip unzip p7zip p7zip-plugins 1> /dev/null
# elif
# then
# echo -e "DNF system detected"
# dnf install -y -q tar bzip2 gzip zip unzip p7zip p7zip-plugins 1> /dev/null
# elif
# then
# echo -e "Yum system detected"
# yum install -y -q tar bzip2 gzip zip unzip p7zip p7zip-plugins 1> /dev/null
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env bash
# Function
function get_dep(){
wheel true &
WPID=$!
zypper install -y $@ &> /dev/null
if [[ $? -ne 0 ]]; then
if [[ $@ == "p7zip-full" ]]; then failed_install 7z; else failed_install $@; fi
else
if [[ $@ == "p7zip-full" ]]; then complete_install 7z; else complete_install $@; fi
fi
disown $WPID
kill $WPID &> /dev/null
}
# Run
echo -e "Zypper system detected"
echo "---------------------"
wheel true &
WPID=$!
zypper -q up -y 1> /dev/null
disown $WPID
kill $WPID &> /dev/null
if [ $# -eq 1 ]; then
if $PRIVSOFT; then
rarInstall
fi
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip-full"
do get_dep $installer
done
else
for i in $@
do
if [ $i -ne "-i" ]
then
case $i in
"rar" | "unrar")
rarInstall
;;
"7z" | "7zip" | "p7zip")
get_dep p7zip-full
;;
*)
get_dep $i
;;
esac
fi
done
fi
+98
View File
@@ -0,0 +1,98 @@
#!/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
wheel true &
WPID=$!
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
disown $WPID
kill $WPID &> /dev/null
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
}
function executer()
{
wheel true &
WPID=$!
if [ -x "$(command -v $1)" ]
then
"$@" 1> /dev/null
else
error_not_install $1
fi
disown $WPID
kill $WPID &> /dev/null
}
function complete_install(){
echo -e "$@:\t\t\t\e[32mComplete\e[0m"
}
function failed_install(){
echo -e "$@:\t\t\t\e[91mFailed\e[0m"
}
function wheel() {
sp='/-\|'
while $1; do
printf '%.1s\b' "$sp"
sp=${sp#?}${sp%???}
sleep 0.1s
done
}
+6 -4
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
@@ -43,6 +45,6 @@ will compress file1 and file2 in file.tar.gz
Report your bugs at <gore@hatthieves.es> Report your bugs at <gore@hatthieves.es>
.SH AUTHOR .SH AUTHOR
\fBlch\fP are by Gustavo Adolfo Mesa Roldan <gore@hackthieves.es>, radikal <radikal@disroot.org>. \fBlch\fP are by Gustavo Adolfo Mesa Roldan <gore@hatthieves.es>, radikal <radikal@disroot.org>, Ale Romero <ale@hatthieves.es>, m <?@?>.
This document is by radikal <radikal@disroot.org>. This document is by radikal <radikal@disroot.org>.