Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4c4d0a761e | |||
| e08001bc54 | |||
| 68bb954a7f | |||
| ae117b491a | |||
| f30aed7d2b | |||
| 0bfa956345 | |||
| 667e00baea | |||
| d9278518de | |||
| 62cb38a046 | |||
| 8a22e4c66c | |||
| 909c8186ca | |||
| 1e1be717d7 | |||
| 9e02361f31 | |||
| 2b48268c30 | |||
| 54194e3b89 | |||
| 91cae2b675 | |||
| c394876fcb | |||
| 832718e391 | |||
| 3c84ab9231 | |||
| fddc1481ef | |||
| 438e6867c5 | |||
| 4e04efe1af | |||
| 5816870906 | |||
| b25fc8bd8d | |||
| edccc89586 | |||
| 6b94a50229 | |||
| 2596a6a6fb | |||
| b8cb0defe8 | |||
| b10ba9ffee | |||
| 8ae84ab526 | |||
| 6692024ae1 | |||
| 9a13b0168c | |||
| 446b6647ed | |||
| fd40e86308 | |||
| 2c6f419db8 | |||
| 0be7239088 | |||
| a460d09a15 |
@@ -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
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ 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"
|
||||||
|
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
VERSION=0.5r1
|
VERSION=0.6r11
|
||||||
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 ./lib/resources.sh ]]; then . ./lib/resources.sh; else . /usr/lib/lch/resources.sh; fi
|
||||||
if [[ -e /usr/lib/lch/compressor.sh ]]; then . /usr/lib/lch/compressor.sh; else . ./lib/compressor.sh; fi
|
if [[ -e ./lib/compressor.sh ]]; then . ./lib/compressor.sh; else . /usr/lib/lch/compressor.sh; fi
|
||||||
if [[ -e /usr/lib/lch/decompressor.sh ]]; then . /usr/lib/lch/decompressor.sh; else . ./lib/decompressor.sh; fi
|
if [[ -e ./lib/decompressor.sh ]]; then . ./lib/decompressor.sh; else . /usr/lib/lch/decompressor.sh; fi
|
||||||
if [[ -e /usr/lib/lch/installer.sh ]]; then . /usr/lib/lch/installer.sh; else . ./lib/installer.sh; fi
|
if [[ -e ./lib/installer.sh ]]; then . ./lib/installer.sh; else . /usr/lib/lch/installer.sh; fi
|
||||||
|
|
||||||
|
|
||||||
if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ]
|
if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ]
|
||||||
then
|
then
|
||||||
@@ -21,15 +20,12 @@ else
|
|||||||
case $DEST in
|
case $DEST in
|
||||||
"--help" | "-h")
|
"--help" | "-h")
|
||||||
help
|
help
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
"--check" | "-c")
|
"--check" | "-c")
|
||||||
check
|
check
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
"--install" | "-i")
|
"--install" | "-i")
|
||||||
install $DEST $@
|
install $DEST $@
|
||||||
exit 0
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if [ -z "$DEST" ]
|
if [ -z "$DEST" ]
|
||||||
@@ -50,4 +46,5 @@ else
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
+11
-12
@@ -4,31 +4,31 @@ 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."
|
||||||
@@ -36,6 +36,5 @@ function compressor()
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo -e "\nDone"
|
echo -e "\nFile $DEST compressed."
|
||||||
exit 0
|
}
|
||||||
}
|
|
||||||
+11
-12
@@ -4,31 +4,31 @@ 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."
|
||||||
@@ -36,6 +36,5 @@ function decompressor()
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo -e "\nDone"
|
echo -e "\nFile $DEST decompressed."
|
||||||
exit 0
|
|
||||||
}
|
}
|
||||||
+33
-47
@@ -1,9 +1,9 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
function rarInstall(){
|
function rarInstall(){
|
||||||
if [ -e "$(command -v wget)" ]
|
if [ -e "$(command -v wget)" ] || [ -e "$(command -v curl)" ]
|
||||||
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"
|
||||||
@@ -11,76 +11,62 @@ function rarInstall(){
|
|||||||
RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz"
|
RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz"
|
||||||
RAR_FILE="rarlinux-5.9.1.tar.gz"
|
RAR_FILE="rarlinux-5.9.1.tar.gz"
|
||||||
fi
|
fi
|
||||||
wget $RAR_URL
|
if [ -e "$(command -v wget)" ]
|
||||||
tar -zxvf $RAR_FILE
|
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
|
cd rar
|
||||||
cp -v rar unrar /usr/local/bin/
|
cp -v rar unrar /usr/local/bin/ > /dev/null
|
||||||
cd ..
|
cd ..
|
||||||
rm -r rar $RAR_FILE
|
rm -r rar $RAR_FILE > /dev/null
|
||||||
echo "rar/unrar installed."
|
complete_install "rar"
|
||||||
else
|
else
|
||||||
echo -e "\n\e[91m[Error]\e[0m - Wget is not installed, so rar could not be installed.\nPlease install wget.\n"
|
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."
|
read -p "Press [ENTER] to continue installing or [CTRL+C] to exit."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function install()
|
function install()
|
||||||
{
|
{
|
||||||
echo -e "Install dependencies\n"
|
|
||||||
|
|
||||||
if [ "$UID" != "0" ]; then
|
if [ "$UID" != "0" ]; then
|
||||||
echo " Only root can execute this script, sorry."
|
echo " Only root can execute this script, sorry."
|
||||||
echo " Try 'sudo $0 $@'"
|
echo " Try 'sudo lch $@'"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -e "$(command -v rar)" ]
|
if [ $# -eq 1 ]; then
|
||||||
then
|
# Poner aviso "Vamos a instalarlo todo y mucho"
|
||||||
echo "rar installed."
|
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
|
else
|
||||||
read -p "Do you want to install non-free software? (rar, unrar) [Y/N]: " PRIVSOFT
|
PRIVSOFT=false
|
||||||
case ${PRIVSOFT} in
|
|
||||||
y|Y)
|
|
||||||
rarInstall;;
|
|
||||||
n|N)
|
|
||||||
echo -e "\nOnly will install free software.\n";;
|
|
||||||
*)
|
|
||||||
echo -e "Options: 'Y' or 'N': ";;
|
|
||||||
esac
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -x "$(command -v apt)" ]
|
if [ -x "$(command -v apt)" ]
|
||||||
then
|
then
|
||||||
echo -e "APT system detected\n"
|
if [[ -e ./lib/installers/deb.sh ]]; then . ./lib/installers/deb.sh; else . /usr/lib/lch/installers/deb.sh; fi
|
||||||
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)" ]
|
elif [ -x "$(command -v yum)" ]
|
||||||
then
|
then
|
||||||
echo -e "Yum system detected\n"
|
if [[ -e ./lib/installers/rpm.sh ]]; then . ./lib/installers/rpm.sh; else . /usr/lib/lch/installers/rpm.sh; fi
|
||||||
yum install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
|
|
||||||
elif [ -x "$(command -v pacman)" ]
|
elif [ -x "$(command -v pacman)" ]
|
||||||
then
|
then
|
||||||
echo -e "Pacman system detected\n"
|
if [[ -e ./lib/installers/pacman.sh ]]; then . ./lib/installers/pacman.sh; else . /usr/lib/lch/installers/pacman.sh; fi
|
||||||
pacman -Sqy --noconfirm tar bzip2 gzip zip unzip p7zip 1> /dev/null
|
|
||||||
elif [ -x "$(command -v zypper)" ]
|
elif [ -x "$(command -v zypper)" ]
|
||||||
then
|
then
|
||||||
echo -e "Zypper system detected\n"
|
if [[ -e ./lib/installers/zypper.sh ]]; then . ./lib/installers/zypper.sh; else . /usr/lib/lch/installers/zypper.sh; fi
|
||||||
zypper install -y tar bzip2 gzip zip unzip p7zip-full 1> /dev/null
|
|
||||||
else
|
else
|
||||||
echo -e "System installer not detected\n"
|
echo -e "System installer not detected"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -e "\nDependencies installation finished\n"
|
echo -e "\nDependencies installation finished\n"
|
||||||
exit 0
|
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
+50
-6
@@ -16,8 +16,11 @@ function help()
|
|||||||
echo "$ lch file.zip /home/file - Compress"
|
echo "$ lch file.zip /home/file - Compress"
|
||||||
echo "$ lch files.zip file1 file2 - Compress multiple"
|
echo "$ lch files.zip file1 file2 - Compress multiple"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Supported extensions:"
|
echo "Packing/unpacking supported extensions:"
|
||||||
echo " rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z"
|
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 ""
|
||||||
echo "Run 'man lch' for more info."
|
echo "Run 'man lch' for more info."
|
||||||
echo ""
|
echo ""
|
||||||
@@ -29,26 +32,67 @@ function check()
|
|||||||
echo -e "Verification of compression systems:\n"
|
echo -e "Verification of compression systems:\n"
|
||||||
echo -e "Systems\t\t\tStatus"
|
echo -e "Systems\t\t\tStatus"
|
||||||
echo "----------------------------------"
|
echo "----------------------------------"
|
||||||
for i in "rar" "unrar" "tar" "bzip2" "gzip" "zip" "unzip" "7za"
|
for i in "7z" "bzip2" "gzip" "rar" "tar" "unrar" "unzip" "zip"
|
||||||
do
|
do
|
||||||
|
wheel true &
|
||||||
|
WPID=$!
|
||||||
if ! [ -x "$(command -v $i)" ]
|
if ! [ -x "$(command -v $i)" ]
|
||||||
then
|
then
|
||||||
echo -e "$i\t\t\t\e[91mNot Installed\e[0m"
|
echo -e "$i\t\t\t\e[91mNot Installed\e[0m"
|
||||||
$a = true
|
a=true
|
||||||
else
|
else
|
||||||
echo -e "$i\t\t\t\e[32mInstalled\e[0m"
|
echo -e "$i\t\t\t\e[32mInstalled\e[0m"
|
||||||
fi
|
fi
|
||||||
|
disown $WPID
|
||||||
|
kill $WPID &> /dev/null
|
||||||
done
|
done
|
||||||
|
|
||||||
if $a
|
if $a
|
||||||
then
|
then
|
||||||
echo -e "\nIn order to use all the extensions install the packages: tar, bzip2, gzip, zip, unzip, 7za, rar, unrar"
|
echo -e "\nIn order to use all the extensions install the packages."
|
||||||
|
echo -e "Or use 'lch -i' to install all dependences"
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
exit 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function lowercase()
|
function lowercase()
|
||||||
{
|
{
|
||||||
echo "$DEST" | tr 'A-Z' 'a-z'
|
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
@@ -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>.
|
||||||
Reference in New Issue
Block a user