精华内容
下载资源
问答
  • linux 线程池封装

    2014-10-10 15:58:53
    linux封装的线程池类 和 任务基类 根据具体业务继承任务基类 线程池内使用条件变量来调度任务
  • linux 串口封装

    热门讨论 2013-04-07 09:35:55
    linux 串口封装基类,包括数据接收线程,和数据处理虚函数。通过用epoll实现异步处理。该文件是压缩文件,在windows下解压,我是用eclipse for C++在linux编程实现的,该文件夹是一个工程文件。
  • linux下的json格式数据打包与解析,可用于网络交互,比较容易上手。 linux下的json格式数据打包与解析,可用于网络交互,比较容易上手。
  • linux系统封装为iso

    万次阅读 2016-03-07 15:01:34
    linux装系统大部分都会,windows装系统也会,封装可能好多人也会,但是linux封装应该就会的少了,而且百度linux封装,大部分都推荐的是Remastersys,这个不但sourceforge上面的文件删除了,而且连ubuntu官网的wiki也...

    linux装系统大部分都会,windows装系统也会,封装可能好多人也会,但是linux封装应该就会的少了,而且百度linux封装,大部分都推荐的是Remastersys,这个不但sourceforge上面的文件删除了,而且连ubuntu官网的wiki也没有更新,也是不能用的,还有传说中的官网http://www.remastersys.com/ubuntu 也变成了一个其他网站,英语不好,看不懂是什么,但是反正不是官网了。
    说了那么多就是说百度上面搜到的都不能用了,最起码我没搜到有用的,然后google搜,找到了
    http://www.linuxrespin.org/
    然后找到了github,
    https://github.com/chamuco/respin
    里面可以看到只支持debian和ubuntu,我用的linuxminit测试了下,也是可以封装的。封装后的系统grub界面很漂亮,和原来的不一样,同样可以使用。
    respin的使用命令比较简单,

    展开全文
  • TsTools SDK,对TS流进行处理,移植于LINUX,封装为API. 对TS进行解吸获取ES原数据. TS打包,解包.
  • Linux创建模板封装虚拟机

    千次阅读 2018-06-08 14:42:40
    本节介绍了封装(seal) Linux 虚拟机和 Windows 虚拟机的方法。封装就是在基于虚拟机创建模板前,把只对特定虚拟机有效的信息删除的过程。这可以防止在通过同一个模板创建多个虚拟机时,相同的信息出现在 不同的...

        本节介绍了封装(seal) Linux 虚拟机和 Windows 虚拟机的方法。封装就是在基于虚拟机创建模板前,把只对特定虚拟机有效的信息删除的过程。这可以防止在通过同一个模板创建多个虚拟机时,相同的信息出现在 不同的虚拟机上(这些信息在不同的虚拟机上需要有所不同)。同时,封装也可以保证相关功能的确定性,例如保证 vNIC 的顺序是可以预测的。

        有两种方法封装一个 Linux 虚拟机:手工封装或使用 sys-unconfig 命令。当手工封装一个 Linux 虚拟机时,您需要在虚拟机上创建一个文件。这个文件作为一个标记,指示了在虚拟机下一次启动时需要进行的多个配置任务。sys-unconfig 命令会自动化这个过程。但是,无论使用这两个方法中的哪一个,您都需要在虚拟机上手工删除那些只适用于特定虚拟机的文件。使用这两个方法封装 Linux 虚拟机的结果是相同的。
    一. 手动封装 Linux 虚拟机来为创建模板做准备
        1、登录到虚拟机。
        2、把这个系统标识为重新配置:
          # touch /.unconfigured
        3、删除 ssh 主机密钥:
         # rm -rf /etc/ssh/ssh_host_*
        4、在 /etc/sysconfig/network 中设置 HOSTNAME=localhost.localdomain。
        5、删除 /etc/udev/rules.d/70-*:
         # rm -rf /etc/udev/rules.d/70-*
        6、从 /etc/sysconfig/network-scripts/ifcfg-eth* 中删除 HWADDR 行和 UUID 行。
        7、另外,从 /var/log 中删除所有日志,从 /root 中删除 build 日志。
        8、关闭虚拟机:
         # poweroff
        注:虚拟机现在已被封装,并可以被用来创建模板。您可以使用这个模板部署 Linux 虚拟机,不会有与配置文件相关的冲突。


    二. 使用 sys-unconfig 封装一个 Linux 虚拟机
        1、登录到虚拟机。
        2、删除 ssh 主机密钥:
         # rm -rf /etc/ssh/ssh_host_*
        3、在 /etc/sysconfig/network 中设置 HOSTNAME=localhost.localdomain。
        4、从 /etc/sysconfig/network-scripts/ifcfg-eth* 中删除 HWADDR 行和 UUID 行。
        5、另外,从 /var/log 中删除所有日志,从 /root 中删除 build 日志。
        6、请运行以下命令:
         # sys-unconfig
        注:虚拟机被关机。它已被封装,并可用来创建模板。您可以使用这个模板部署 Linux 虚拟机,不会有与配置文件相关的冲突。

    参考:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_virtualization/3.6/html/virtual_machine_management_guide/sect-sealing_virtual_machines_in_preparation_for_deployment_as_templates



    展开全文
  • 对LTP进行java调用封装,对Linux、Windows系统下分别进行适配
  • 定义一个linux处理类 ''' def __init__(self, hostname, password, port=22, username='root'): ''' 构造器 :param hostname: 主机ip,type:str :param password: 密码,type:str :param port: 端口,type...
  • linux封装的mysql操作

    2017-06-04 16:34:15
    mysql
  • linux md5 算法封装

    2016-07-08 11:50:40
    给文件封装linux的md5摘要算法,实现了,对字符串和文件求MD5值的算法封装,其中包括源代码和可执行文件,
  • linux socket 函数封装

    千次阅读 2013-01-09 14:51:30
    对于在服务器端编写网络程序的人来说,这些函数进行封装能大大提高编程效率,而且还能简化编程流程,提高代码可复用性。 2、socket函数封装 首先,介绍一下socket函数用到的基本结构变量: struct sockaddr_in ...

    1、linux socket函数介绍

    最近一直在看《unix网络编程》,有感于书中例子给出的创建tcp连接时对socket函数的封装。对于在服务器端编写网络程序的人来说,将这些函数进行封装能大大提高编程效率,而且还能简化编程流程,提高代码可复用性。

    2、socket函数封装

    首先,介绍一下socket函数用到的基本结构变量:
    struct sockaddr_in server;       
    server.sin_family = AF_INET;       //簇
    server.sin_port = htons(PORT);     //端口
    server.sin_addr.s_addr = htons(INADDR_ANY);  //ip地址

    下面依次对各函数进行封装,针对创建TCP连接:

    2.1、socket()

    int Socket(int domain, int type)
    {
            int sockfd = 0;
            sockfd = socket(domain, type, 0);
            if (sockfd < 0)
             {
                     return -1;
             }
             
              return sockfd;
    }

    在创建socket成功后,一般要对套接口设定一些选项,这儿根据实际情况自行设定。

    2.2、bind()

    int Bind(int sockfd, const struct sockaddr *net_addr, socklen_t addrlen)
    {
        if (!net_addr)
        {   
            printf("when binding, net_addr is NULL\n");
            return -1; 
        }   
    
        if (bind(sockfd, net_addr, len) < 0)
        {   
            printf("fail to bind ipaddr\n");
            return -1; 
        }   
    
        return 0;
    }

    2.3、listen()

    int Listen(int sockfd, int listenNum)
    {
        if (listen(sockfd, listenNum) < 0)
        {
            printf("fail to listen socket\n");
            return -1;
        }
    
        return 0;
    }

    在这步之后,我们绝大多时候会将套接口设为非阻塞性套接口,这样在监听套接口时,不用阻塞性监听,设置非阻塞性套接口如下:
    int setNonBlock(int sockfd)
    {
        int opt = 0;
        opt = fcntl(sockfd, F_GETFL);
        if(opt < 0)
        {
            printf(  "fcntl(sock,GETFL) failed");
            return -1;
        }
    
        opt = opt|O_NONBLOCK;
        if(fcntl(sockfd, F_SETFL, opt) < 0)
        {
            printf(  "fcntl(sock,SETFL,opts) failed");
            return -1;
        }   
        
        return 0;
    }

    当然最重要是如下两个函数了:

    2.4、read()

    int Read(int fd, void *sp, size_t size_len)
    {
        int readlen = 0;
        int rn = 0;
        while (readlen < size_len)
        {
            rn = read(fd, sp + readlen, size_len - readlen);
            if (rn < 0)
            {
                if (errno == EAGAIN || errno == EINTR)   //如果设置了非阻塞,返回errno 为EAGAIN,继续读;如果遇到中断也继续读
                {
                    continue;
                }
                else
                {
                    return -1;
                }
            }
            else if (rn < size_len)
            {
                if (rn == 0)
                {
                    //no data
                    return readlen;
                }
                readlen += rn;
            }
            else
            {
                readlen = rn;
            }
        }
    
        return readlen;
    }
    

    2.5、write()

    int Write(int fd, void *sp, size_t size_len)
    {
        int sendlen = 0;
        int sn = 0;
    
        while (sendlen < size_len)
        {
            sn = write(fd, sp + sendlen, size_len - sendlen);
            if (sn < 0)
            {
                if (errno == EAGAIN || errno == EINTR)   //如果设置了非阻塞,返回errno 为EAGAIN,继续写;如果遇到中断也继续写
    
                {
                    continue;
                }
                else
                {
                    return -1;
                }
            }
            else if (sn < size_len)
            {
                sendlen += sn;
            }
            else
            {
                sendlen = sn;
            }
        }
    
        return sendlen;
    }

    这就是在学习中,对socket常用的函数的封装,记录下来供自己后序学习,在read和write函数中,还应该有一个重要的考虑,我们常常在write或者read的时候,或许由于对方数据并没有及时发送,造成一直循环读或者写,所以可以加一个超时判断机制,当在多长时间内读写还没完成时,返回错误,以免造成不必要的效率的浪费。


    展开全文
  • linux C语言Json封装数据-附件资源
  • 基于linux虚拟机的封装

    千次阅读 2018-07-30 21:27:25
    系统封装一个完整的系统以拷贝的形式打包,然后用粘贴的形式安装在另外一个系统盘上,而正常安装则是通过Setup程序进行安装。它的好处是可以大大地节约时间并且可以在里面加入自己喜欢的软件等操作。 2.什么是...

    在封装虚拟机之前,我们应当先了解下面几个概念。
    1.什么是封装系统
    系统封装是将一个完整的系统以拷贝的形式打包,然后用粘贴的形式安装在另外一个系统盘上,而正常安装则是通过Setup程序进行安装。它的好处是可以大大地节约时间并且可以在里面加入自己喜欢的软件等操作。
    2.什么是虚拟机?
    虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。
    封装系统为什么要使用虚拟机?
    使用虚拟机封装系统对实体机不会造成任何损害,因为系统封装会对母系统进行 封包 压缩 安装 重启,多项操作都可以在虚拟机里面实现。

    ###############虚拟机封装

    我们使用的镜像是RHEL6.5的镜像,我们就应用此镜像安装虚拟机并进行封装。下面是安装与封装的具体步骤:
    (1)在真机上准备好redhat发行版本之rhel6.5的镜像

    (2)真机终端输入命令:virt-manager(进入虚拟机管理界面)
    (3)点击左上角的显示器图标,进入创建虚拟机界面,选择本地镜像安装,并添加镜像路径。
    这里写图片描述
    这里写图片描述
    (4)设置内存,默认内存为1GB(1024MB)。我们将内存变为512MB。
    注意:虚拟机的内存过大,会过多占用物理机(真实主机)的内存,当有多个虚拟机同时存在时,消耗过度,会拖慢真机运行速度。
    512MB为创建虚拟机的最小内存,798MB是界线内存,即内存大于798MB,就会自动创建图形界面。
    这里写图片描述
    (5)设置虚拟硬盘的大小,默认为9GB,我们可以多分配一点,例如20GB.
    这里写图片描述
    (6)设置虚拟主机名称
    这里写图片描述
    (7)这时就会进入到环境中,选择第一个选项。
    这里写图片描述
    (8)disc检查界面,选择跳过。
    这里写图片描述
    (9)这时就进入了欢迎界面
    这里写图片描述
    (10)选择自己要使用的操作语言(English)和键盘(美式键盘)
    这里写图片描述
    这里写图片描述
    (11)进入警告界面,选择初始化所有(Re-initialize all)
    这里写图片描述
    (12)选择时区为亚洲上海
    这里写图片描述
    (13)输入超级用户密码(用户名默认为:root),密码太简单会有提示,忽视并应用即可。
    这里写图片描述
    这里写图片描述
    (14)磁盘分区,选择ok即可。
    这里写图片描述
    (15)选择 Write changes to disk (写入改变)
    这里写图片描述
    这里写图片描述
    (16)选择reboot
    这里写图片描述
    至此,就是我们用RHEL6.5安装虚拟机的所有步骤了。安装结束我们开始封装
    步骤:
    (1)紧接上面的reboot后,会进入我们没有图形界面的终端(俗称黑框框),登陆系统。
    这里写图片描述
    (2)删除/etc/udev/rules.d下面的所有70-*开头的文件,以保证子快照虚拟机的eth0网卡能够正常使用。
    这里写图片描述
    (3)更改主机名
    (1)hostname server(临时修改)
    (2)vi /etc/sysconfig/network(永久修改,重启后才会有效。
    这里写图片描述
    (4)配置网络参数
    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    这里写图片描述
    这里写图片描述
    (5)配置yum源
    (1)在真机上将RHEL6.5的镜像使用mount命令挂载到/var/www/html下的source6.5目录中,也可vim /etc/rc.d/rc.local永久挂载。
    这里写图片描述
    (2)修改虚拟机的yum源。
    这里写图片描述
    (3)虚拟机输入yum repolist查看yum源是否配置成功。
    这里写图片描述
    (6)yum源配置好了之后,就可以安装一些没有的软件,命令,服务等。
    例如:yum install vim lftp httpd openssh-clients -y
    注意:如果yum repolist出来的是0个安装包
    1.写入的yum源有问题
    2.在物理主机上开启httpd,关闭火墙
    3.物理主机镜像没有挂载
    (7)进行本地域名解析:vim /etc/hosts
    这里写图片描述
    (8)关闭防火墙
    [root@server1 ~]# chkconfig iptables off
    [root@server1 ~]# /etc/init.d/iptables stop
    这里写图片描述
    (9)关闭selinux(注意这里的enforcing—>disabled修改不需要reboot使生效,封装即可)
    这里写图片描述
    (10)poweroff该虚拟机或者在真机安装虚拟机界面forceoff该虚拟机。
    这里写图片描述
    至此虚拟机的封装就结束了,ckd即为封装完毕的虚拟机(ckd虚拟机生成的.qcow2即为母盘)
    注意:封装好的虚拟机不能再打开,不然所有用此虚拟机的母盘创建的虚拟机都会挂掉,又要重新封装,建议删除掉母盘虚拟机的快捷方式,但不删除母盘(记住:不要勾选对号)。
    这里写图片描述

    ##################用封装好的虚拟机母盘创建新虚拟机

    在物理主机上:
    (1)查看被删除快捷方式的虚拟机的母盘是否存在并查看大小
    cd /var/lib/libvirt/images/
    ls
    du -h rhel6.5.qcow2 #查看母本大小
    这里写图片描述
    (2)压缩母本并清除母本的缓存
    [root@foundation9 images]# yum provides */virt-sysprep #查询软件包
    [root@foundation9 images]# yum install libguestfs-tools-c-1.32.7-3.el7.x86_64
    [root@foundation9 images]# virt-sparsify –compress rhel6.5.qcow2 new.qcow #压缩母本(压缩后可以便于拷贝)
    [root@foundation9 images]# virt-sysprep -d base # 清空母本的缓存
    注意:在删除母本虚拟机的快捷方式前就应清除母本的缓存。
    这里写图片描述
    (3)用母盘创建子镜像(快照)并查看快照信息
    这里写图片描述
    这里写图片描述
    (4)用生成的快照创建虚拟机
    (1)选择使用快照安装。
    这里写图片描述
    (2)选择刚才生成的快照
    这里写图片描述
    (3)选择LINUX操作系统及其版本
    这里写图片描述
    (4)选择内存及主机名
    这里写图片描述
    这里写图片描述
    (5)生成虚拟机成功(输入用户名及密码进入系统)
    这里写图片描述
    (6)需要对虚拟机主机名,IP地址。

    展开全文
  • linux epoll的封装

    热门讨论 2010-01-14 09:51:47
    一个Linux下对epoll封装的类,方便初学者
  • Linux如何自己封装命令

    千次阅读 2017-09-19 15:48:50
    Linux如何自己封装一些命令之前一直不明白为什么有时候别人一个命令就可以做很多事,或者他的命令和我的怎么不太一样呢?最近一个同事告诉我了….1.打开需编辑的文件 vim ~/.bashrc 2.文件中如下写(举个栗子) ...
  • linux socket 封装HTTP请求数据

    千次阅读 2017-03-18 14:13:24
    linux socket 编写客户端,模拟http get请求发送数据 测试环境 ubuntu 14.04 32bit client.cpp #include #include #include #include #include #include #include #include #...
  • linux环境下封装YOLOv2算法

    千次阅读 2018-05-19 21:15:29
    之前在windows环境下,以https://github.com/AlexeyAB/darknet版本进行封装linux封装也是差异不大,而且linux环境下编译工程更简单。以YOLOv2位例,主要找出test_detector函数void test_detector(char *datacfg,...
  • Zstack如何封装Windows及Linux镜像

    千次阅读 2020-03-13 00:15:26
    文章目录镜像封装目的介绍提高安装效率无人值守安装自定义配置Linux镜像封装及注意事项创建云主机系统模版配置系统模版创建镜像使用镜像创建云主机Windows virtio模式镜像封装及注意事项创建云主机添加系统镜像,...
  • 封装linux 条件互斥锁

    千次阅读 2015-07-27 23:38:30
    linux互斥锁 与 条件变量的简单封装
  • Shell封装linux命令

    千次阅读 2017-07-10 19:22:49
    服务器上的部分操作有诸多不便,所以想做一层封装,以节省时间。 问题: 1. 服务器在异地,在Win上使用SI(SourceInsight)同步代码比较麻烦。 由于服务器在异地导致同步速度特别慢。 如果直接用samba映射到Win并...
  • linux下串口操作封装类PhysicalCom,在arm linux3.2下通过集团中试
  • Linux下C语言封装

    千次阅读 2019-07-09 10:14:44
    静态库在程序编译时会被连接到目标代码中,程序运行时不再需要该静态库。 动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。 本文主要通过举例来说明在...
  • 将linux下的TsTools开源代码用VC封装成了SDK.   不过自己本来是做WEB的,这个代码结构就太惨不忍睹了.
  • Linux mysql c API封装

    千次阅读 2016-04-15 15:57:18
    mysql 是目前使用量最大的关系型数据库,在互联网公司应用非常广泛,在一些非高并发场景下应用MySQL能大幅降低开发运维和部署的成本。...下面是自己封装的c++ 风格的MySQL客户端,相对原生的c api 使用相对更加简便一些
  • 将Linux的信号量sem_t封装成事件对象

    千次阅读 2011-12-24 20:51:54
    信号量sem_t相关的一组API封装成Win32平台上的事件对象类之后,在Linux平台上就可以像使用事件对象那样,方便地进行线程同步了。 class CEventImpl { protected: /* 创建匿名信号量 `bAutoReset true ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 238,930
精华内容 95,572
关键字:

怎么将linux进行封装

linux 订阅