• (OK) INSTALL CORE on Fedora 23 or CentOS 7


    -----------------------INSTALL CORE --- OK OK


    Fedora 23:

    dnf install bash bridge-utils ebtables iproute libev python procps-ng net-tools tcl tk tkimg autoconf automake make libev-devel python-devel ImageMagick help2man


    //重要,在CORE中,执行 /root/.core/configs/m-MPE-manet.imn,不能正常初始化。需要执行如下命令。

    //  http://blog.csdn.net/ztguang/article/details/51262543

    dnf install kernel-modules-extra-`uname -r`


    CentOS 7:
    yum install bash bridge-utils ebtables iproute libev python procps-ng net-tools tcl tk tkimg autoconf automake make libev-devel python-devel ImageMagick help2man


    You can obtain the CORE source from the CORE source page. Choose either a stable release version orthe development snapshot available in thenightly_snapshots directory.The-j8 argument tomake will run eight simultaneous jobs, to speed upbuilds on multi-core systems. Notice theconfigure flag to tell the buildsystem that a systemd service file should be installed under Fedora.

    [root@localhost core-4.8]# ./bootstrap.sh
    [root@localhost core-4.8]# ./configure --with-startup=systemd
    [root@localhost core-4.8]# make -j4
    [root@localhost core-4.8]# make install

    Note that the Linux RPM and Debian packages do not use the/usr/local prefix, and files are instead installed to/usr/sbin, and /usr/lib. This difference is a result of aligning with the directorystructure of Linux packaging systems and FreeBSD ports packaging.

    Another note is that the Python distutils in Fedora Linux will install the COREPython modules to/usr/lib/python2.7/site-packages/core, instead ofusing thedist-packages directory.

    The CORE Manual documentation is built separately from thedoc/ sub-directory in the source. It requires Sphinx:

    sudo yum install python-sphinx
    cd core-4.8/doc
    make html
    make latexpdf
    -----------------------INSTALL CORE --- OK OK



    -----------------------Test CORE

    To test that the CORE Network Emulator is working, start the CORE daemon and the GUI.

    [root@localhost core-4.8]# pwd
    /opt/tools/network_simulators/core/core-4.8

    [root@localhost core-4.8]# /etc/init.d/core-daemon start
    [root@localhost core-4.8]# core-gui

    [root@localhost core-4.8]# ls /tmp/pycore.56386/
    n1                    n1.xy                 n3.pid                n5.log                n7.conf/              n9
    n10                   n2                    n3.xy                 n5.pid                n7.log                n9.conf/
    n10.conf/             n2.conf/              n4                    n5.xy                 n7.pid                n9.log
    n10.log               n2.log                n4.conf/              n6                    n7.xy                 n9.pid
    n10.pid               n2.pid                n4.log                n6.conf/              n8                    n9.xy
    n10.xy                n2.xy                 n4.pid                n6.log                n8.conf/              nodes
    n1.conf/              n3                    n4.xy                 n6.pid                n8.log                servers
    n1.log                n3.conf/              n5                    n6.xy                 n8.pid                session-deployed.xml
    n1.pid                n3.log                n5.conf/              n7                    n8.xy                 state

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    关键点
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    core-svnsnap.tgz

    [root@localhost core]# pwd
    /opt/tools/network_simulators/core/core

    [root@localhost core]# gedit ./daemon/core/mobility.py
    -------------------------------------设置节点移动的时间间隔
        def runround(self):
            ''' Advance script time and move nodes.
            '''
            #ztg add
            time.sleep(6)
    -------------------------------------设置节点移动的间距
            #ztg add
            #wp = self.WayPoint(time, nodenum, coords=(x,y,z), speed=speed)
            wp = self.WayPoint(time, nodenum, coords=(x,y,z), speed=3)
    -------------------------------------
    [root@localhost core]# systemctl start squid.service
    [root@localhost core]# systemctl start docker

    [root@localhost core]# /etc/init.d/core-daemon stop
    [root@localhost core]# make uninstall ;  make clean
    [root@localhost core]# make -j4
    [root@localhost core]# make install
    [root@localhost core]# systemctl enable core-daemon
    Created symlink from /etc/systemd/system/multi-user.target.wants/core-daemon.service to /etc/systemd/system/core-daemon.service.

    problem:
    [root@n6 n6.conf]# docker info
    WARNING: bridge-nf-call-iptables is disabled
    WARNING: bridge-nf-call-ip6tables is disabled
    resolve:
    [root@localhost core]# iptables -F
    [root@localhost core]# ip6tables -F

    [root@localhost 桌面]# service core-daemon status
    Redirecting to /bin/systemctl status  core-daemon.service
    core-daemon.service - Common Open Research Emulator Service
       Loaded: loaded (/etc/systemd/system/core-daemon.service; disabled)
       Active: inactive (dead)

    [root@localhost 桌面]# cat /etc/systemd/system/core-daemon.service

        [Unit]  
        Description=Common Open Research Emulator Service  
        After=network.target  
      
        [Service]  
        Type=forking  
        PIDFile=/var/run/core-daemon.pid  
        ExecStart=/usr/bin/python /usr/local/sbin/core-daemon -d  
      
        [Install]  
        WantedBy=multi-user.target 


    Here maybe what is installed with 'make install':

        /usr/local/bin/core-gui  
        /usr/local/sbin/core-daemon  
        /usr/local/sbin/[vcmd, vnoded, coresendmsg, core-cleanup.sh]  
        /usr/local/lib/core/*  
        /usr/local/share/core/*  
        /usr/local/lib/python2.6/dist-packages/core/*  
        /usr/local/lib/python2.6/dist-packages/[netns,vcmd].so  
        /etc/core/*  
        /etc/init.d/core 


    [root@localhost core]# /usr/share/openvswitch/scripts/ovs-ctl --system-id=random start
    Starting ovsdb-server                                      [  OK  ]
    Configuring Open vSwitch system IDs                        [  OK  ]
    Starting ovs-vswitchd                                      [  OK  ]
    Enabling remote OVSDB managers                             [  OK  ]


    //Fedora 23 & CentOS 7

    [root@localhost core]# systemctl daemon-reload
    [root@localhost core]# systemctl start core-daemon.service
    [root@localhost core]# core-gui



    ----------------
    NOTE: first to run the following command if using docker.
    # systemctl start docker.service
    ----------------

    NOTE: /root/.core/configs/m-MPE-manet.imn


    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ----------------
    error:
    ----------------
      File "/usr/lib/python2.7/site-packages/docker/client.py", line 142, in _raise_for_status
        raise errors.APIError(e, response, explanation=explanation)
    APIError: 400 Client Error: Bad Request ("client version 1.10 is too old. Minimum supported API version is 1.21, please upgrade your client to a newer version")
    ----------------

    solution:
    ----------------
    # gedit /opt/tools/network_simulators/core/core/daemon/core/services/dockersvc.py
    ----------------
    if 'Client' in globals():
        client = Client(version='1.21')
    ----------------
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • 相关阅读:
    使用序列化实现对象的拷贝
    SQL连接查询深度探险
    关于ArrayList和Vector区别
    list_arrayList三种遍历性能比较
    Java过滤器与SpringMVC拦截器之间的关系与区别
    遍历map 哪种方式更加高效。
    Http请求中Content-Type讲解以及在Spring MVC中的应用
    sql语句练习50题
    在js中初始化select数据
    java浮点数剖析
  • 原文地址:https://www.cnblogs.com/ztguang/p/12646750.html
Copyright © 2020-2023  润新知