'Apt-get' භාවිතා කර පැකේජයක් නැවත ස්ථාපනය කරන්නේ කෙසේද?


201

මගේ aptitudeකෙසේ හෝ කැඩී ඇති බව පෙනේ :

sudo aptitude update
0% [Working]Segmentation fault

dmesg
[223282.616599] aptitude[30972]: segfault at 67707f ip 7f954dcfae5d sp 7ffff5a5f950 error 4 in libapt-pkg-libc6.7-6.so.4.6.0[7f954dca5000+bd000]

එබැවින් aptitudeභාවිතා කිරීමෙන් නැවත ස්ථාපනය කිරීමට මම කැමතියි apt-get.

අවාසනාවට එයට apt-getනැවත ස්ථාපනය කිරීමේ විකල්පයක් නොමැති බව පෙනේ .

මම aptitudeනැවත වැඩට යන්නේ කෙසේද?

යෝග්‍යතාවයේ සෙග්ෆෝල්ට් සඳහා මූලික හේතුව මට හමු විය හැකිය. මෙන්න මට එය ප්‍රතිනිෂ්පාදනය කළ හැකි ආකාරය:

  1. සිග්වින්ගේ rxvt පර්යන්තය හරහා ඩෙබියන් යන්ත්‍රයට දුරස්ථ පිවිසුම (වින්ඩෝස් 7 64-බිට් ජර්මානු සංස්කරණයකින්).
  2. Rxvt කවුළුව විශාල කර එය මොනිටර දෙකක් හරහා විහිදේ (ඔව්, මට මොනිටර දෙකක් තිබේ)
  3. දුවන්න aptitude update. සටහන: මම rxvt පර්යන්තය සාමාන්‍ය ප්‍රමාණයට වෙනස් කළ විට මට මෙම ඛණ්ඩනය කිරීමේ දෝෂ නොමැත!

Answers:


340
$ man apt-get | grep reinsta -A2
       --reinstall
           Re-Install packages that are already installed and at the newest
           version. Configuration Item: APT::Get::ReInstall.

එබැවින්, නැවත ස්ථාපනය aptitudeකිරීම සඳහා එය භාවිතා කිරීමට:

sudo apt-get install --reinstall aptitude

16
මොනවද -A5ඔයා අල්ලන්නේ?
වොකුහිලා-ඔලිබා

91
මිනිසා grep | grep - "-A"
user1686

36
මොනවද --ඔයා අල්ලන්නේ?
ඩෙස්ටී

17
man getopt, යටින් බලන්නPARSING
ටිනෝ

32
-A5ගැලපෙන රේඛාව සහ පහත පේළි 5 පෙන්වයි. --විකල්පයන් විග්‍රහ කිරීම නවත්වයි, එමඟින් පසුව එන ඕනෑම දෙයක් ස්ථානීය තර්ක ලෙස අර්ථ නිරූපණය කරයි, ප්‍රකාශනයේ -Aඇති ඉරෙන් ගැලවීම වළක්වා ගැනීමෙන් එය ග්‍රහණය කර ගැනීමේ විකල්පයක් ලෙස අර්ථ දැක්විය හැකිය.
jjmontes

122

ඔබට ඇසුරුමක් නැවත ස්ථාපනය කළ හැකිය sudo apt-get install --reinstall packagename. මෙය පැකේජය මුළුමනින්ම ඉවත් කරයි (නමුත් එය මත රඳා පවතින පැකේජ නොවේ), ඉන්පසු පැකේජය නැවත ස්ථාපනය කරයි.

පැකේජයේ බොහෝ ප්‍රතිලෝම පරායත්තතා ඇති විට මෙය පහසු වේ.


10
එකම නිවැරදි, සම්පූර්ණ, ස්නැක් නොවන පිළිතුර වීම ගැන ඔබට ස්තූතියි.
සෙරින්

6
Er සෙරින්: මම අනෙක් පිළිතුරු ඕනෑවට වඩා නින්දිත ලෙස නොකියමි: “මිනිසාගේ පිටුව කියවන්න” පවා ඇත්ත වශයෙන්ම පිළිතුර ලබා දුන් අතර එය සොයා ගන්නේ කෙසේද.
ඩේවිඩ් ස්පිලට්

47
Av ඩේවිඩ්ස්පිලෙට්, මම තරයේ එකඟ නොවෙමි. මෑන් පිටු සාමාන්‍යයෙන් ඉතා දුර්වල ලෙස ලියා ඇති අතර නවකයන්ට එය ඉතා හිතකර නොවේ. උදාහරණයක් ලෙස, "--reinstall" විකල්පයේ ඡේදයේ ඔබ එය "ස්ථාපනය" තර්කය සමඟ භාවිතා කළ යුතු බව සඳහන් නොකරයි. නවකයකු නිවැරදිව ඇසිය හැකිය "ස්ථාපනය කර නැවත ස්ථාපනය කිරීමට මට එය පැවසිය යුත්තේ ඇයි?" ආර්ටීඑෆ්එම් වෙත යමෙකුට පවසන පිළිතුරක් නරකම ආකාරයේ පිළිතුරක් වන අතර එය වඩාත් ඡන්ද වලින් දැකීම මට වේදනාවක් ගෙන දෙයි, විශේෂයෙන් සම්පූර්ණ හා සැබවින්ම ප්‍රයෝජනවත් පිළිතුරක් පහළින් ඇති විට.
සෙරින්

26

සමහර විට ඔබට වින්‍යාස ගොනු නැවත පිහිටුවීමට අවශ්‍ය වේ! නැවත ස්ථාපනය කිරීම පමණක් නොවේ.

sudo apt-get install --reinstall xxxx

යෙදුම නැවත ස්ථාපනය කරන්න, වින්‍යාස ගොනු තබා ගනී.

මෙය ප්‍රයෝජනවත් විය හැකි නමුත් සමහර විට ඔබ නැවුම් ලෙස ආරම්භ කළ යුතුය, එබැවින් මා භාවිතා කරන්නේ මෙයයි:

sudo dpkg -r xxxx //to remove that xxxx package
sudo dpkg -P xxxx //to purge all related files

එවිට

sudo apt-get install xxxx

6
ඔබට වින්‍යාස ගොනු පමණක් ප්‍රතිස්ථාපනය කිරීමට අවශ්‍ය නම්, සමහර අවස්ථාවල (ඒවා ucf විසින් කළමනාකරණය කරන්නේ නම්) ඔබ භාවිතා කළ යුතුය UCF_FORCE_CONFFMISS=1 apt-get --reinstall install [pkgname].
Skippy le Grand Gourou

2
මෙම පිළිතුර විශාල ඉහළ නැංවීමකට සුදුසුයි. ඔබට පැකේජයක් "සම්පූර්ණයෙන්ම නැවත ස්ථාපනය කිරීමට" අවශ්‍ය විට මෙය ඔබට අවශ්‍ය වේ. උදා: vsftpd හි සරල --reinstall ගොනුව තවදුරටත් නොපවතින නමුත් වින්‍යාස ගොනුව නැවත නිර්මාණය නොකරයි. "ඉවත් කරන්න + ඉවත් කරන්න + (නැවත) ස්ථාපනය කරන්න" ඒ වෙනුවට කාර්යය කරයි.
කර්.මා

14

යෝග්‍යතාවය ඉවත් කර නැවත ස්ථාපනය කිරීමට ඔබ ආරක්ෂිත විය යුතුය, එය අනෙක් යෝග්‍ය උපයෝගිතා වලට බලපාන්නේ නැත. ඉතින්: apt-get remove aptitudeඅනුගමනය කිරීම apt-get install aptitude, හෝ එය තවමත් අසමත් වුවහොත් apt-get purge aptitudeඅනුගමනය කිරීමට උත්සාහ කරන්න apt-get install aptitude.

ඉහත සඳහන් කිසිවක් කිරීමට පෙර, ගැටලුවක් ඇති වූ විට එහි සම්පූර්ණ ගොනු පද්ධතියක් සහ නරක-වාරණ පරීක්‍ෂණයක් නිර්දේශ කරමි (ගැටලුව මත පදනම්ව, එකක් තිබේ නම්, වැඩිදුර ක්‍රියාකාරකම් නිසා තත්වය තවත් නරක අතට හැරෙනු ඇත). එසේම, ඉවත් කිරීමට / පිරිසිදු කිරීමේ පියවරේදී ඉදිරියට යාමට පෙර ඉවත් කළ යුතු දේ සමාලෝචනය කිරීමට වග බලා ගන්න (එම එක් පැකේජයක් ඉවත් කිරීමේ ප්‍රති extra ලයක් ලෙස අමතර යමක් වෙනස් වී ඇත්නම් අවසර ඉල්ලා සිටීම විරාමයක් විය යුතුය), මෙය මගේ අදහස දෙවරක් පරීක්ෂා කිරීමට ආරක්ෂිතයි.


ගොඩක් ස්තුතියි! උපක්‍රමය apt-get removeඅනුගමනය apt-get installකළා!
වොකුහිලා-ඔලිබා

බොහෝ කලකට පෙර මම ඒ a full filesystem checkහා සමාන දේවල් කළා . කරුණාකර මට එය කළ හැකි ආකාරය පිළිබඳ කෙටි ඉඟියක් ලබා දිය හැකිද?
වොකුහිලා-ඔලිබා

1
fsck -f <block_device>වැනි fsck /dev/sda1. ගොනු පද්ධතිය එකවර ගණනය කිරීමට හෝ කියවීමට පමණක් සවි කිරීමට අවශ්‍ය වනු ඇත, එබැවින් මෙය ඔබේ මූල ගොනු පද්ධතිය විය හැකි බැවින් ඔබ තනි පරිශීලක මාදිලියකට නැවත ආරම්භ කළ යුතුය, නැතහොත් සජීවී සීඩී වැනි වෙනත් දෙයකින් ආරම්භ කළ යුතුය.
ඩේවිඩ් ස්පිලට්

2
tune2fsගොනු පද්ධතිය එහි නියමිත සීමාවට වඩා වැඩි වාර ගණනක් සවිකර ඇති බව සලකුණු කිරීමට ඔබට භාවිතා කළ හැකිය, එමඟින් ඊළඟ ඇරඹුම පරීක්ෂා කිරීමට බල කළ යුතුය. ගොනු පද්ධතිය ext2 / 3/4 යැයි උපකල්පනය කිරීම tune2fs -C 99 <device>, හෝ ඔබට සවිකිරීමේ ගණනය කිරීම් පදනම් කරගත් පරීක්ෂාව අක්‍රිය වී ඇත්නම්, ඒ හා සමාන දෙයක් සමඟ එකවරම එය ක්‍රියාත්මක කරන්න tune2fs -c 17 -C 99 <device>.
ඩේවිඩ් ස්පිලට්

2
touch / forcefsck; reboot
user23307

1
sudo apt remove --purge package
sudo apt install package

එය හරියට ඔබ මීට පෙර කවදාවත් පැකේජය ස්ථාපනය කර නැත. මම මෙය බොහෝ විට කරන්නේ චලනය හා එවැනි දේවලින්.

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.