NetworkManager используют динамическую конфигурацию, сохраняют настройки с gconf для каждого пользователя, тогда как сетевые сценарии являются системой глобальные файлы конфигурации, Вы никогда не синхронизировали их, и Вы не должны.
Когда использовать их?
В большинстве случаев, если Вы всегда используете, например, dhcp на Вашей рабочей станции, Вы не нуждаетесь в networkmanager, просто настраиваете его в сетевых сценариях, (и выключаете NM),
Но для ноутбука, который может использовать беспроводную связь, pppoe по мере необходимости, (например, Вы перемещаетесь между офисом и домой) Вам будет нужен NetworkManager, чтобы быть более адаптивными.
Следующие команды удалят ваш и сделают altinstall
-ed python:
rm -f /usr/local/bin/python2.7
rm -f /usr/local/bin/pip2.7
rm -f /usr/local/bin/pydoc
rm -rf /usr/local/bin/include/python2.7
rm -f /usr/local/lib/libpython2.7.a
rm -rf /usr/local/lib/python2.7
Вам также может понадобиться сделать
rm -f /usr/local/share/man/python2.7.1
rm -rf /usr/local/lib/pkgconfig
rm -f /usr/local/bin/idle
rm -f /usr/local/bin/easy_install-2.7
Хотя и сделает altinstall
, если "системный питон" имеет иной мажорный номер, чем тот, который вы устанавливаете, он не будет работать так хорошо, если только микро-номер (третья позиция) будет отличаться. Это число исключается из устанавливаемого двоичного кода, и в итоге вы получаете две версии pythonX.Y. Это всегда было проблемой, но как только дистрибутивы начали поставляться с системными утилитами, основанными на 2.7.X, эта проблема стала более серьезной, так как 2.7 предположительно является последней версией серии Python2.
IMO лучший подход к решению этой проблемы - не допустить, чтобы она стала таковой: настроить питон на установку в каталог, не используемый никаким другим питоном. В моей системе они идут под /opt/python/X.Y.Z
.
Для использования любого из установленных там питонов вы используете [virualenv][1]
для создания нового окружения:
virtualenv --python=/opt/python/2.7.9/bin/python2.7 venv
source venv/bin/activate
или используете [virtualenvrapper][2]
. У меня есть несколько псевдонимов для последних версий серии, с которыми я работаю.
Если вы используете tox
для тестирования на нескольких версиях (вам следует), то следующий псевдоним поможет найти различную версию:
alias tox='PATH=/opt/python/2.7.9/bin:/opt/python/2.6.9/bin:/opt/python/3.4.3/bin:/opt/python/3.3.6/bin:/opt/python/3.5-dev/bin:$PATH tox'
(это в настоящее время последние версии, я использую несколько другую установку, поддерживая ссылки с /opt/python/2. 7
до последней /opt/python/2.7.9
, а также для других второстепенных номеров, в процессе загрузки, создания и установки новой версии питона)
Эти установки никогда не используются напрямую. Они всегда используются в качестве основы только для сред virtualenv
, поэтому меня не волнует, что они не находятся в моем обычном PATH.
Обычно все файлы устанавливаются почти за одну минуту. Вы можете использовать «найти», чтобы проверить все установленные файлы почти одновременно, а затем «rm» их вручную. Желаю, чтобы это было полезно.
find /usr/local/ -type f -newer <some latest old file>
Начав со списка rm
@Anthon и применив совет @bin -по поиску новых файлов, я придумал этот скрипт bash -, чтобы полностью стереть -мой Python -3.6.6 (, который был установлен из источников сmake altinstall
):
prefix='/usr/local/'
pyver='3.6'
rm -rf \
$HOME/.local/lib/Python${pyver} \
${prefix}bin/python${pyver} \
${prefix}bin/python${pyver}-config \
${prefix}bin/pip${pyver} \
${prefix}bin/pydoc \
${prefix}bin/include/python${pyver} \
${prefix}lib/libpython${pyver}.a \
${prefix}lib/python${pyver} \
${prefix}bin/python${pyver} \
${prefix}bin/pip${pyver} \
${prefix}bin/include/python${pyver} \
${prefix}lib/libpython${pyver}.a \
${prefix}lib/python${pyver} \
${prefix}lib/pkgconfig/python-${pyver}.pc \
${prefix}lib/libpython${pyver}m.a \
${prefix}bin/python${pyver}m \
${prefix}bin/2to3-${pyver} \
${prefix}bin/python${pyver}m-config \
${prefix}bin/idle${pyver} \
${prefix}bin/pydoc${pyver} \
${prefix}bin/pyvenv-${pyver} \
${prefix}share/man/man1/python${pyver}.1 \
${prefix}include/python${pyver}m
rm -rI ${prefix}bin/pydoc ## WARN: skip if other pythons in local exist.
Используйте с осторожностью (напр. добавьте опцию -I
в команду rm
, чтобы проверять каждое убийство ).
В итоге я сделал следующее:
$HOME/opt/Python-3.8.0
:tar tJf Python-3.8.0.tar.xz && cd Python-3.8.0 &&./configure --prefix $HOME/opt/Python-3.8.0 && make && make install
cd $HOME/opt/Python-3.8.0 && find * -type f | perl -pe's(^)(/usr/)' | sudo xargs rm
rm -rf ~/opt/Python-3.8.0