ฉันกำลังมองหาคำสั่งเทอร์มินัลซึ่งไม่ต้องการให้ผู้ใช้ที่ดำเนินการอยู่ในกลุ่ม sudoers และเป็นสากลและไม่ต้องการติดตั้งแพคเกจเพิ่มเติม จนถึงตอนนี้ฉันได้พบว่าหากระบบมีการติดตั้ง systemd ฉันสามารถใช้:
$ hostnamectl status
Static hostname: mint
Icon name: computer-laptop
Chassis: laptop
Machine ID: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
Boot ID: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Operating System: Linux Mint LMDE
Kernel: Linux 3.16.0-6-amd64
และภายใต้ชื่อไอคอนและแชสซีฉันสามารถดูว่าเป็น VM หรือเครื่องจริง แต่ฉันสงสัยว่าฉันสามารถใช้งานได้lscpu
หรือไม่โดยเฉพาะอย่างยิ่งเนื่องจากเป็นวิธีที่เป็นสากลมากกว่าhostnamectl
และไม่ต้องใช้ systemd ทฤษฎีของฉันคือถ้า CPU มีเพียงหนึ่งเธรดต่อหนึ่งคอร์และยังไม่ได้ระบุความถี่ซีพียูขั้นต่ำและสูงสุดนี่ก็เป็นการบ่งชี้ว่าเซิร์ฟเวอร์นั้นเป็นเวอร์ชวลไลเซชันแน่นอน
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 60
Model name: Intel(R) Core(TM) i7-4710HQ CPU @ 2.50GHz
Stepping: 3
CPU MHz: 2500.488
CPU max MHz: 3500.0000
CPU min MHz: 800.0000
BogoMIPS: 4988.18
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 6144K
NUMA node0 CPU(s): 0-7
ฉันรู้ว่าถ้า CPU มีเพียงหนึ่งเธรดต่อหนึ่งคอร์ไม่จำเป็นต้องหมายความว่ามันเป็น VM แน่นอน แต่ซีพียูสมัยใหม่ทั้งหมดควรมี 2 เธรดต่อคอร์และนอกจากนี้ฉันยังสามารถคำนึงถึงการขาด / การมีอยู่ของ ความถี่ CPU ขั้นต่ำและสูงสุดในlscpu
เอาต์พุต