🐍 Как Π½Π°ΠΉΡ‚ΠΈ свСдСния ΠΎ систСмС Linux с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

by itisgood

Python являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых популярных языков программирования ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ прСдустановлСн Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Linux

Π—Π½Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ систСмС Linux, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Python?

Π”Π°! Π’ этом ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌ руководствС ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ свСдСния ΠΎ систСмС Linux с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python.

Π’ Python Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Platform, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π°ΠΌ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ вСрсия ОБ, имя дистрибутива, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ядро, ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя ОБ, вСрсия Python ΠΈ Ρ‚. Π΄.

Найти свСдСния ΠΎ систСмС Linux с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

Как ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ дистрибутивов Linux ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Если ΠΎΠ½ Π΅Ρ‰Π΅ Π½Π΅ установлСн, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² дистрибутива.

Бюда я Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» шаги ΠΏΠΎ установкС послСднСй вСрсии Python 3.6.x Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дистрибутивах Linux.

На Arch Linux ΠΈ Π΅Π³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…:

$ sudo pacman -S python

На Fedora:

$ sudo dnf install python36
На CentOS 7 ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Python 3.6 ΠΈΠ· рСпозитория IUM (Inline with Upstream Stable), ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum install python36u
Π’ Ubuntu 17.10 ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Π΅ вСрсии, Python 3.6 доступСн ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡ‚Π΅ΡΡŒ ΠΎΠ± установкС.

Π’ Ubuntu 16.10 ΠΈ 17.04 Python3 доступСн Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ [Universe].

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ [Universe] ΠΈ установитС Python 3.6, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
$ sudo add-apt-repository universe
$ sudo apt-get install python3.6
Π’ Ubuntu 14.04 ΠΈΠ»ΠΈ 16.04 Python 3 нСдоступСн Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Universe.
Π˜Ρ‚Π°ΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ PPA для установки Python 3.
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.6

ПослС установки Python ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π²Π΅Ρ€ΡΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

$ python3 --version

Или,

$ python3.6 -V
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
Python 3.6.8
Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ОБ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ОБ, Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ΅ имя:
$ python3 -c 'import platform; print(platform.linux_distribution())'
Если Ρƒ вас Π΅ΡΡ‚ΡŒ Python 2.x Π² вашСй систСмС, просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:
$ python -c 'import platform; print(platform.linux_distribution())'
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° Ubuntu 18.04 Desktop:
('Ubuntu', '18.04', 'bionic')
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΌΠ°ΡˆΠΈΠ½Ρ‹:
$ python3 -c 'import platform; print(platform.architecture())'
('64bit', 'ELF')

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΌΠ°ΡˆΠΈΠ½Ρ‹:

$ python3 -c 'import platform; print(platform.machine())'
x86_64
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ имя ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π² сСти:
$ python3 -c 'import platform; print(platform.node())'
itisgood

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ:

$ python3 -c 'import platform; print(platform.platform())'
Linux-5.0.0-32-generic-x86_64-with-Ubuntu-18.04-bionic

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ имя процСссора:

$ python3 -c 'import platform; print(platform.processor())'
x86_64

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ выпускС систСмы:

$ python3 -c 'import platform; print(platform.release())'
5.0.0-32-generic

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ названия систСмы / ОБ:

$ python3 -c 'import platform; print(platform.system())'
Linux

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ систСмы:

$ python3 -c 'import platform; print(platform.version())'
#34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ систСма, ΡƒΠ·Π΅Π», выпуск, вСрсия, машина ΠΈ процСссор

$ python3 -c 'import platform; print(platform.uname())'
uname_result(system='Linux', node='ostechnix', release='5.0.0-32-generic', version='#34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019', machine='x86_64', processor='x86_64')

Π­Ρ‚ΠΎ эквивалСнтно ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Β«uname -aΒ».

Как я ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» Ρ€Π°Π½Π΅Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Python.

Для Python 2.x запуститС:

$ python -c 'import platform; print(platform.python_version())'
2.7.15+

Для Python 3.x:

$ python3 -c 'import platform; print(platform.python_version())'
3.6.8

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ простой скрипт Python для отобраТСния свСдСний ΠΎ систСмС Linux


ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простой скрипт Python для отобраТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ систСмС Linux, объСдинив всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² тСкстовом Ρ„Π°ΠΉΠ»Π΅ ΠΈ просматривая всС Π΄Π΅Ρ‚Π°Π»ΠΈ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим тСкстовый Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ os_info.py:

$ nano os_info.py
Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки:
import platform

print('Uname:', platform.uname())

print()
print('Distribution :', platform.linux_distribution())
print('Machine :', platform.machine())
print('Node :', platform.node())
print('Processor :', platform.processor())
print('Release :', platform.release())
print('System :', platform.system())
print('Version :', platform.version())
print('Platform :', platform.platform())
Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вашСй систСмС Linux:
$ python os_info.py

ΠΈΠ»ΠΈ,

$ python3 os_info.py
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:
Uname: uname_result(system='Linux', node='ostechnix', release='5.0.0-32-generic', version='#34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019', machine='x86_64', processor='x86_64')

Distribution : ('Ubuntu', '18.04', 'bionic')
Machine : x86_64
Node : ostechnix
Processor : x86_64
Release : 5.0.0-32-generic
System : Linux
Version : #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019
Platform : Linux-5.0.0-32-generic-x86_64-with-Ubuntu-18.04-bionic
ВсС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Ρ‹Π»ΠΈ протСстированы с Python 3.6.8 Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠΉ вСрсии Ubuntu 18.04.

Найти свСдСния ΠΎ систСмС Linux с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python 3.8.0

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ функция platform.linux_distribution () устарСла с вСрсии 3.5 ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π° Π² 3.8.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡΠ°ΠΌΡƒΡŽ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Python, которая являСтся 3.8.0, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚ distro.

$ pip install distro
ПослС установки дистрибутива просто запуститС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ОБ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅:
$ distro
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π°:
Name: Ubuntu 18.04.2 LTS
Version: 18.04 (bionic)
Codename: bionic
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π»Π°Π³ -j:
$ distro -j
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π°:
{
    "codename": "bionic",
    "id": "ubuntu",
    "like": "debian",
    "version": "18.04",
    "version_parts": {
        "build_number": "",
        "major": "18",
        "minor": "04"
    }
}
БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… способов ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΡƒΠ·Π½Π°Ρ‚ΡŒ подробности ΠΎ машинС Linux.
КакиС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π²Ρ‹?
Как всСгда, Π»ΡŽΠ±Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‚ΡΡ!

You may also like

Leave a Comment