[ Level 2 ] Ubuntu package install script.
I wrote an easy script for install Ubuntu packages.
Wish this helps.
regards,
Stanley Huang
#!/bin/bash
#
# This script is for install popular packages
#
#$: check package, if exists, skip the following prefix #^
#@: apt-get install packages
#!: unix command
#^@: apt-get install packages, depends on previous #$
#^!: unix command, depends on previous #$
#
showUsage() {
cat <<EOF
Usage:
$0
$0 [package name]
Ex.
$0
$0 rdesktop
EOF
}
isPackageNotInstall() {
dpkg -l $1 >/dev/null 2>&1
if [ $? -eq 0 ]
then
echo "Package '$1' exists, skip it!"
return 1
else
return 0
fi
}
getContent() {
declare -i begin
declare -i end
declare -i size
begin=$1
end=$2
size=$end-$begin+1
tail -n +$begin $0 | head -$size
}
getPackageName() {
echo $1 | cut -d' ' -f2- | cut -d'#' -f1
}
getCommand() {
echo "$line" | cut -d' ' -f2- | cut -d'#' -f1
}
die() {
echo $1
exit 1
}
aptGetInstall() {
echo -n "Start install package '$@'..."
apt-get -y install $@ && echo "OK" || die "FAIL"
}
commandExecute() {
echo -n "Start execute command '$@'..."
$@ && echo "OK" || die "FAIL"
}
########## main ##########
if [ ! -z "$@" ]
then
apt-get -y install $@
else
start_from_here_string="Package List, Start from here!"
stop_at_here_string="Package List, Stop at here!"
start_line_no=`grep -n "$start_from_here_string" "$0" | tail -1 | cut -d: -f1`
stop_line_no=`grep -n "$stop_at_here_string" "$0" | tail -1 | cut -d: -f1`
SKIP_FLAG=false
CHECK_FLAG=false
getContent $start_line_no $stop_line_no | while read line
do
if echo "$line" | grep -e "^#\\$" >/dev/null 2>&1
then
CHECK_FLAG=true
if isPackageNotInstall `getPackageName "$line"`
then
echo "Package (`getPackageName '$line'`) doesn't exist!"
SKIP_FLAG=false
else
SKIP_FLAG=true
fi
continue
elif echo "$line" | grep -e "^#^" >/dev/null 2>&1
then
$SKIP_FLAG && echo "Dependy exists, skip `getPackageName "$line"`" && continue
line=`echo "\$line" | sed -e 's/^#^/#/'`
else
CHECK_FLAG=false
fi
echo $line | grep -e "^#@" >/dev/null 2>&1 && isPackageNotInstall `getPackageName "$line"` && aptGetInstall `getPackageName "$line"`
echo $line | grep -e "^#!" >/dev/null 2>&1 && commandExecute `getCommand "$line"`
done
exit
cat $0 | grep ^#@ | awk '{print($2)}' | while read sPkg
do
echo "pkg install $sPkg"
done
fi
exit
exit
##
## Package List, Start from here!
##
#### app ####
#@ vlc
#@ testdisk
#@ nfs-common
#@ openssh-server
#@ samba
#### system ####
#@ htop
##@ scim scim-pinyin scim-chewing scim-tables-zh scim-qtimm im-switch
##! im-switch -s scim
#### network ####
#@ chromium-browser
##@ openvpn
#@ wireshark
#@ transmission
#@ rdesktop
#### media ####
#@ gimp
#@ avidemux
#@ audacity
#@ freemind
#@ flashplugin-nonfree
##! sudo cp /usr/lib/flashplugin-installer/libflashplayer.so /usr/lib/chromium-browser/plugins
#@ mimms # download mms streaming
#### tools ####
#@ meld
#@ vim
#@ tree
##@ adacontrol # ptree
#@ minicom
#### developer tools ####
#@ maven2
#@ visualvm
#@ libssl-dev
#### install acrobat reader ####
#@ ia32-libs wget
##! wget http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.1.1/enu/AdbeRdr9.1.1-1_i486linux_enu.bin
##! chmod +x AdbeRdr9.1.1-1_i486linux_enu.bin
##! ./AdbeRdr9.1.1-1_i486linux_enu.bin
#$ grub-customizer
#^! add-apt-repository ppa:danielrichter2007/grub-customizer
#^! apt-get update
#^@ grub-customizer
##
## Package List, Stop at here!
##
Wish this helps.
regards,
Stanley Huang
Comments
Post a Comment