/boot
කොටස සඳහා මට MB 200 ක් පවරා ඇත . මම කර්නලය යාවත්කාලීන කිරීමට උත්සාහ කරන සෑම විටම, මට දෝෂ පණිවිඩයක් ලැබෙනු ඇත /boot
.
/boot
පැරණි කර්නල් පිරිසිදු කිරීමට සහ ඉවත් කිරීමට / උපස්ථ කිරීමට මට කුමක් කළ හැකිද?
/boot
කොටස සඳහා මට MB 200 ක් පවරා ඇත . මම කර්නලය යාවත්කාලීන කිරීමට උත්සාහ කරන සෑම විටම, මට දෝෂ පණිවිඩයක් ලැබෙනු ඇත /boot
.
/boot
පැරණි කර්නල් පිරිසිදු කිරීමට සහ ඉවත් කිරීමට / උපස්ථ කිරීමට මට කුමක් කළ හැකිද?
Answers:
පළමුව ඔබේ කර්නල් අනුවාදය පරීක්ෂා කරන්න, එවිට ඔබ භාවිතයේ ඇති කර්නල් රූපය මකා නොදමනු ඇත.
uname -r
දැන් ස්ථාපනය කර ඇති කර්නල් ලැයිස්තුවක් සඳහා මෙම විධානය ක්රියාත්මක කරන්න:
dpkg --list 'linux-image*' | grep ^ii
මෙය ක්රියාත්මක කිරීමෙන් ඔබට තවදුරටත් අවශ්ය නොවන කර්නල් මකන්න:
sudo apt-get remove linux-image-VERSION
ඔබට ඉවත් කිරීමට අවශ්ය කර්නලයේ අනුවාදය සමඟ VERSION ප්රතිස්ථාපනය කරන්න.
ඔබ පැරණි කර්නල් ඉවත් කිරීමෙන් පසු, ඔබට තවදුරටත් අවශ්ය නොවන පැකේජ ඉවත් කිරීමට මෙය ක්රියාත්මක කළ හැකිය:
sudo apt-get autoremove
අවසාන වශයෙන් ඔබට ග්රබ් කර්නල් ලැයිස්තුව යාවත්කාලීන කිරීමට මෙය ක්රියාත්මක කළ හැකිය:
sudo update-grub
sudo dpkg --list 'linux-image*' | grep ^ii
ස්ථාපනය කර ඇති කර්නල් බැලීම ටිකක් පහසු කරයි. එසේම මම සිතන්නේ update-grub
එය හානිකර නොවන නමුත් දැඩි ලෙස අවශ්ය නොවන බවයි, ඔබ කර්නලයක් අස්ථාපනය කරන විට එය ස්වයංක්රීයව ක්රියාත්මක වේ.
sudo dpkg --list 'linux-image*' | grep ^ii | awk '{print $2}' | sort | egrep "[0-9]-generic" | head -n -3 | tr '\n' ' '; echo ""
කළ යුතු පැකේජ නාම ලැයිස්තුව ලබා ගැනීමට භාවිතා කරන්න sudo apt-get remove
. head -n -3
පද්ධතියේ නවතම කර්නල් 3 ක් තබා ගැනීමට භාවිතා කරයි.
apt-get remove `dpkg --list 'linux-image*' |grep ^ii | awk '{print $2}'\ | grep -v \`uname -r\``
sudo apt-get autoremove
ප්රමාණවත් විය යුතුය (සාමාන්යයෙන් අවසාන කර්නල් 3 ඔබ අතහැර යයි)
/boot
පිරී ඇති බැවින් apt-get
යම් දෝෂ කේතයක් හෝ වෙනත් ආකාරයකින් අසමත් වනු ඇත. පහත පිළිතුර ටිකක් "hackier" (මම නිකුත් කිරීමට නම් මම වානේ තිබුණා පැවසිය යුත්තේ ය rm -rf
තුළ /boot
) නමුත් මෙම තත්ත්වය ඇතිවිය වැඩ කිරීමට බව එකම එක.
සටහන: මෙය සිදුවන්නේ 100% පූර්ණ / ඇරඹුම් නිසා පිරිසිදු කිරීමට ඔබට apt භාවිතා කළ නොහැකි නම් පමණි
ඔබේ / ඇරඹුම 100% ක් වන බැවින් apt-get ක්රියාත්මක නොවන්නේ නම්, ඔබ පළමුව පිරිසිදු කිරීම / ආරම්භ කිරීම අවශ්ය වේ. මෙය අර්ධ ස්ථාපනයක් තුළ කර්නල් උත්ශ්රේණිගත කිරීමක් අල්ලාගෙන ඇති අතර එයින් අදහස් කරන්නේ apt මුළුමනින්ම මුළුමනින්ම ශීත වී ඇති අතර apt-get -f install
එම විධානය දිගටම අසමත් වුවද ධාවනය කිරීමට ඔබට දිගටම කියනු ඇත .
කර්නල් රූප ලැයිස්තුව ලබාගෙන ඔබට නොමැතිව කළ හැකි දේ තීරණය කරන්න. මෙම විධානය මඟින් දැනට ක්රියාත්මක වන එක හැර ස්ථාපිත කර්නල් පෙන්වනු ඇත sudo dpkg --list 'linux-image*'|awk '{ if ($1=="ii") print $2}'|grep -v `uname -r`
. ලැයිස්තුවේ නවතම අනුවාද දෙක සටහන් කරන්න. මෙහි ලැයිස්තුගත කර නොමැති බැවින් ධාවනය වන එක ගැන ඔබ කරදර විය යුතු නැත. ඔබට එය පරීක්ෂා කළ හැකිය uname -r
.
කර්නල් සඳහා / boot හි ඇති සියලුම ලිපිගොනු මකාදැමීමට විධානයක් සකසන්න. වත්මන් සහ නවතම කර්නල් රූප දෙකක් බැහැර කිරීමට මතක තබා ගන්න. උදාහරණය : sudo rm -rf /boot/*-3.2.0-{23,45,49,51,52,53,54,55}-*
. {80..84 synt වාක්ය ඛණ්ඩය සමඟ ඔබට පරාසයක් භාවිතා කළ හැකිය.
sudo apt-get -f install
අර්ධ ස්ථාපනය පිළිබඳ උදහසට ලක්වන දේ පිරිසිදු කිරීමට.
"අභ්යන්තර දෝෂය: රූපය සොයාගත නොහැකි විය (/boot/vmlinuz-3.2.0-56-generic)" වැනි පේළියක් ඇතුළත් වන දෝෂයකට ඔබ දුවන්නේ නම්, විධානය ක්රියාත්මක කරන්න sudo apt-get purge linux-image-3.2.0-56-generic
(ඔබේ සුදුසු අනුවාදය සමඟ).
අවසාන වශයෙන්, sudo apt-get autoremove
අතින් ඇරඹුම් මගින් අනාථ කර ඇති පැරණි කර්නල් රූප පැකේජ ඉවත් කිරීම.
සම්පූර්ණ / ඇරඹුම් කොටස සොයා ගැනීමට ඔබ බලා සිටින අතරතුර උපස්ථ කර ඇති ඕනෑම නවීකරණයන් ගැන යෝජනා කිරීම, ක්රියාත්මක කිරීම sudo apt-get update
සහ sudo apt-get upgrade
බලා ගැනීම.
යෝජනාව 2, https://help.ubuntu.com/community/AutomaticSecurityUpdates සමාලෝචනය කර නොසැලකිලිමත්-උත්ශ්රේණිගත කිරීම සැකසීම සලකා බලන්න :: /etc/apt/apt.conf.d/50unattended-upgrades හි සත්ය ලෙස ඉවත් කිරීම ඔබ භාවිතා නොකළ කර්නල් පිරිසිදු කර ඇති බවට වග බලා ගැනීම සඳහා එක් එක් ආරක්ෂක යාවත්කාලීනයන් පසු ස්වයංක්රීයව ධාවනය කිරීමට මෙය සමාන වනු ඇති අතර අනාගතයේ දී මෙම ගැටලුවෙන් ඔබව ගලවා නොගනු ඇතැයි සිතන වෙනත් දේ ද ඉවත් කරනු ඇත.
dpkg --purge
සම්පූර්ණ ඇරඹුමක් භාවිතා කරන්නේ නම් ඔබට පහත දේ ලැබෙනු ඇත $ sudo dpkg --purge linux-image-3.13.0-65-generic dpkg: dependency problems prevent removal of linux-image-3.13.0-65-generic: linux-image-extra-3.13.0-65-generic depends on linux-image-3.13.0-65-generic. dpkg: error processing package linux-image-3.13.0-65-generic (--purge): dependency problems - not removing Errors were encountered while processing: linux-image-3.13.0-65-generic
df -i
මම ද මත inodes අවසන් වීගෙන බව සොයා /
නිසා වැඩිහිටි කර්නල් වල මූල කේතය සඳහා ගොනු කළ විශාල මුදල/usr/src
Https://help.ubuntu.com/community/RemoveOldKernels හි මේ පිළිබඳ ලියකියවිලි තිබේ
සාරාංශයක් ලෙස: භාවිතා කරන්න
sudo apt-get autoremove --purge
# and/or:
sudo purge-old-kernels
මෙම purge-old-kernels
මෙවලම හරහා ස්ථාපනය කළ හැක sudo apt install byobu
. එහි මෑන් පිටුවෙන් විස්තරය මෙන්න:
මෙම වැඩසටහන මඟින් පැරණි කර්නල් සහ ශීර්ෂ පැකේජ පද්ධතියෙන් ඉවත් කර තැටි අවකාශය නිදහස් කරයි. එය දැනට ක්රියාත්මක වන කර්නලය කිසි විටෙකත් ඉවත් නොකරනු ඇත. පෙරනිමියෙන්, එය අවම වශයෙන් නවතම කර්නල් 2 ක්වත් තබාගනු ඇත, නමුත් පරිශීලකයාට
--keep
පරාමිතිය භාවිතා කර එම අගය ඉක්මවා යා හැක .
ඔබට පිටපත්-පේස්ට් විසඳුමක් අවශ්ය නම්, ReSearchIT Eng පහත සඳහන් දේ යෝජනා කළේය:
sudo apt install -y byobu
sudo purge-old-kernels -y --keep 1
sudo apt-get -y autoremove --purge
apt-get autoremove --purge
ප්රමාණවත් වුවත්.
කුඩා කොටස අතහැර /boot
මූලයට ගමන් කිරීම වඩා පහසු බව මට පෙනී ගියේය. මෙය අනාගතයේ දී අභ්යවකාශ ගැටළු වලින් වලක්වනු ඇත.
පළමුව ඔබේ දත්ත ඇරඹුම් කොටසේ සිට root වෙත ගෙන යන්න (ලෙස ක්රියාත්මක කරන්න sudo -s
):
cp -a /boot /boot2
umount /boot
rmdir /boot
mv /boot2 /boot
මෙම ඉවත් කරන්න (හෝ අදහස්) /boot
බාවිතා /etc/fstab
:
vim /etc/fstab
ග්රබ් යාවත්කාලීන කර සියල්ල නිවැරදි බවට වග බලා ගන්න:
update-grub
apt
දැන් ගැටළු නොමැතිව යාවත්කාලීන කිරීමට හැකි විය යුතුය.
මෙය භාවිතයට නොගත් 200mb කොටසකින් ඉවත් වේ (ඔබට කරදරයක් වටිනවා නම් ඔබට වෙනත් දෙයක් සඳහා භාවිතා කළ හැකිය).
පැරණි කර්නල් ඉවත් කිරීම (නිදහස් අවකාශය / ඇරඹීමට) බලන්න: http://askubuntu.com/questions/89710/how-do-i-free-up-more-space-in-boot
sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')")
ඉන්පසු දුවන්න
sudo apt-get update
sudo apt-get autoremove
මෙය අන්තිම කර්නල් 2 හැර අනෙක් සියල්ල ඉවත් කරයි. /boot
100% ක ධාරිතාවයකින් යුත් උබුන්ටු 16.04 LTS හි අත්හදා බැලූ අතර apt-get upgrade
එය අවසන් කර්නල් උත්ශ්රේණිගත කිරීම අසාර්ථක විය. කර්නල් ඔටෝමෝමෝව් ක්රියාකාරී වේ, එබැවින් ඔබට කර්නල් කිහිපයක් තිබේ නම්, ඒවා එකවර ඉවත් කරනු ලැබේ. එබැවින් ඉවසිලිවන්ත වන්න.
ඔබට මෙවලමක් සමඟ එය කළ හැකි විට එය අතින් කරන්නේ ඇයි? තත්පර 30 කින් ඔබට එය නැවත අවශ්ය වනු ඇති බව ඔබ දනී, මන්ද ඔවුන්ට මේ දිනවල නව කර්නල් යාවත්කාලීනයක් තල්ලු කිරීමට තත්පර 30 ක් ගත වන බැවිනි = P
මෙම මෙවලම භාවිතා කිරීමට මම නිර්දේශ කරමි, bootnukem
git clone https://github.com/erichs/bootnukem.git
cd bootnukem
sudo ./install.sh
ඉන්පසු
sudo bootnukem --dry-run
--dry-run
එය ආරක්ෂිත බව තහවුරු කළ පසු ඉවත් කරන්න