Amazon EC2 örneği işletim sistemi bilgisi nasıl elde edilir?


33

Sadece Linux çalıştıran bir EC2 örneği kurdum. Örnek üzerinde çalışmakta olan Linux sürümünü / dağıtımını terminal üzerinden almanın bir yolu var mı?


uname -a size Çekirdek hakkında bilgi vermeli, zaman bilgisi ve satıcı dahil diğer bilgileri vermelidir ... (Tiernan0'ın izniyle)
soandos

Yanıtlar:


31

Dağıtım bilgisi için:

cat /etc/issue

Çekirdek / mimari için (daha önce belirtildiği gibi):

uname -a

Cat / etc / issue çalıştı.
David,

1
Peki, sysadmin başka bir şey koymuyorsa, /etc/issuebu oturum açmadan önce görüntülenen ve kelimenin tam anlamıyla bir şey (veya hiçbir şey) olabilecek yerel olarak yönetilen bir dosyadır. :) Örneğin, sistemlerim şu anda burada "sistemler yetkilendirme gerektiriyor, yetkisiz erişim yasaktır" diyor. Hiç güvenliği düşünür herkes muhtemelen gelmez / etc / sayısında tanımlayıcı bilgileri işletim sisteminin tüm koydu.
dannysauer

@ dannysauer başka nereye koyacaksın. Bir şey hakkında tüm bilgiler depolama aygıtında saklanır. Bazen bu bilginin, bilgiyi yazdırabilen bir ikili çalıştırılabilir dosya içine gömdüğünü görüyorum, ancak güvenlik önlemlerinde, hem herhangi bir metin dosyasını hem de çalıştırılabilir bir ikili dosyayı aynı dosya sistemi temelli korumayı paylaştığını düşünürken, düz bir metin dosyasından biraz farklı.
ThorSummoner

@ThorSummoner - / etc / issue içeriği , oturum açma isteminden önce görüntülenir . Bu güvenlik sorunu.
dannysauer

12

Linux Standard Base uyumlu dağıtımlar için taşınabilir komut (ki hemen hemen her şey popüler) lsb_release. Dağılım "-i" ile elde edilebilir ve sürüm "-r" den gelir. "-S" seçeneği, isim sütununu gizler ve sadece değeri gösterir ve -a lsb_releasesistem hakkında her şeyi bilir. Örneğin, bir RHEL 5.5 sisteminde:

$ lsb_release -s -i
RedHatEnterpriseServer

$ lsb_release -s -r
5.5

$ lsb_release -a
LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Release:        5.5
Codename:       Tikanga

Red Hat, SuSE, Ubuntu, Debian veya bunlardan türetilen herhangi bir şey (Fedora, CentOS, her neyse) iseniz, bu komut işe yarayacaktır. Aksi takdirde, bazı rahatsızlıklara özgü bilgiler bulmanız gerekir. RedHat, örneğin, yine, adlı bir paket yükler redhat-releaseve / etc içinde bir dosya oluşturur:

$ rpm -q redhat-release
redhat-release-5Server-5.5.0.2

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

İşte yeni hazırlanmış (2 Şub 2017) Amazon Linux 2 sisteminde göründüğü gibi: ana bilgisayar adını sıfırladıktan sonra:

[ec2-user@fresh-amazon-host ~]$ cat /etc/system-release
Amazon Linux release 2.0 (2017.12) LTS Release Candidate
[ec2-user@fresh-amazon-host ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2.0 (2017.12)"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2.0"
PRETTY_NAME="Amazon Linux 2.0 (2017.12) LTS Release Candidate"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2.0"
HOME_URL="https://amazonlinux.com/"

IMHO, gerçekten lsb_releaseuygunsa kullanmalısın . Sadece görsel olarak yapıyorsanız, lsb_release -ahatırlaması kolay ve okuması oldukça kolaydır. Ancak bu bir seçenek değilse, / etc / os-release oldukça az sayıda Linux işletim sistemi sürümünde yukarıdaki gibi doldurulur.


Ben ilk yaklaşımınız ve aşağıdaki hatayı alıyorum -bash: lsb_release: command not found. Ayrıca ikinci yaklaşımınızı da denedim ve redhatta bahseden hiçbir şey bulamıyorum /etc. Başka bir önerin var mı?
David

Rpm ve apt-get'in sistemde olup olmadığını kontrol ederek başlayın; "hangi rpm" yi ve "hang apt-get" komutunu çalıştırın. Eğer rpm'niz varsa, bir "rpm -qa | less" yapın ve orada dağıtım gibi görünen bir şey olup olmadığını görün. Apt-get'iniz varsa, "dpkg -l | less" ı deneyin ve aynı şeyi yapın. Ve "ls -d / etc / * rel *" komutunu deneyin, / etc içinde herhangi bir sürüm dosyası olup olmadığını kontrol edin. Ayrıca, lsb_release'in yolunda olmaması durumunda "find / -name lsb_release" işlemini de yapabilirsiniz.
dannysauer

apt-getsistemde değil. İle tanımlanabilir bir şey görmüyorum rpm -qa|less. ls -d /etc/*rel*çalıştı. Ben o zaman nano /etc/system-release. Dosyada bana işletim sistemi olduğunu söylüyor Amazon Linux AMI release 2011.02.1.1. Teşekkürler.
David,

1
lsb_releaseamazon linux'da bulunmadığı için genel olarak bu soru sorulmasına neden oluyor ... lsb_releasebununla birlikte gelen büyük bir zincir gerekiyor redhat-lsb-coreve aws bunu bırakmayı seçiyor - forums.aws.amazon.com/message.jspa?messageID = 519.816
düşkün

1
Ben (bazı insanlar görünüşte okuma değildi) daha net cevap kalanını yapılmış ve mevcut Amazon Linux 2. gerçek çıktı dahil
dannysauer

7

Bu benim için çalıştı:

# cat /etc/os-release

NAME="Amazon Linux AMI"
VERSION="2015.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2015.03"
PRETTY_NAME="Amazon Linux AMI 2015.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2015.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"

Sadece bir kafa yukarı. Amazon Linux AMI 2011.09 kullanıyorum ve bu işe yaramadı ama başka bir yorum cat /usr/share/doc/system-release/ReleaseNotes.txtyaptı. Bu muhtemelen daha yeni sürümlerde çalışır.
Mauvis Ledford

2

uname -a Size Çekirdek hakkında bilgi, zaman oluşturma ve satıcı dahil diğer bilgileri vermeli ...


1

Bir AMI EC2'ye ne zaman giriş yaptığınızı görebileceğiniz gibi Amazon Linux AMI:

"En son sürüm notları için / usr / share / doc / system-release / 'e bakınız.

Yani ... sadece şunu yazın:

cat /usr/share/doc/system-release/ReleaseNotes.txt

Bu benim için çalıştı Amazon Linux AMI 2011.09.
Mauvis Ledford
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.