zoukankan      html  css  js  c++  java
  • linux各发行版的系统平台信息获取方式调研


    最近在调研获取linux的平台信息的方法(即获取CentOS,64bit,6.5这些),下面做如下总结:

    1、通过 python中platform模块获取

    在platform模块中,封装了一系列方法,可以获取linux所有的平台信息。

    好处: 

        (1)python可以跨平台,在windows、linux、mac上执行 

        (2)各linux发行版中基本都自带了python

        (3)不会因为linux 系统版本不同而要进行判断,避免了java读/etc/下的相关配置文件的繁琐工作。

    缺点: 

         (1)需要引入platform模块(python如果不带此模块则无法获取平台信息)

         (2)不同版本的linux自带的python版本不同,不确定是否都有platform模块

         (3)python 是用C语言实现的,需要编译。

     import platform
            platform.platform()   #获取操作系统名称及版本号,'Windows-7-6.1.7601-SP1'
            platform.version()    #获取操作系统版本号,'6.1.7601'
            platform.architecture()   #获取操作系统的位数,('32bit', 'WindowsPE')
            platform.machine()    #计算机类型,'x86'
            platform.node()       #计算机的网络名称,'hongjie-PC'
            platform.processor()  #计算机处理器信息,'x86 Family 16 Model 6 Stepping 3, AuthenticAMD'
            platform.uname()      #包含上面所有的信息汇总,uname_result(system='Windows', node='hongjie-PC',
                                   release='7', version='6.1.7601', machine='x86', processor='x86 Family
                                   16 Model 6 Stepping 3, AuthenticAMD')
    

     编程实现:java代码执行Python命令

    	String  ss = "ssh root@172.16.1.1  python -c 'import platform ; print platform.platform() '";
    	MsgVO  msg = ActionUtil.execCommand(ss);
    		
    参考:http://www.cnblogs.com/agnewee/p/6444836.html   讲解了一些python获取系统平台信息的源码,先查看/etc/lsb-release文件,然后再读的其他的文件。

    2、通过命令获取

        (1)lsb_release -a   

        (2)uname -a 

         缺陷:执行命令,但有的系统找不到lsb_release命令。

    3、通过java 读配置文件来获取

        读/etc/ 下release相关文件,调研知,不同版本的linux系统中配置文件不同,



  • 相关阅读:
    2019 湖湘杯 Reverse WP
    2017第二届广东省强网杯线上赛--Nonstandard
    2019 上海市大学生网络安全大赛 RE部分WP
    2019 360杯 re wp--Here are some big nums
    MATLAB图像的代数运算
    编辑和剪绳子-头条2019笔试题
    奖品分配-头条2019笔试题
    TrajPreModel
    multiheadattention-torch
    腾讯笔试题-邻值查找
  • 原文地址:https://www.cnblogs.com/yeemi/p/7470118.html
Copyright © 2011-2022 走看看