ฉันเพิ่งตั้งค่าอินสแตนซ์ EC2 ที่ใช้ Linux มีวิธีรับรุ่น / การกระจายของ Linux ที่ทำงานบนอินสแตนซ์ผ่านเทอร์มินัลหรือไม่
ฉันเพิ่งตั้งค่าอินสแตนซ์ EC2 ที่ใช้ Linux มีวิธีรับรุ่น / การกระจายของ Linux ที่ทำงานบนอินสแตนซ์ผ่านเทอร์มินัลหรือไม่
คำตอบ:
สำหรับข้อมูล distro:
cat /etc/issue
สำหรับเคอร์เนล / สถาปัตยกรรม (ดังกล่าวก่อนหน้า):
uname -a
/etc/issue
เพราะเป็นไฟล์ที่มีการจัดการในท้องถิ่นซึ่งจะปรากฏขึ้นก่อนที่จะเข้าสู่ระบบและแท้จริงอาจเป็นอะไรก็ได้ (หรืออะไร) :) ตัวอย่างเช่นระบบของฉันในขณะนี้พูดว่า "ระบบต้องการการอนุญาตการเข้าถึงที่ไม่ได้รับอนุญาตนั้นผิดกฎหมาย" ในนั้น ใครก็ตามที่ใส่ใจเรื่องความปลอดภัยก็อาจจะไม่ได้นำข้อมูลที่ใช้ระบุตัวตนของระบบปฏิบัติการทั้งหมดใน / etc / issue
คำสั่งแบบพกพาสำหรับลินุกซ์กระจายมาตรฐานฐานความเข้ากันได้ (ซึ่งเป็นทุกอย่างสวยมากนิยม) 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
ต่อไปนี้ ข้อเสนอแนะอื่น ๆ ?
apt-get
ไม่ได้อยู่ในระบบ ฉันไม่เห็นสิ่งใดที่สามารถระบุrpm -qa|less
ได้ ls -d /etc/*rel*
ทำงาน nano /etc/system-release
ฉันแล้ว Amazon Linux AMI release 2011.02.1.1
ในไฟล์มันบอกว่าระบบปฏิบัติการคือ ขอบคุณ
lsb_release
ไม่มีให้บริการบน amazon linux ซึ่งโดยทั่วไปจะนำไปสู่คำถามที่ถูกถามนี้ ... lsb_release
ต้องใช้เครือข่ายขนาดใหญ่ที่มาพร้อมกับredhat-lsb-core
aws เลือกที่จะออกจากที่นั่น - forums.aws.amazon.com/message.jspa?messageID = 519816
สิ่งนี้ใช้ได้กับฉัน:
# 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/"
cat /usr/share/doc/system-release/ReleaseNotes.txt
ได้ อาจใช้งานได้กับรุ่นที่ใหม่กว่า
uname -a
ควรให้ข้อมูลเกี่ยวกับเคอร์เนลเวลาในการสร้างและข้อมูลอื่น ๆ รวมถึงผู้ขาย ...
อย่างที่คุณเห็นเมื่อล็อกอินเข้าสู่ AMI EC2 Amazon Linux AMI:
"ดู / usr / share / doc / system-release / สำหรับบันทึกประจำรุ่นล่าสุด"
ดังนั้น ... เพียงพิมพ์:
cat /usr/share/doc/system-release/ReleaseNotes.txt
Amazon Linux AMI 2011.09
นี้ทำงานสำหรับฉันใน