openSUSE: установить альтернативную версию python без изменения версии по умолчанию

Если вам нужно поддерживать разные версии одновременно, лучше всего установить их в свое дерево. configure принимает необязательный аргумент –prefix =/path/to/installation/root.
Мы могли бы установить дополнительный программный пакет в виде файла /opt/local/x86_64-linux-gnu/python-2.6.6. Пользователи, которым нужна эта конкретная версия, могут затем добавить /opt/local/x86_64-linux-gnu/python-2.6.6/bin к их $ PATH или использовать virtualenvили GNU stow .

Для примера следующий набор шагов:

“openSUSE: установить альтернативную версию python без изменения версии по умолчанию”Continue reading

BASH: сохраняем историю со всех терминалов

Меня давно раздражает поведение файла истории Баша. Если вы используете несколько терминалов, вся история теряется, за исключением закрытия последнего терминала. Правильное поведение должно состоять в том, чтобы сохранить всю историю со всех терминалов! Легкий способ сделать это – просто сохранить команды в файле истории в реальном времени. Благодаря Linux Commando я знаю, как это сделать. Вот секрет:

1
2
shopt -s histappend
PROMPT_COMMAND = "history -a; $ PROMPT_COMMAND"

Поместите эти строки в ваш bash_profile или bashrc. Первая строка говорит bash добавить к истории вместо полной перезаписи. Вторая строка вызывает историю – каждый раз, когда отображается приглашение, которое по существу добавляет последнюю команду в файл истории.

Openstack Horizon: Bug of ‘FileField need clean up temp file….’ or how to remove supefluos files in Horizon/Django after uploading..

After few day envestigation code I created patch. I hope core developers can use it in horizon …

1
2
3
4
5
6
7
8
9
10
11
12
13
14
234 @@ -442,7 +442,12 @@
235                                      {'data': data})
236          else:
237              def upload():
238 -                return glanceclient(request).images.upload(image.id, data)
239 +                glance_answer = glanceclient(request).images.upload(image.id, data)
240 +                if isinstance(data, TemporaryUploadedFile):
241 +                   if glance_answer[0].ok is True :
242 +                      data.file.close_called = False
243 +                      data.file.close()
244 +                return glance_answer
245              thread.start_new_thread(upload, ())
246
247      return Image(image)

Enjoy! Free!

Scroll to top