یک اسکریپت خوب برای راحت تر کردن pacman
همون طور که میدونید pacman مدیر بسته ها در آرچ هست. دستورات زیادی داره که کار کردن با اونها ممکنه در ابتدا سخت باشه. وجود یک اسکریپت که کار رو ساده تر کنه لازم دیدم، اما هر چه گشتم چیزیو که میخواستم پیدا نکردم. بنابراین دست به کار شدم و خودم یک اسکریپت نوشتم. از نتیجه کار راضی ام. شما هم میتونید این اسکریپت رو داشته باشید. به ادامه مطلب برید و اسکریپت رو در یک فایل ذخیره کنید. مجوز اجرایی رو بهش بدید و اون رو در usr/local/bin/ کپی کنید.
روش کار چنین هست که با دستور pm و متعلقاتش میتونید بکیج ها رو مدیریت کنید. مثلا:
pm -i mplayer یا pm install mplayer بسته ی mplayer رو از مخازن نصب میکنه
pm -d mplayer یا pm delete mplayer بسته ی mplayer رو با تمام بسته هایی که به اون dependent هستند پاک میکنه.
هر کسی هم که این اسکریپت رو میبینه و فکر میکنه میتونه بهتر و ساده تر بشه، میتونه تغییرش بده یا پیشنهاد بده.
#! /bin/sh # # pm is a simple script to make pacman easier. # pacman is the package manager of Arch based linux distroes. # I'm not a developer, and I wrote this script just for my needs. # 30 Murch 2014 # Amin Abdollahzade: medicamin@gmail.com http://linuxvaman.mihanblog.com # Feel free to make this script better :) # if [ $# -lt 1 ] then echo echo "pm is a simple script to make pacman easier" echo "Usage: pm option package" echo echo -e " \033[1m \x1b[31m Options:\033[0m " echo " -h, help : Show this help" echo " -i, install : Install a package from repo" echo " -ip, install-pkg : Install the given package" echo " -r, remove : Remove a single package" echo " -d delete : Delete a package with all dependencies" echo " -s, search : Search the given name" echo " -u, update : Updates the system" echo " -uy, update-yes : Updates the system with YES to all questions" echo " -um, update-mirror : Updates the mirrors using reflector" echo " You must install reflector before" echo " -z, size : Sort all packages by installed size" echo " -f info : Display information about a package" echo echo -e " \033[1m \x1b[31m Examples:\033[0m" echo " pm -uy :updates all packages without confirmation" echo " pm install vlc :install vlc" echo echo exit fi function show_help { echo echo "pm is a simple script to make pacman easier" echo "Usage: pm option package" echo echo -e " \033[1m \x1b[31m Options:\033[0m " echo " -h, help : Show this help" echo " -i, install : Install a package from repo" echo " -ip, install-pkg : Install the given package" echo " -r, remove : Remove a single package" echo " -d delete : Delete a package with all dependencies" echo " -s, search : Search the given name" echo " -u, update : Updates the system" echo " -uy, update-yes : Updates the system with YES to all questions" echo " -um, update-mirror : Updates the mirrors using reflector" echo " You must install reflector before" echo " -z, size : Sort all packages by installed size" echo " -f info : Display information about a package" echo echo -e " \033[1m \x1b[31m Examples:\033[0m" echo " pm -uy :updates all packages without confirmation" echo " pm install vlc :install vlc" echo echo } function reflector { sudo reflector --verbose -l 10 -p http --sort rate --save /etc/pacman.d/mirrorlist } case $1 in -h|--help) show_help exit 0 ;; -um|update-mirror) reflector exit 0 ;; -s|search) sudo pacman -Ss $2 exit 0 ;; -i|install) sudo pacman -S $2 exit 0 ;; -ip|install-pkg) sudo pacman -U $2 exit 0 ;; -u|update) sudo pacman -Syu exit 0 ;; -uy|update-yes) sudo pacman -Syu --noconfirm exit 0 ;; -d|delete) sudo pacman -Rns $2 exit 0 ;; -r|remove) sudo pacman -R $2 exit 0 ;; -f|info) sudo pacman -Si $2 exit 0 ;; -z|size) echo "wait a moment..." sudo pacman -Qi | egrep "^(Name|Installed Size)" | sed -e 'N;s/\n/ /' | awk '{ print $7, $3}' | sort -n > ~/pkgsize echo "packages list sorted by size: $HOME/pkgsize" exit 0 ;; esac