как переустановить пакет с помощью "apt-get"?

<p>кажется, что мой <code>aptitude</code> как-то сломан:</p><pre><code>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] </code></pre><p>поэтому я хотел бы переустановить <code>aptitude</code> с помощью <code>apt-get</code>.</p><p>к сожалению, похоже, у <code>apt-get</code> нет опции переустановки.</p><p>как я могу заставить <code>aptitude</code> снова работать?</p><p>вполне возможно, что я нашел основную причину ошибки в aptitude. вот как я могу воспроизвести это:</p><ol> <li>'ssh' удаленный вход в систему на компьютере debian через терминал cygwin rxvt (из 64-разрядной версии windows 7 на немецком языке).</li> <li>увеличьте окно rxvt, чтобы оно охватывало два монитора (да, у меня есть два монитора)</li> <li>запустите <code>aptitude update</code>. примечание: когда я изменяю размер терминала rxvt на нормальный, у меня не возникает этих ошибок сегментации!</li> </ol>

<pre><code>$ man apt-get | grep reinsta -a2 --reinstall re-install packages that are already installed and at the newest version. configuration item: apt::get::reinstall. </code></pre><p>итак, чтобы использовать его для переустановки <code>aptitude</code> используйте:</p><pre><code>sudo apt-get install --reinstall aptitude </code></pre>

<p>вы можете переустановить пакет с помощью <code>sudo apt-get install --reinstall packagename</code>. это полностью удаляет пакет (но не пакеты, которые зависят от него), а затем переустанавливает пакет.</p><p>это может быть удобно, когда пакет имеет много обратных зависимостей.</p>

<p>иногда вам нужно восстановить конфигурационные файлы тоже! не просто переустановить.</p><p><code>sudo apt-get install --reinstall xxxx</code></p><p>переустановите приложение, сохраните файлы конфигурации.</p><p>это может быть полезно, но иногда вам нужно начинать с нуля, поэтому я использую следующее:</p><pre><code>sudo dpkg -r xxxx //to remove that xxxx package sudo dpkg -p xxxx //to purge all related files </code></pre><p>затем</p><pre><code>sudo apt-get install xxxx </code></pre>

<p>вы должны безопасно удалить aptitude и переустановить, так как это не повлияет на другие утилиты apt. итак: <code>apt-get remove aptitude</code>, за которым следует <code>apt-get install aptitude</code>, или, если это все равно не удается, попробуйте <code>apt-get purge aptitude</code>, а затем <code>apt-get install aptitude</code>.</p><p>перед выполнением любого из вышеперечисленных действий я рекомендую выполнить полную проверку файловой системы и дефектных блоков на случай, если там возникла проблема, которая вызвала проблему (в зависимости от проблемы, если она есть, дальнейшие действия могут ухудшить ситуацию). кроме того, убедитесь, что вы просматриваете то, что будет удалено на этапе удаления/очистки, прежде чем позволить ему продолжить (следует приостановить запрос разрешения, если что-то изменилось в результате удаления этого одного пакета), чтобы дважды проверить мою мысль, что это безопасно.</p>