จะรับข้อมูลระบบปฏิบัติการอินสแตนซ์ Amazon EC2 ได้อย่างไร


33

ฉันเพิ่งตั้งค่าอินสแตนซ์ EC2 ที่ใช้ Linux มีวิธีรับรุ่น / การกระจายของ Linux ที่ทำงานบนอินสแตนซ์ผ่านเทอร์มินัลหรือไม่


uname -a ควรให้ข้อมูลเกี่ยวกับเคอร์เนลเวลาในการสร้างและข้อมูลอื่น ๆ รวมถึงผู้ขาย ... (ความอนุเคราะห์จาก Tiernan0)
soandos

คำตอบ:


31

สำหรับข้อมูล distro:

cat /etc/issue

สำหรับเคอร์เนล / สถาปัตยกรรม (ดังกล่าวก่อนหน้า):

uname -a

cat / etc / ปัญหาทำงาน
David

1
ดีเว้นแต่ดูแลระบบทำให้สิ่งอื่นใน/etc/issueเพราะเป็นไฟล์ที่มีการจัดการในท้องถิ่นซึ่งจะปรากฏขึ้นก่อนที่จะเข้าสู่ระบบและแท้จริงอาจเป็นอะไรก็ได้ (หรืออะไร) :) ตัวอย่างเช่นระบบของฉันในขณะนี้พูดว่า "ระบบต้องการการอนุญาตการเข้าถึงที่ไม่ได้รับอนุญาตนั้นผิดกฎหมาย" ในนั้น ใครก็ตามที่ใส่ใจเรื่องความปลอดภัยก็อาจจะไม่ได้นำข้อมูลที่ใช้ระบุตัวตนของระบบปฏิบัติการทั้งหมดใน / etc / issue
dannysauer

@dannysauer ที่อื่นคุณจะใส่มัน ข้อมูลทั้งหมดเกี่ยวกับสิ่งใด ๆ จะถูกเก็บไว้ในอุปกรณ์จัดเก็บข้อมูล บางครั้งผมเห็นข้อมูลนี้ฝังในไบนารีที่สามารถพิมพ์ข้อมูลออก แต่ที่แตกต่างเล็ก ๆ น้อย ๆ ในมาตรการรักษาความปลอดภัยกว่าไฟล์ข้อความธรรมดาพิจารณาทั้งไฟล์ข้อความใด ๆ และส่วนแบ่งไบนารีปฏิบัติการเดียวกันการคุ้มครองตามระบบแฟ้ม
ThorSummoner

@ThorSummoner - เนื้อหาของ / etc / ปัญหาจะปรากฏขึ้นก่อนที่จะเข้าสู่ระบบให้ นั่นคือปัญหาด้านความปลอดภัย
dannysauer

12

คำสั่งแบบพกพาสำหรับลินุกซ์กระจายมาตรฐานฐานความเข้ากันได้ (ซึ่งเป็นทุกอย่างสวยมากนิยม) lsb_releaseเป็น การกระจายสามารถรับได้โดย "-i" และรุ่นมาจาก "-r" ตัวเลือก "-s" ไม่แสดงคอลัมน์ชื่อและเพียงแสดงค่าและ -a แสดงทุกอย่างที่lsb_releaseรู้เกี่ยวกับระบบ ตัวอย่างเช่นในระบบ RHEL 5.5:

$ 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 หรืออะไรก็ตามที่ได้มาจากสิ่งเหล่านั้น (Fedora, CentOS, อะไรก็ตาม) คำสั่งนี้จะใช้ได้ มิฉะนั้นคุณจะต้องค้นหาข้อมูลเฉพาะบางอย่าง ตัวอย่างเช่น RedHat ติดตั้งแพ็กเกจที่ชื่อว่าredhat-releaseและสร้างไฟล์ใน / etc:

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

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

นี่คือสิ่งที่ดูเหมือนว่าในระบบ Amazon Linux 2 ที่เพิ่งได้รับการจัดสรรใหม่ - หลังจากฉันรีเซ็ตชื่อโฮสต์:

[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 คุณควรใช้lsb_releaseถ้ามี หากคุณเพียงแค่ทำมันด้วยสายตาlsb_release -aเป็นเรื่องง่ายที่จะจำและอ่านง่าย แต่ถ้านั่นไม่ใช่ตัวเลือก / etc / os-release จะได้รับการบรรจุข้างต้นใน Linux OS เวอร์ชันล่าสุด


-bash: lsb_release: command not foundฉันวิธีแรกและได้รับข้อผิดพลาดดังต่อไปนี้ ฉันยังลองวิธีที่สองของคุณและไม่สามารถหาสิ่งที่กล่าวถึง redhat สิ่ง/etcต่อไปนี้ ข้อเสนอแนะอื่น ๆ ?
David

เริ่มต้นด้วยการตรวจสอบเพื่อดูว่า rpm และ apt-get อยู่ในระบบหรือไม่ เรียกใช้ "ซึ่งรอบต่อนาที" และ "ที่ฉลาด - รับ" หากคุณมีรอบต่อนาทีให้ทำ "rpm -qa | less" และดูว่ามีอะไรที่ฟังดูเหมือนการแจกแจงหรือไม่ หากคุณมีไหวพริบให้ลอง "dpkg -l | less" แล้วทำสิ่งเดียวกัน และลองใช้ "ls -d / etc / * rel *" เพื่อดูว่ามีไฟล์ที่วางจำหน่ายหรืออะไรใน / etc โอ้คุณอาจทำ "find / -name lsb_release" ในกรณีที่ lsb_release ไม่ได้อยู่ในเส้นทางของคุณ
dannysauer

apt-getไม่ได้อยู่ในระบบ ฉันไม่เห็นสิ่งใดที่สามารถระบุrpm -qa|lessได้ ls -d /etc/*rel*ทำงาน nano /etc/system-releaseฉันแล้ว Amazon Linux AMI release 2011.02.1.1ในไฟล์มันบอกว่าระบบปฏิบัติการคือ ขอบคุณ
David

1
downvote เนื่องจากlsb_releaseไม่มีให้บริการบน amazon linux ซึ่งโดยทั่วไปจะนำไปสู่คำถามที่ถูกถามนี้ ... lsb_releaseต้องใช้เครือข่ายขนาดใหญ่ที่มาพร้อมกับredhat-lsb-coreaws เลือกที่จะออกจากที่นั่น - forums.aws.amazon.com/message.jspa?messageID = 519816
กระตือรือร้น

1
ผมทำส่วนที่เหลือของคำตอบที่ชัดเจนมากขึ้น (ซึ่งบางคนเห็นได้ชัดว่าเขาไม่ได้อ่าน) และรวมถึงการส่งออกที่เกิดขึ้นจริงจากปัจจุบัน Amazon ลินุกซ์ 2
dannysauer

7

สิ่งนี้ใช้ได้กับฉัน:

# 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/"

แค่หัวขึ้น ผมใช้ลินุกซ์ Amazon AMI 2,011.09 และนี่ไม่ได้ทำงาน แต่ความคิดเห็นอื่นcat /usr/share/doc/system-release/ReleaseNotes.txtได้ อาจใช้งานได้กับรุ่นที่ใหม่กว่า
Mauvis Ledford

2

uname -a ควรให้ข้อมูลเกี่ยวกับเคอร์เนลเวลาในการสร้างและข้อมูลอื่น ๆ รวมถึงผู้ขาย ...


1

อย่างที่คุณเห็นเมื่อล็อกอินเข้าสู่ AMI EC2 Amazon Linux AMI:

"ดู / usr / share / doc / system-release / สำหรับบันทึกประจำรุ่นล่าสุด"

ดังนั้น ... เพียงพิมพ์:

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

Amazon Linux AMI 2011.09นี้ทำงานสำหรับฉันใน
Mauvis Ledford
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.