කොටස පිරිසිදු කිරීම / ආරම්භ කිරීම සඳහා ආරක්ෂිතම ක්‍රමය කුමක්ද?


280

/bootකොටස සඳහා මට MB 200 ක් පවරා ඇත . මම කර්නලය යාවත්කාලීන කිරීමට උත්සාහ කරන සෑම විටම, මට දෝෂ පණිවිඩයක් ලැබෙනු ඇත /boot.

/bootපැරණි කර්නල් පිරිසිදු කිරීමට සහ ඉවත් කිරීමට / උපස්ථ කිරීමට මට කුමක් කළ හැකිද?



/ ඇරඹුම පිරී ඇත්නම්, askubuntu.com/questions/263363/…
ශුන්‍ය

Answers:


342

විධාන රේඛා ක්‍රමය:

පළමුව ඔබේ කර්නල් අනුවාදය පරීක්ෂා කරන්න, එවිට ඔබ භාවිතයේ ඇති කර්නල් රූපය මකා නොදමනු ඇත.

uname -r

දැන් ස්ථාපනය කර ඇති කර්නල් ලැයිස්තුවක් සඳහා මෙම විධානය ක්‍රියාත්මක කරන්න:

dpkg --list 'linux-image*' | grep ^ii

මෙය ක්‍රියාත්මක කිරීමෙන් ඔබට තවදුරටත් අවශ්‍ය නොවන කර්නල් මකන්න:

sudo apt-get remove linux-image-VERSION

ඔබට ඉවත් කිරීමට අවශ්‍ය කර්නලයේ අනුවාදය සමඟ VERSION ප්‍රතිස්ථාපනය කරන්න.

ඔබ පැරණි කර්නල් ඉවත් කිරීමෙන් පසු, ඔබට තවදුරටත් අවශ්‍ය නොවන පැකේජ ඉවත් කිරීමට මෙය ක්‍රියාත්මක කළ හැකිය:

sudo apt-get autoremove

අවසාන වශයෙන් ඔබට ග්‍රබ් කර්නල් ලැයිස්තුව යාවත්කාලීන කිරීමට මෙය ක්‍රියාත්මක කළ හැකිය:

sudo update-grub

34
sudo dpkg --list 'linux-image*' | grep ^iiස්ථාපනය කර ඇති කර්නල් බැලීම ටිකක් පහසු කරයි. එසේම මම සිතන්නේ update-grubඑය හානිකර නොවන නමුත් දැඩි ලෙස අවශ්‍ය නොවන බවයි, ඔබ කර්නලයක් අස්ථාපනය කරන විට එය ස්වයංක්‍රීයව ක්‍රියාත්මක වේ.
නෙල්සන්

9
භාවිතා 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 ක් තබා ගැනීමට භාවිතා කරයි.
සිට්සු

2
මගේ සරල එක ලයිනර්:apt-get remove `dpkg --list 'linux-image*' |grep ^ii | awk '{print $2}'\ | grep -v \`uname -r\``
gcb

27
sudo apt-get autoremoveප්‍රමාණවත් විය යුතුය (සාමාන්‍යයෙන් අවසාන කර්නල් 3 ඔබ අතහැර යයි)
mbx

6
මෙය හොඳ පිළිතුරකි, නමුත් එය බොහෝ අවස්ථාවන්හීදී (සියල්ලටම නොවේ නම්) ක්‍රියා කළ හැකි යැයි මම සැක කරමි: ගැටලුව /bootපිරී ඇති බැවින් apt-getයම් දෝෂ කේතයක් හෝ වෙනත් ආකාරයකින් අසමත් වනු ඇත. පහත පිළිතුර ටිකක් "hackier" (මම නිකුත් කිරීමට නම් මම වානේ තිබුණා පැවසිය යුත්තේ ය rm -rfතුළ /boot) නමුත් මෙම තත්ත්වය ඇතිවිය වැඩ කිරීමට බව එකම එක.
මාකෝ මැසෙන්සියෝ

287

සටහන: මෙය සිදුවන්නේ 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 හි සත්‍ය ලෙස ඉවත් කිරීම ඔබ භාවිතා නොකළ කර්නල් පිරිසිදු කර ඇති බවට වග බලා ගැනීම සඳහා එක් එක් ආරක්ෂක යාවත්කාලීනයන් පසු ස්වයංක්‍රීයව ධාවනය කිරීමට මෙය සමාන වනු ඇති අතර අනාගතයේ දී මෙම ගැටලුවෙන් ඔබව ගලවා නොගනු ඇතැයි සිතන වෙනත් දේ ද ඉවත් කරනු ඇත.


3
මේ ආකාරයෙන් ඊළඟ නැවත පණගැන්වීම සඳහා නවතම දේ මා සතුව ඇති අතර ඉන් පසුව යම් දෙයක් කැඩී ගියහොත් ඊට පෙර එකකි. සාමාන්‍යයෙන් මට ඕනෑ තරම් ඉඩ ඇති බැවින් එය කිහිපයක් තිබීම හානියක් නොවන අතර ඕනෑම අවස්ථාවක ප්‍රමාණවත් තරම් උපස්ථ විකල්ප නොමැති වීම මගේ මානසික ආතතිය තෘප්තිමත් කරයි.
flickerfly

1
නොදුටු වැඩිදියුණු කිරීම් නිසා මට කිසි විටෙකත් ගැටලුවක් ඇති වී නොමැත. ඩෙබ් නොවන ඇසුරුම් කරන ලද ස්ථාපනයන් මත යැපීම් නැතිවීම පිළිබඳ ගැටළුවක් විය හැකි අවස්ථා මට සිතාගත හැකිය. ඔබ php ස්ථාපනය කර එය අස්ථාපනය කිරීමට තීරණය කර ප්‍රභවයෙන් නව අනුවාදයක් ස්ථාපනය කරන්න. මෙම අනුවාදයට පෙර ස්ථාපනය මඟින් සපයන පරායත්තතා ඇත, නමුත් එය තවමත් අවශ්‍ය බව apt නොදැන සිටී. ඊළඟ වතාවේ ඔබ ස්වයංක්‍රීයව ඉවත් කරන විට එම පරායත්තතා නැති වී යයි. ස්වයංක්‍රීය නම්, මෙය ටිකක් ව්‍යාකූල විය හැකිය. ඔබ ගබඩාවලින් පිටත ස්ථාපනය නොකරන්නේ නම් එය මුළුමනින්ම ආරක්ෂිත යැයි මම විශ්වාස කරමි.
flickerfly

3
මෙය vsphere අතථ්‍ය සේවාදායක කිහිපයකින් දැකීමෙන් පසු (කර්නල් ස්වයංක්‍රීයව යාවත්කාලීන වන නමුත් පසුව ඉවත් නොකෙරේ), එය ස්වයංක්‍රීය කිරීම සඳහා මම පයිතන් පිටපතක් ලිවීය . මම ඒ ගැන වැඩි අවධානයක් යොමු කිරීමට කැමතියි
ඉවාන්ක්

2
ඔබ 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
flickerfly

1
පිරිසිදු කිරීමෙන් පසු / ආරම්භ කිරීම apt-get install -f තවමත් ක්‍රියා නොකරයි. භාවිතා df -iමම ද මත inodes අවසන් වීගෙන බව සොයා /නිසා වැඩිහිටි කර්නල් වල මූල කේතය සඳහා ගොනු කළ විශාල මුදල/usr/src
Kristofer

54

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

3
මගේ නඩුවේදී කර්නලය නිසා යෝග්‍ය නොවන අතර යෝජිත විසඳුම අල්ලා ගැනීම -22:
ජේම්ස් බෝවරි

මට මුලින් කැඩුණු ඇසුරුම් askubuntu.com/a/304388/284313 සමඟ නිවැරදි කිරීමට සිදු විය. ඉන්පසු ඔබේ විසඳුම ක්‍රියාත්මක විය.
ජේම්ස් බෝවරි

3
මම හිතන්නේ මෙය දැනට පිළිගත් විසඳුම විය යුතුයි.
ෆ්‍රාන් මාර්සෝවා

3
පිළිගත් පිළිතුරට වඩා මෙය ආරක්ෂිතයි. මම හිතන්නේ apt-get autoremove --purgeප්‍රමාණවත් වුවත්.
වුඩ්‍රෝ බාර්ලෝ

7

කුඩා කොටස අතහැර /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 කොටසකින් ඉවත් වේ (ඔබට කරදරයක් වටිනවා නම් ඔබට වෙනත් දෙයක් සඳහා භාවිතා කළ හැකිය).


5
මෙය හොඳ අදහසකි, නමුත් ඔබේ මූල කොටස සඳහා සම්පූර්ණ තැටි සංකේතනය කිරීමට අවශ්‍ය නම් එය ක්‍රියා නොකරයි.
Paŭlo Ebermann

ඔව් / ඇරඹුම් වෙනම කොටසක් විය යුතු අවස්ථා තිබේ. තවත් උදාහරණයක් නම් ග්‍රබ්ට මීට පෙර LVM කොටසකින් පැටවීමට නොහැකි වීමයි.
බැස්ටියන්

6

පැරණි කර්නල් ඉවත් කිරීම (නිදහස් අවකාශය / ඇරඹීමට) බලන්න: 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

1
වැඩ කළ එකම එක මෙයයි .... විශිෂ්ට විසඳුම
ජෝන්

හොඳම පිළිතුර! මට වැඩ කළ එකම විසඳුම මෙයයි; autoremove මෝඩය; එය නිල වශයෙන් ඉවත් කිරීමට පෙර ඕනෑම කර්නල් අසමසම පරායත්තතා සහිතව නැවත ස්ථාපනය කිරීමට උත්සාහ කරයි. මම නැවත නැවතත් අවකාශයෙන් ඉවතට යන රවුමක ගමන් කරමින් සිටියෙමි. මෙම පිළිතුර රන් ය.
ලොනී හොඳම

ඉහළ නැංවීම සඳහා අනිවාර්යයෙන්ම සුදුසුයි - ස්තූතියි @ ආමොස්
CRTLBREAK

3

sudo apt-get autoremove

මෙය අන්තිම කර්නල් 2 හැර අනෙක් සියල්ල ඉවත් කරයි. /boot100% ක ධාරිතාවයකින් යුත් උබුන්ටු 16.04 LTS හි අත්හදා බැලූ අතර apt-get upgradeඑය අවසන් කර්නල් උත්ශ්‍රේණිගත කිරීම අසාර්ථක විය. කර්නල් ඔටෝමෝමෝව් ක්‍රියාකාරී වේ, එබැවින් ඔබට කර්නල් කිහිපයක් තිබේ නම්, ඒවා එකවර ඉවත් කරනු ලැබේ. එබැවින් ඉවසිලිවන්ත වන්න.


1

ඔබට මෙවලමක් සමඟ එය කළ හැකි විට එය අතින් කරන්නේ ඇයි? තත්පර 30 කින් ඔබට එය නැවත අවශ්‍ය වනු ඇති බව ඔබ දනී, මන්ද ඔවුන්ට මේ දිනවල නව කර්නල් යාවත්කාලීනයක් තල්ලු කිරීමට තත්පර 30 ක් ගත වන බැවිනි = P

මෙම මෙවලම භාවිතා කිරීමට මම නිර්දේශ කරමි, bootnukem

git clone https://github.com/erichs/bootnukem.git
cd bootnukem
sudo ./install.sh

ඉන්පසු

sudo bootnukem --dry-run

--dry-runඑය ආරක්ෂිත බව තහවුරු කළ පසු ඉවත් කරන්න

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.