Как удалить gcc-сборку, которую я установил из source.I использую gcc 4.9, и я на ubuntu 12.04.
Или существует способ обновления до последних версий gcc через репозиторий ubuntu?
Как удалить gcc-сборку, которую я установил из source.I использую gcc 4.9, и я на ubuntu 12.04.
Или существует способ обновления до последних версий gcc через репозиторий ubuntu?
Когда вы создаете пакет из исходного кода, к сожалению, нет волшебной деинсталляции, однако вы можете приблизиться к этому, заручитесь этой линией списка рассылки.
В принципе, вы должны снова установить во временный каталог и перечислить все файлы, созданные в указанном каталоге, а затем удалить их из основной системы через script.
Вот пример script для удаления GCC таким образом:
make install DESTDIR=/tmp/gccinst
find /tmp/gccinst | sed -e s,/tmp/gccinst,, | \
(while read F; do rm "$F"; done)
Запустите его из исходного каталога gcc с правами root.
Чтобы ответить на второй вопрос, вы можете установить последний gcc, доступный в репозитории ubuntu, с помощью:
apt-get install gcc
Наложенные репозитории могут иметь более новые версии, я видел предложение о более новой версии в ubuntu-toolchain-r/test (install via):
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
Но я не уверен, добавили ли они 4.9. Если нет, вам действительно нужно будет установить из источника.
EDIT:
Похоже, что @roelofs нашел лучшее руководство для установки репо в своем ответе, поэтому идите туда и не забудьте дать ему преимущество, если это поможет:)
Vality имеет отличный старт
make install DESTDIR=/tmp/gccinst
Но его команда очистки имеет несколько проблем. Во-первых, он передает каталоги в rm
, включая обычные каталоги (например, /usr
). Мы можем исправить это через -type f
:
find /tmp/gccinst -type f | sed -e s,/tmp/gccinst,, | \
(while read F; do rm "$F"; done)
Избавьтесь от каталогов, в которых это пустое... подсказки в этом ответе:
find /tmp/gccinst -depth -type d -not -empty | sed -e s,/tmp/gccinst,, | \
(while read F; do rmdir -p --ignore-fail-on-non-empty "$F"; done)
В GCC 5.1.0, хотя нет целевого уровня uninstall
верхнего уровня, некоторые каталоги имеют его, в частности gcc
, поэтому вы можете сделать:
cd build/gcc
sudo make uninstall
Это не удаляет все, что было установлено, но удаляет основные исполняемые файлы, такие как gcc
, g++
, cpp
..., содержащиеся в этом каталоге, поэтому этого может быть достаточно.
добавьте к Валисе и Бэну. Если вы сделаете это из своей собственной оболочки входа:
find $HOME/tmp/gccinst/ -type f | sed -e s,$HOME/tmp/gccinst,, | (while read F; do rm **-f** "$F" ; done)
Необходим флаг -f
или script может не работать, если есть какие-либо проблемы с разрешением.
Самая высокая доступная версия GCC в репозиториях 12.04 - это 4.6. Вы можете использовать диспетчер пакетов для установки более новой версии, но вам придется добавить PPA. Эта ссылка должна помочь, хотя это для немного более старой версии GCC (но может использоваться для самой новой версии).
Как отметил комментатор, если ваша собственная версия GCC была скомпилирована с параметром --prefix
, вся установка должна находиться в этом каталоге под /usr/local
или там, где вы его установили, и ее можно удалить.