Python astra linux special edition

Установка 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

Вложения

Screenshot_20220117_171211.jpg

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 должен предоставляться.

При входе на клиентский компьютер под пользовательской доменной учетной записью с ненулевым уровнем конфиденциальности должны быть доступны обе страницы.

Источник

Читайте также:  Зачем нужен php ini
Оцените статью