Tôi chỉ thiết lập một phiên bản EC2 chạy Linux. Có cách nào để có được phiên bản / bản phân phối Linux đang chạy trên phiên bản qua thiết bị đầu cuối không?
Tôi chỉ thiết lập một phiên bản EC2 chạy Linux. Có cách nào để có được phiên bản / bản phân phối Linux đang chạy trên phiên bản qua thiết bị đầu cuối không?
Câu trả lời:
Để biết thông tin phân phối:
cat /etc/issue
Đối với Kernel / architecture (như đã đề cập trước đó):
uname -a
/etc/issue
, vì đó là một tệp được quản lý cục bộ được hiển thị trước khi đăng nhập và có thể là bất cứ thứ gì (hoặc không có gì). :) Ví dụ: các hệ thống của tôi hiện nói "hệ thống yêu cầu ủy quyền, truy cập trái phép là bất hợp pháp" trong đó. Bất cứ ai quan tâm đến bảo mật đều có thể không đưa tất cả thông tin nhận dạng hệ điều hành vào / etc / vấn đề.
Lệnh di động cho các bản phân phối tương thích với Cơ sở Tiêu chuẩn Linux (có khá nhiều thứ phổ biến) lsb_release
. Phân phối có thể được lấy bằng "-i" và phiên bản đến từ "-r". Tùy chọn "-s" chặn cột tên và chỉ hiển thị giá trị, và -a hiển thị mọi thứ lsb_release
biết về hệ thống. Vì vậy, ví dụ trên hệ thống 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
Nếu bạn đang sử dụng Red Hat, SuSE, Ubuntu, Debian hoặc bất kỳ thứ gì khác có nguồn gốc từ những thứ đó (Fedora, CentOS, bất cứ thứ gì), lệnh này sẽ hoạt động. Nếu không, bạn sẽ phải tìm ra một số thông tin cụ thể về phân phối. RedHat, chẳng hạn, một lần nữa, cài đặt một gói có tên redhat-release
và tạo một tệp trong / 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)
Đây là giao diện của hệ thống Amazon Linux 2 được cung cấp mới (ngày 2 tháng 2 năm 2017) - sau khi tôi đặt lại tên máy chủ:
[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, bạn thực sự nên sử dụng lsb_release
nếu nó có sẵn. Nếu bạn chỉ đang làm nó một cách trực quan, lsb_release -a
dễ nhớ và dễ đọc một cách hợp lý. Nhưng nếu đó không phải là một tùy chọn, / etc / os-release được phổ biến như trên trên một vài phiên bản HĐH Linux gần đây.
-bash: lsb_release: command not found
. Tôi cũng đã thử cách tiếp cận thứ hai của bạn và không thể tìm thấy bất cứ điều gì đề cập đến redhat in /etc
. Bất cứ một đề nghị nào khác?
apt-get
không có trên hệ thống. Tôi không thấy bất cứ điều gì có thể nhận dạng với rpm -qa|less
. ls -d /etc/*rel*
đã làm việc. Tôi rồi nano /etc/system-release
. Trong tập tin nó cho tôi biết rằng hệ điều hành là Amazon Linux AMI release 2011.02.1.1
. Cảm ơn.
lsb_release
không có sẵn trên amazon linux, điều này thường dẫn đến câu hỏi này được yêu cầu ... lsb_release
yêu cầu một chuỗi dep lớn đi kèm redhat-lsb-core
và aws chọn rời khỏi đó - forum.aws.amazon.com/message.jspa?messageID = 519816
Điều này làm việc cho tôi:
# 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
đã làm. Điều này có thể hoạt động trên các phiên bản mới hơn.
Như bạn có thể thấy khi đăng nhập vào AMI EC2 Amazon Linux AMI:
"Xem / usr / share / doc / system-phát hành / để biết ghi chú phát hành mới nhất."
Vì vậy, ... chỉ cần gõ:
cat /usr/share/doc/system-release/ReleaseNotes.txt
Amazon Linux AMI 2011.09
.