خالی کردن cache کاری به بستن برنامهها نداره!
فقط مقدار حافظهٔ کَش شده رو خالی میکنه.
سواپ هم اگه خالی بشه، حافظهش برمیگرده داخل Ram.
برای تست کردن اینکه واقعاً انجام میشه یا نه، باید سر نیمساعت (یعنی 30 دقیقهٔ هر ساعت) htop رو بیاری بالا و همون لحظه ببینی. یا دستورش رو بدون اون ستارهها و عدد 30، توی ترمینال بذاری و اجرا کنی. البته اینا نیاز به sudo دارن واسه همین گفتم توی cron ریشه باید گذاشته بشن!
برای حذف کردن بستهها بعد از نصب و یا آپگرید، کافیه بعد از دستور، بنویسی: sudo apt autoclean
یعنی:
sudo apt update; sudo apt autoclean
یا اینکه اسکریپت بنویسی و داخلش همهٔ این دستورات رو بدی و بعد اسکریپتت رو اجرا کنی که خب کار اصولی و بهتریه منتها نوشتنش طول میکشه.
مثلاً یه اسکریپت نوشتم که هرچی خواستم نصب کنم رو میده به دانلود منیجر دانلود میکنه و بعد نصب میکنه. هم برای نصب، هم آپگرید و هم حذف بستههای اضافی. اسمشو هم گذاشتم aptd. مثلاً بخوام آپدیت کنم میزنم:
aptd -d
و همین یه دستور توی ترمینال کافیه تا اپت کار کنه و بستههای آپگرید رو بده به دانلود منیجر و با آخرین سرعت بگیره و بعد بریزه توی پوشهٔ بستهها و بعد بستهها رو بهروز کنه.
این هم کدش:
#!/bin/bash
## An application to get updated packs more quickly with aria2 download manager.
## Upgrade, Install and Autoremove Packages.
## Save Package's File in "/var/cache/apt/archive".
# Variables:
ARGS="$*"
## "$*" is input argument.
# Conditions:
HELP (){
echo -e "\n\
\t -i\
\n\t\t Install Package.\
\n\
\n\t -d\
\n\t\t Distro Upgrade and Packages.\
\n\
\n\t -r\
\n\t\t Autoremove Packages.
\n"
exit
} ## The user can see the program's general guide using the argument (-h).
BAD_ARG (){
echo -e "Bad Arguments \nSee -h option"
exit
} ## Use when the user entered the wrong argument.
NO_ARG (){
echo -e "There is no argument. try again. \nSee -h option"
exit
} ## Use when the argument is not entered.
# Functions:
OPT_CHECK (){
if [[ ! -z "$OPTARG" ]];then
if [[ "$ARGS" != "-$OPTIONS $OPTARG" ]];then
BAD_ARG
fi
elif [[ "$ARGS" != "-$OPTIONS" ]];then
BAD_ARG
fi
} ## Checking the arguments with pre-selected states in the program.
DEB_GET (){
if [[ ! -d ~/Downloads/debtmp ]];then
mkdir ~/Downloads/debtmp
fi
grep 'http' | cut -f2 -d\' > ~/Downloads/debtmp/aptlink
aria2c -c -j1 -x16 -s16 -k1m \
-i ~/Downloads/debtmp/aptlink -d ~/Downloads/debtmp/
}
## A Directory is required to perform the tasks of this program.
## So if you do not have it, the Directory will be made.
## When this function is in the body of the script,
## The output of the apt command is taken and downloaded to the aria2 program.
NO_DEB (){
if [[ $CHECK != "0" ]];then
read -r -p "Do you want to delete temporary deb files? [y/No]: " ANSWER_0
if [[ "$ANSWER_0" == "y" ]];then
rm -rf ~/Downloads/debtmp
fi
exit
fi
}
## If the download operation is not successful,
## the program stops and asks the user to remove the incomplete files.
DEB_MOVE (){
sudo mv -vf ~/Downloads/debtmp/*deb /var/cache/apt/archives/
rm -rf ~/Downloads/debtmp
}
## This function transfers the downloaded files,
## to the corresponding directory for installation.
IF_DEB (){
if [[ -z $(ls -1 ~/Downloads/debtmp/*deb 2> /dev/null) ]];then
rm -rf ~/Downloads/debtmp
else
DEB_MOVE
fi
}
## This is a cleanup function.
## If there are no packages to download, delete the empty directory.
## Otherwise, it puts the packages in place for installation.
DIST_UPGRADE (){
sudo apt dist-upgrade --print-uris -y | DEB_GET
CHECK="$?"
NO_DEB
IF_DEB
sudo apt dist-upgrade -y
} ## This function automatically upgrades updated patches.
# Body:
## This program uses "getopts" to interact with the user.
case "$1" in
"") ### Empty argument.
NO_ARG;;
[!-]*) ### Arguments that do not start with "-".
BAD_ARG;;
-) ### An argument that consists of only "-".
BAD_ARG
esac ## The correct or incorrect condition of the first argument.
# Getopts Section:
## Part for user interaction. Getting input from the user,
## and executing the command corresponding to the input command.
while getopts ":dhi:r" OPTIONS;do
## Two points ":" in the first string mean the removal of additional message.
## Two points ":" after each word means more input.
case "$OPTIONS" in
h)
OPT_CHECK
HELP;;
i)
OPT_CHECK
sudo apt install $OPTARG --print-uris -y | DEB_GET
## --print-uris: It means receiving packet links.
CHECK="$?"
NO_DEB
IF_DEB
sudo apt install $OPTARG -y;;
d)
OPT_CHECK
DIST_UPGRADE
pkill -SIGRTMIN+13 i3blocks
## For restart i3blocks and refresh aptlist.
;;
r)
OPT_CHECK
sudo apt autoremove;;
*)
BAD_ARG
esac
done