เซิร์ฟเวอร์คลาวด์ Ubuntu ของฉันมีเนื้อที่ดิสก์เหลือเพียง 900MB
ฉันจะว่างไดเรกทอรี / tmp และสงสัยว่ามีสถานที่อื่น ๆ เพื่อทำความสะอาด
sudo docker container prune -f && sudo docker image prune -f
เซิร์ฟเวอร์คลาวด์ Ubuntu ของฉันมีเนื้อที่ดิสก์เหลือเพียง 900MB
ฉันจะว่างไดเรกทอรี / tmp และสงสัยว่ามีสถานที่อื่น ๆ เพื่อทำความสะอาด
sudo docker container prune -f && sudo docker image prune -f
คำตอบ:
sudo apt-get autoremove
ที่สามารถล้าง guff ได้มากมาย (เมล็ดเก่า ฯลฯ ) ที่ถูกแทนที่ คุณสามารถทำสิ่งที่คล้ายกันใน Synaptic (โหลดขึ้นและเลือกปุ่มสถานะจากนั้นเลือกตัวเลือกลบอัตโนมัติ)
aptitude
แทนapt-get
จะสามารถล้างข้อมูลได้ตามปกติ แต่เป็นเรื่องธรรมดาสำหรับการติดตั้งรุ่นเก่าเพื่อรวบรวมแพที่ติดตั้งเมื่อการปรับปรุงด้านความปลอดภัยออกมา
dpkg --get-selections | grep linux-image
)
หากต้องการลบแพ็คเกจที่ดาวน์โหลด (.deb) ติดตั้งแล้ว (และไม่ต้องการอีกต่อไป)
sudo apt-get clean
เมื่อต้องการลบไฟล์เก็บถาวรที่เก็บไว้ทั้งหมดในแคชของคุณสำหรับแพ็กเกจที่ไม่สามารถดาวน์โหลดได้อีกต่อไป (ดังนั้นแพ็กเกจที่ไม่อยู่ในที่เก็บอีกต่อไปหรือที่มีเวอร์ชันใหม่กว่าในที่เก็บ)
sudo apt-get autoclean
ในการลบแพ็คเกจที่ไม่จำเป็นออก (หลังจากถอนการติดตั้งแอพอาจมีแพ็คเกจที่คุณไม่ต้องการอีกต่อไป)
sudo apt-get autoremove
หากต้องการลบเคอร์เนลเวอร์ชันเก่า
sudo apt-get remove --purge linux-image-X.X.XX-XX-generic
หากคุณไม่ทราบว่าจะลบเคอร์เนลเวอร์ชันใด
dpkg --get-selections | grep linux-image
แหล่งที่มา: Limpiando Ubuntu: comandos y programas (actualización) ( แปลโดย Google )
clean
เพิ่มพื้นที่ว่างเล็กน้อย ทันทีหลังจากนั้นฉันก็วิ่งautoclean
และพื้นที่ว่างของฉันลดลง 45MB วิ่งclean
อีกครั้งปล่อยพื้นที่พิเศษนี้
sudo apt-get clean
มันจะ - ทันที - ลบแพ็กเกจทั้งหมดในแพคเกจท้องถิ่นที่คุณอาจมี ดาวน์โหลดเมื่อทำการติดตั้ง + อัปเกรด นี่เกือบจะว่างเปล่าไดเร็กทอรี / var / cache / apt / archives ... ครั้งต่อไปที่คุณเรียกใช้sudo apt-get update
มันจะดาวน์โหลดทุกอย่างอีกครั้ง (มีอยู่แล้ว) เพียงหัวขึ้น! .. :)
แสดงเขตย่อยที่ใหญ่ที่สุด 10 อันดับแรกใน dir ปัจจุบัน
du -sk * | sort -nr | head -10
ใช้ filelight หรือ kDirStat เพื่อดูว่าที่ว่างบนดิสก์มองเห็นที่ไหน
ตรวจสอบว่าคุณมีเมล็ดเก่าหรือไม่สำหรับการลบ
ls -lh /boot
แพคเกจทำความสะอาด
sudo apt-get autoremove
sudo apt-get autoclean
ดูรายการแพ็คเกจที่ติดตั้งทั้งหมดเรียงตามขนาด หากคุณเห็นสิ่งที่ยิ่งใหญ่และไม่ได้ใช้ให้ถอนการติดตั้ง
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
ทำความสะอาดไฟล์ภาษาที่ไม่ได้ใช้พร้อมคำแปล (มีตัน)
sudo apt-get install localepurge
ตรวจสอบเนื้อหาของ / var / tmp /
du -sh /var/tmp/
ตรวจสอบด้วย
man deborphan
ค้นหาไฟล์ขนาดใหญ่:
find / -type f -size +1024k
หรือ
find / -size +50000 -exec ls -lahg {} \;
แพคเกจติดตั้งขนาดใหญ่
dpigs
นี่เป็นส่วนหนึ่งของแพ็คเกจ: debian-goodies
ncdu
ซึ่งให้วิธีที่รวดเร็วในการดูว่าไดเรกทอรีใดบ้างที่ใช้พื้นที่ดิสก์ของคุณ
kDirStat
ถูกแทนที่ด้วยbaobab
ฉันเพิ่งเพิ่มขึ้นเกือบ 2 กิ๊กโดยการลบเมล็ดและไฟล์ส่วนหัวเก่า:
ใช้
uname -r
เพื่อตรวจสอบเวอร์ชั่นปัจจุบันของคุณแล้ว
dpkg -l linux-image-* linux-headers-*
เพื่อดูเคอร์เนลและไฟล์ส่วนหัวเก่าทั้งหมดจากนั้น
sudo apt-get remove linux-image-<XYZ> linux-headers-<XYZ>
apt-get remove
คำสั่งสนับสนุนสัญลักษณ์เพื่อให้คุณสามารถทำapt-get remove linux-image 3.0.* linux-headers-3.0.*
เช่นการกำจัดหลายครั้ง
ตรวจสอบให้แน่ใจว่าคุณไม่ฆ่าลบเคอร์เนลปัจจุบันแน่นอน! และอาจเก็บรุ่นเก่าหนึ่งหรือสองกรณีในกรณี ... แต่ไม่ใช่ 10 หรือ 20!
อย่าลืมล้างถังขยะ
หรือจากบรรทัดคำสั่ง:
rm -r ~/.local/share/Trash/info/ && rm -r ~/.local/share/Trash/files/
ฉันขอแนะนำโปรแกรม BleachBit ซึ่งทำความสะอาดทุกอย่างบน Ubuntu
ติดตั้งโดยใช้คำสั่งต่อไปนี้:
sudo apt-get install bleachbit
บางแพ็คเกจอาจมีขนาดค่อนข้างใหญ่ dpigs
วิธีที่สะดวกในการหาเหล่านี้คือการใช้ ไม่ได้ติดตั้งตามค่าเริ่มต้น แต่สามารถพบได้ในdebian-goodies
( โครงการ GitHub )
sudo apt-get install debian-goodies
แล้ว:
$ dpigs
419576 texlive-latex-extra-doc
204112 nvidia-319
175463 google-chrome-stable
141058 linux-image-extra-3.11.0-15-generic
113173 libreoffice-core
104822 valgrind
102322 qt4-doc
93337 blender
91105 texlive-pstricks-doc
90517 libboost1.53-dev
มีตัวเลือกน้อย:
-n, --lines=N
Display the N largest packages on the system (default 10).
-s, --status=status-file
Use status-file instead of the default dpkg status file.
-S, --source
Display the largest source packages of binary packages installed
on the system.
-H, --human-readable
Display package sizes in human-readable format (like ls -lh or du -h)
-h, --help
Display this message.
ข้อควรสนใจ:หากคุณเพิ่งอัพเกรดเคอร์เนลให้รีบูตก่อนที่จะลบเวอร์ชันเก่ากว่า!
อย่าลืมตรวจสอบว่าคุณใช้เคอร์เนลประเภทใด:
uname -r
จากนั้นเป็นราก:
sudo apt-get remove --purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d')
อ่านเธรดนั้นอย่างปลอดภัยเพื่อไม่ให้ลบเมล็ดที่จำเป็นด้วยคำสั่งนี้!
หากคุณใช้ UFW ให้ตรวจสอบโฟลเดอร์บันทึก ในหนึ่งในเครื่องของฉัน UFW กำลังสร้างบันทึก 8Gb ในสองสามวัน
คุณสามารถล้างแคช apt ด้วย:
sudo apt-get clean
ลองใช้ BleachBit ( อยู่ที่ sourceforge ) มันเป็นโปรแกรมที่ยอดเยี่ยม แนวคิดพื้นฐานคือมันเพิ่มพื้นที่ว่างในดิสก์อย่างรวดเร็วและกำจัดขยะจำนวนมากที่ซ่อนอยู่ในระบบ มีแอปพลิเคชั่นกว่า 70 รายการที่สามารถจดจำและล้างข้อมูลได้ นอกจากนี้ยังมีความสามารถในการใช้เพื่อ "ล้าง" พื้นที่ว่างในดิสก์ ฉันคิดว่ามันเป็น CCleaner จาก windows สำหรับ Linux เท่านั้น
ตรวจสอบไฟล์บันทึกจำนวนมากเช่นกัน:
sudo du -h /var/log
หรือเมื่อrubo77ชี้ให้เห็นว่าคุณสามารถใช้เครื่องมือการใช้ดิสก์ NCurses:
sudo ncdu /var/log
sudo ncdu /var/log
ก่อนอื่นมีเครื่องมือสำหรับแสดงรายการโฟลเดอร์และไฟล์ขนาดใหญ่ทั้งหมด เพียงพิมพ์ 'Baobab' ลงในตัวเรียกใช้งาน ด้วยการลบโฟลเดอร์และไฟล์คุณไม่ต้องการให้คุณมีพื้นที่เพิ่มขึ้น
จากนั้นมีโปรแกรมสำหรับลบไฟล์สองไฟล์ fslint
โปรแกรมที่ถูกเรียกว่า ติดตั้งโดยป้อน
sudo apt-get install fslint
ในอาคารผู้โดยสาร
หรือกราฟิก
คุณยังสามารถล้างแคชแพ็กเกจด้วย
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
ขั้นตอนที่สี่คือการลบรายการเคอร์เนลเก่า คุณสามารถทำได้โดยการติดตั้งและเปิด Synaptic ใน Synaptic ค้นหารายการเคอร์เนลเก่า (ทุกรายการเคอร์เนลที่แสดงในด้วงยกเว้นใหม่ล่าสุด) และลบออก
ขั้นตอนหนึ่งที่ดีคือการลบแคชแอปพลิเคชัน ทำได้โดยติดตั้งและใช้งานbleachbit
:
sudo apt-get install bleachbit
หรือกราฟิก
สำคัญ: ไม่สามารถกู้คืนแคชที่ถูกลบได้!
ขั้นตอนสุดท้ายคือการจัดระเบียบระบบไฟล์ ทำสิ่งต่อไปนี้:
cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make
ด้วยคำสั่งเหล่านี้คุณสามารถดาวน์โหลดและคอมไพล์ e2fsprogs (หากคุณหรือชุมชนมีวิธีที่ดีกว่าในการติดตั้งโปรแกรมโปรดแก้ไข!)
ตรวจสอบให้แน่ใจว่าgit-core
ได้ติดตั้งแล้ว ถ้าไม่ดำเนินการ:
sudo apt-get install git-core
ตอนนี้คุณสามารถรันโปรแกรมด้วย:
cd $HOME/e2fsprogs/misc
./e4defrag /dev/sda1 #defragment /dev/sda1
./e4defrag -v /dev/sda1 # verbose output
./e4defrag -c /dev/sda1 # see overview of fragmentation status
แทนที่ / dev / sda1 ด้วยระบบไฟล์หรือโฟลเดอร์ / ไฟล์ที่คุณต้องการ โปรดทราบว่าสำหรับการจัดเรียงข้อมูลบนอุปกรณ์ (เช่น HDD) คุณต้องมีสิทธิ์ใช้งานรูท แต่ไม่ใช่สำหรับไฟล์ของคุณเอง
แหล่งที่มา (เยอรมัน): ที่นี่
sudo apt-get install ncdu
สคริปต์นี้จะดำเนินการชิ้นที่ใหญ่ที่สุดบนคอนโซล:
--purge
สวิตช์ด้วยapt-get
)สร้างไฟล์ที่มีเนื้อหานี้และให้สิทธิ์ปฏิบัติการ:
#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh
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! Exiting..."$ENDCOLOR
exit 0
fi
echo -e $YELLOW"Cleaning apt ..."$ENDCOLOR
aptitude clean
apt-get autoremove
apt-get autoclean
echo -e $YELLOW"Those packages were uninstalled without --purge:"$ENDCOLOR
echo $OLDCONF
#apt-get purge "$OLDCONF" # fixes the error in the original script
for PKGNAME in $OLDCONF ; do # a better way to handle errors
echo -e $YELLOW"Purge package $PKGNAME"
apt-cache show "$PKGNAME"|grep Description: -A3
apt-get -y purge "$PKGNAME"
done
echo -e $YELLOW"Removing old kernels..."$ENDCOLOR
echo current kernel you are using:
uname -a
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
ดัดแปลงมาจาก71529-ubucleaner.sh
เครื่องมือบางอย่างที่จะช่วยคุณค้นหาโฟลเดอร์และแพ็คเกจขนาดใหญ่:
sudo apt-get install ncdu debian-goodies deborphan
sudo ncdu / # lists all folders by size on the console (like the gui `baobab`)
dpigs -H # shows large packages that you don't use
man deborphan # finds packages that have no packages depending on them
deborphan --guess-all --libdevel | xargs apt-get -s purge
ใช้ localepurge เพื่อถอนการติดตั้งภาษาที่ไม่ได้ใช้ในระบบของคุณ:
sudo apt-get install localepurge
LANG=c snap list --all | awk '/disabled/{print $1, $3}' | \
while read snapname revision; do \
snap remove "$snapname" --revision="$revision"; \
done
เครื่องมือ GUI กราฟิกที่ยอดเยี่ยมที่เหมาะกับทุกความต้องการ:
sudo apt-get install bleachbit
นอกจากนี้คุณสามารถลบ manpages และเอกสารตามที่อธิบายไว้ในUbuntu Wiki :
สร้างไฟล์ /etc/dpkg/dpkg.cfg.d/01_nodoc ซึ่งระบุตัวกรองที่ต้องการ ตัวอย่าง:
path-exclude /usr/share/doc/*
# if we need to keep copyright files for legal reasons:
# path-include /usr/share/doc/*/copyright
path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*
ลบไฟล์และไดเรกทอรีชุดเดียวกันใน postinst ของ project-config ตัวอย่าง:
echo "Removing documentation..."
# if we need to keep copyright files for legal reasons:
# find /usr/share/doc -depth -type f ! -name copyright | xargs rm || true
# else:
find /usr/share/doc -depth -type f | xargs rm || true
rm -rf /usr/share/man/* /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*
uname -a
ตรวจสอบเคอร์เนลปัจจุบันคุณใช้กับ ในกรณีที่คุณเพิ่งทำการอัปเกรด apt-get ugrade มาก่อนและได้เคอร์เนลใหม่นี่อาจเป็นสาเหตุได้ว่า kurnel ปัจจุบันที่คุณใช้ไม่ได้ติดตั้งใหม่ล่าสุดหรือไม่ ทำรีบูตก่อนที่จะเริ่มสคริปต์นี้
ไดเรกทอรี '/ tmp' ไม่ควรทำความสะอาดด้วยตนเองเว้นแต่ว่าจำเป็นจริงๆ (เช่น: แอปพลิเคชันที่ปิดไม่ได้ทำการล้างข้อมูลเอง)
คุณสามารถค้นหาตำแหน่งที่อาจเติมช่องว่างโดยใช้คำสั่ง 'du' โดยทั่วไปสถานที่น่าสนใจจะอยู่ภายใน '/ var' หากต้องการตั้งชื่อผู้ต้องสงสัยสองคน '/ var / log' และ '/ var / cache' แม้ว่าฉันจะมีผู้ใช้บางคนที่ติดตั้งยูทิลิตีการสำรองข้อมูลและไม่เคยรู้เลยว่ามันสร้าง GB ของการสำรองข้อมูลเพิ่มเติมใน '/ var / backup' ที่สร้างขึ้นในหนึ่งสัปดาห์หรือหนึ่งเดือนเพื่อเติมเต็มพื้นที่ดิสก์ทั้งหมด
ใช้ubuntu-tweakเพื่อทำความสะอาด
มันจะล้าง * .deb ทั้งหมดที่ดาวน์โหลดไปยังแอปติดตั้ง
เมื่อฉันต้องการเพิ่มพื้นที่ว่างบนเซิร์ฟเวอร์ฉันใช้คำสั่งนี้ ค้นหาไฟล์ทั้งหมดที่ใหญ่กว่า 50 MB และ "du -h" สร้างรายการไฟล์ที่ดีขึ้นและ "sort -n" หลังจากไพพ์ทำให้รายการเป็นตัวเลขเรียงตามขนาดไฟล์
find / -size +50M -type f -exec du -h {} \; | sort -n
ncdu /
แทนดีกว่าแทน
du -h
ใช้sort -h
เช่นกัน
uname -r
(เพื่อดูของคุณ)
apt-get remove linux-image 3.0.*
(รุ่นที่เก่ากว่าของคุณ) มันทำให้ฉันมีพื้นที่ว่าง 600mb