我阅读了此处的流程并提出了以下脚本:
for i in `ls -1 /var/cache/apt/archives` ; do sudo cp /var/cache/apt/archives/$i /home/jj/Documents/Repository ; done
并重新安装:
sudo dpkg -i /home/jj/Documents/Repository/*.deb
问题: 我怎样才能删除这些(以及它们的依赖关系?)通过脚本重新安装之前?
aisleriot
evolution
evolution-common
evolution-data-server
evolution-exchange
evolution-indicator
evolution-plugins
gbrainy
gnome-mahjongg
gnome-sudoku
gnomine
gwibber
gwibber-service
libevolution
openoffice.org-draw
openoffice.org-impress
quadrapassel
感谢您的时间。
我现在明白了此链接我选择了这个方法:sudo apt-get remove -y $package
然后可能还会使用 cleandeb。有什么建议吗?
谢谢你!
答案1
有一个 bash 脚本用于删除软件包后删除依赖项。
#!/bin/bash
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"
RED="\033[0;31m"
ENDCOLOR="\033[0m"
if [ $USER != root ]; then
echo -e $RED"Error: must be root"
echo -e $YELLOW"Exiting..."$ENDCOLOR
exit 0
fi
echo -e $YELLOW"Cleaning apt cache..."$ENDCOLOR
aptitude clean
echo -e $YELLOW"Removing old config files..."$ENDCOLOR
sudo aptitude purge $OLDCONF
echo -e $YELLOW"Removing old kernels..."$ENDCOLOR
sudo aptitude purge $OLDKERNELS
echo -e $YELLOW"Emptying every trashes..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo -e $YELLOW"Script Finished!"$ENDCOLOR
复制脚本并将其粘贴到文本编辑器中。然后以 .sh 扩展名保存文件(即 cleaner.sh)右键单击文件选择属性>>权限并检查执行..
要运行此脚本,请在终端中输入以下内容。
sudo bash /path/to/the/script