Menanyakan distribusi Linux / Unix yang Anda gunakan (dari baris perintah) [duplikat]

8

Saat menggunakan komputer Linux / BSD / Unix yang tidak dikenal (misalnya dengan SSH) dari baris perintah, bagaimana Anda bisa mengetahui distribusi apa (dan versi distribusi apa) yang Anda gunakan?

Beberapa opsi yang saya coba:

  • lsb_release --all: tidak ada di OpenSuSE 11.3; bekerja pada pemerasan Debian dan Ubuntu 10.10.
  • uname --all: tidak memberikan informasi distro tentang SuSE dan Debian; bekerja di Ubuntu.
  • cat /etc/apt/sources.listdi Anda dapat melihat server distribusi mana yang terhubung mesin untuk pembaruan. Jelas, hanya berfungsi untuk distribusi berbasis Debian. Tidak akan berfungsi jika komputer telah dikonfigurasi untuk menggunakan server repositori khusus.

Sayangnya tidak ada satupun yang berfungsi di banyak distribusi. Apakah ada perintah sederhana untuk diperiksa?

Siput mekanik
sumber

Jawaban:

11

Jika Python 2.3 atau yang lebih baru diinstal, ini akan berfungsi dengan banyak distribusi :

python -c "import platform; print platform.dist()"
Tambalan
sumber
10

cat / proc / versi

mungkin melakukan trik.

Journeyman Geek
sumber
3
Ada banyak unix yang tidak mendukung / proc pseudo-filesystem.
dmckee --- ex-moderator kitten
1

Tidak ada satu perintah ajaib yang bekerja di semua distribusi - Anda perlu mencoba serangkaian hal untuk mengetahui jawabannya.

Hal yang mencoba memasukkan beberapa Anda lakukan, seperti lsb_release, dan lain-lain bahwa Anda tidak seperti melihat /etc/redhat-release, /etc/fedora-releasedll

TomH
sumber
Juga /etc/SuSE-release.
Siput mekanik
1
Periksa /etc/*-release- tetapi ada sistem tanpa file seperti itu.
Keith Thompson