Установка Python 2.7
Есть некоторый софт, который требует питон версии 2.7.
Как понят питона этой версии в репах нет вообще(
Подскажите как поставить питон версии 2.7. И возможно ли это вообще?
azm9s
New member
а в чем проблема завести его на 3 версии? различий там не так много, а библиотек на 3ю версию в астре больше чем на 2.7.
функцию print переделать из print blablabla в print(blablalbla).
azm9s
New member
Montfer
New member
Ustudorin
New member
support@astra:~$ lsb_release -a No LSB modules are available. Distributor ID: AstraLinux Description: Astra Linux 1.6 (Smolensk) Release: 1.6 Codename: smolensk support@astra:~$ python3 python3 python3.5 python3.5m python3m support@astra:~$ python -bash: python: команда не найдена support@astra:~$ python3 --version Python 3.5.3 support@astra:~$
Ок. Думаю, ну может из сорцов собрать
wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz && tar -xvf Python-2.7.13.tar.xz && cd Python-2.7.13 && ./configure && sudo make && sudo make install &&
checking for gcc. no checking for cc. no checking for cl.exe. no configure: error: in `/home/support/Python-2.7.13': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details
Montfer
New member
интересно вы даете инфу:
просил написать про апдейт, а не про систему, и просил дать вывод команды python —version, а не python и python3
azm9s
New member
azm9s
New member
Ustudorin
New member
Если файла /etc/astra_update_version (для ОСAstra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) — /etc/astra-update-version) нет — значит оперативное обновление не было установлено.
root@astra:/home/support# uname -a Linux astra 4.15.3-1-generic #astra17 SMP Mon Feb 25 18:18:04 UTC 2019 x86_64 GNU/Linux
Ну это в байт коде просто — в .pyc
azm9s
New member
dpkg -i /home/user/python2.7_as*blablabla.deb
и так со всеми либами к 2.7 которые идут не в составе основного установочного пакета.
azm9s
New member
azm9s
New member
azm9s
New member
Montfer
New member
так нету ее там. Есть только python3
Посмотреть вложение 1967
root@astra:/home/support# uname -a Linux astra 4.15.3-1-generic #astra17 SMP Mon Feb 25 18:18:04 UTC 2019 x86_64 GNU/Linux
Ну это в байт коде просто — в .pyc
Можно поподробней пожалуйста
azm9s
New member
Montfer
New member
Ustudorin
New member
Montfer
New member
Вложения
oko
New member
to Montfer
Справедливости ради, топикстартер вам лог привел, где видно, что «python —version» (и с любыми иными ключами) отрабатывать не будет по причине отсутствия/замены в его системе на python3. Что явно выше 2.7 версии, нужной топикстартеру.
to Ustudorin
На диске разработчика проверьте наличие python2.7 — в main-релизе (который DVD-диск основной поставки) его может и не быть. И, если найдете, то для начала определитесь с текущим релизом/апдейтом (+1 к тов. azm9s на тему update_version). А далее читайте wiki по установке обновлений main-репозитория и dev-репозитория. Чтобы не поломать зависимости.
Montfer
New member
to Montfer
Справедливости ради, топикстартер вам лог привел, где видно, что «python —version» (и с любыми иными ключами) отрабатывать не будет по причине отсутствия/замены в его системе на python3. Что явно выше 2.7 версии, нужной топикстартеру.
to Ustudorin
На диске разработчика проверьте наличие python2.7 — в main-релизе (который DVD-диск основной поставки) его может и не быть. И, если найдете, то для начала определитесь с текущим релизом/апдейтом (+1 к тов. azm9s на тему update_version). А далее читайте wiki по установке обновлений main-репозитория и dev-репозитория. Чтобы не поломать зависимости.
ASTRA LINUX УСТАНОВКА PYTHON
Для установки Python на операционной системе Astra Linux потребуется выполнить несколько шагов. Во-первых, необходимо установить менеджер пакетов. Это можно сделать с помощью команды:
sudo apt-get install aptitude
Затем необходимо установить пакеты, необходимые для сборки и установки Python:
sudo aptitude install build-essential libssl-dev libffi-dev python-dev
После этого можно загрузить исходные коды Python с официального сайта:
После загрузки исходных кодов нужно извлечь их:
Затем нужно перейти в распакованную директорию и выполнить следующие команды для сборки и установки:
cd Python-3.9.6
./configure
make
sudo make install
После выполнения этих команд Python будет установлен на системе Astra Linux. Чтобы проверить установленную версию Python, можно выполнить команду:
Astra Linux 2023 — Easy Install
Установка Python 3.9 на Linux из исходного кода / Python 3.9 Install
Astra Linux SE 1.7.3 — первый взгляд
Использование PostgreSQL, Python, QtCreator в Astra Linux
Blackarch linux 2023 — virtualbox installation — Tutorial
Разработка программ на Python в PyCharm для Astra Linux
Уроки Python для начинающих — #Установка последней версии Python на Linux, Ubuntu, Debian
How to Install Python 3.11.4 on macOS 13.4 Ventura
Как установить последнюю версию Python в Astra Linux (и другие Linux)
- Convert alpha pygame что делает
- Matplotlib график python
- Как в python проверить кратность числа
- Автокорреляционная функция python
- Обратная функция лапласа python
- Django rest framework фильтрация
- Python сортировка списка кортежей по второму элементу
- Как убрать нули в конце числа python
- Асимптотическое приближение python
- Четные индексы python
- Python сборщик мусора
- Модель хольта винтерса python
- Python множество в строку
- Python парсинг yaml
- Python tf idf пример
Web-приложение на Python в Astra Linux с ALD авторизацией
Запустим в Astra Linux SE 1.5 написанное на Python (Django) web-приложение, возвращающее имя пользователя. Web-сервер — входящий в дистрибутив apache2 с модулем mod_python, авторизация через Astra Linux Directory. Проверим работу мандатного разграничения доступа.
Как настроить сервер — контроллер домена ALD и подключиться к нему клиентом в статье Настройка входа в систему с Astra Linux Directory.
Устанавливаем web-сервер (если еще не установлен), нужные нам модули apache и пакет с django
$ sudo apt-get install apache2 libapache2-mod-auth-kerb libapache2-mod-python python-django
Включаем модули apache, с которыми будем работать, отключаем лишний auth_pam, если ранее с ним работали, затем запускаем web-сервер
$ sudo a2dismod auth_pam $ sudo a2enmod python $ sudo a2enmod auth_kerb $ sudo service apache2 reload
Создаем принципала в ALD и добавляем его в группу mac
$ sudo ald-admin service-add HTTP/ald-server.example.ru $ sudo ald-admin sgroup-svc-add HTTP/ald-server.example.ru --sgroup=mac
Создаем файл ключа Kerberos и даем на него права пользователю www-data
$ KEYTAB="/etc/apache2/keytab" $ sudo ald-client update-svc-keytab HTTP/ald-server.example.ru --ktfile=$KEYTAB $ sudo chown www-data $KEYTAB $ sudo chmod 644 $KEYTAB
Блокируем дефолтный виртуальный сайт, конфигурация которого создается по-умолчанию и создаем в /etc/apache2/sites-available/ свой конфигурационный файл astra-django-project для виртуального хоста
$ sudo a2dissite default $ sudo vim /etc/apache2/sites-available/astra-django-project
ServerName ald-server.example.ru ServerAdmin useradmin@example.ru DocumentRoot /var/www/django_site AddDefaultCharset utf-8 Options -Indexes FollowSymLinks -MultiViews AllowOverride None AuthType Kerberos KrbAuthRealms EXAMPLE.RU KrbServiceName HTTP/ald-server.example.ru Krb5Keytab /etc/apache2/keytab KrbMethodNegotiate on KrbMethodK5Passwd off KrbSaveCredentials on require valid-user Order deny,allow Allow from all SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE django_site.settings PythonOption diango.root /var/www/django_site PythonPath "['/var/www/django_site/',] + sys.path" PythonAutoReload On SetHandler None SetHandler None SetHandler None ErrorLog /var/www/django_site/log/error.log LogLevel debug SetEnvIf Request_URI "\.jpg$|\.gif$|\.css$|\.js" is_static CustomLog /var/www/django_site/log/access.log combined env=!is_static
Добавляем созданную конфигурацию
$ sudo a2ensite astra-django-project
Но перезапускать apache еще рано, теперь надо создать наше django-приложение
$ cd /var/www/ $ sudo django-admin startproject django_site $ cd django_site $ sudo python manage.py startapp app
Создаем каталог для log-файлов, назначаем мандатные атрибуты каталогу с виртуальным сервером и перезапускаем web-сервер
$ cd django_site $ sudo pdpl-file 3:0:0xffffffffffffffff:ccnr /var/www/ $ sudo pdpl-file 3:0:0xffffffffffffffff:ccnr /var/www/django_site/ $ sudo service apache2 restart
На любом компьютере, который должен выступать в роли клиента, в firefox включаем negotiate авторизацию. Для чего открыть страницу about:config и добавить http:// в параметр network.negotiate-auth.trusted-uris .
Если все сделано правильно, то в браузере клиента, авторизованного через ald при обращении к http://ald-server.example.ru покажется стандартная начальная страница django.
Данные пользователя, в отличии от работы с PAM, передаются в зашифрованном виде, на сервере они расшифровываются и становятся доступны из стандартных http-заголовков. Напишем простое приложение, которое показываем имя пользователя, зашедшего на сервер.
В /var/www/django_site/django_site/settings.py добавляем наше приложение app
. INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', # Uncomment the next line to enable the admin: # 'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', 'app', ) .
В /var/www/django_site/app/views.py создаем функцию, которое будет возвращать текущее время и авторизованного пользователя из request.META[‘REMOTE_USER’]
from django.http import HttpResponse import datetime def current_datetime(request): now = datetime.datetime.now() html = "It is now %s. User: %s " % (now, request.META['REMOTE_USER']) return HttpResponse(html)
В /var/www/django_site/django_site/urls.py создаем маршрут к нашему view
from django.conf.urls import patterns, url urlpatterns = patterns('', url(r'^$', 'app.views.current_datetime'), )
Для проверки работы мандатных ограничений можно провести эксперимент на конфигурации виртуального сервера default . Деактивируем виртуальный сервер с django, добавим проверочную конфигурацию и перезапустим web-сервер
$ sudo a2dissite astra-django-project $ sudo a2ensite default $ sudo service apache2 reload
На контроллере домена нужно создать доменного пользователя, и выставить ему ненулевой «максимальный уровень конфиденциальности» (например, 1). На компьютере — web-сервере в папке виртуального сервера например /var/www/ создать 2 файла и установить ненулевую мандатную метку на файл 1.html
echo "Hello world! 0" | sudo tee /var/www/0.html echo "Hello world! 1" | sudo tee /var/www/1.html sudo pdpl-file 1:0:0 /var/www/1.html
После чего зайти на клиентский компьютер под пользовательской доменной учетной записью с нулевым уровнем конфиденциальности и попытаться получить доступ к странице с ненулевым уровнем конфиденциальности http://ald-server.example.ru/1.html .
Результатом должен стать отказ в доступе. При этом в диагностическом сообщении об ошибке будет указано, что объект не найден ( ошибка 404 ), и не будет указана ошибка 403 (недостаточно прав). Такая диагностика исключает передачу информации о существовании объектов с высоким уровнем конфиденциальности, перекрывая возможный канал утечки информации.
Доступ к странице с нулевым уровнем конфиденциальности http://ald-server.example.ru/0.html должен предоставляться.
При входе на клиентский компьютер под пользовательской доменной учетной записью с ненулевым уровнем конфиденциальности должны быть доступны обе страницы.