linux
文章平均质量分 72
车斗
这个作者很懒,什么都没留下…
展开
-
我的大数据开发第5章:ansible 离线安装
我的大数据开发第5章:ansible 离线安装介绍ansible是基于 python (2.7, 3.x)的一套完整的自动化执行任务模块,是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。ansible不需要单独安装客户端,也不需要启动任何服务。ansible playbook 采用yaml配置,对于自动化任务执行过一目了然。ansible组成结构:ansible: 是ansible的命令工具,核心执行工具;一次性或临时执行的操作都是通过该命令执原创 2021-02-02 15:44:05 · 441 阅读 · 0 评论 -
Win10家庭版安装 VirtualBox
Win10家庭版安装 VirtualBox需要下载并依次安装下面3个软件1)VirtualBox-6.1.10-138449-Win.exe2)Oracle_VM_VirtualBox_Extension_Pack-6.1.10.vbox-extpack3)VBoxGuestAdditions_6.1.10.iso其中 3 我没有安装,如果虚拟机是 ubuntu 桌面版可以选择安装完全部内容 之后在ubuntu虚拟机里安装iso。1 安装完毕之后需要在全局设定->扩展里安装 2。1,原创 2020-07-08 17:36:32 · 2105 阅读 · 1 评论 -
VSCode远程开发与调试java程序
VSCode远程开发与调试java程序VScode 是目前非常流行的编辑器之一,是一种基于 Electron 开发的桌面版应用。作为一种桌面软件限制了在服务器端的应用。而目前比较流行的服务器端的编辑器主要是 vim 和 emacs 。想利用 VScode 远程调试程序,需要在服务端(Linux GLIBC2.17+)安装 VScode code-server 和相应插件,本地开发客户端(Wind...原创 2020-03-02 17:38:45 · 6754 阅读 · 4 评论 -
一个跨平台的线程读写锁
一个跨平台的线程读写锁不废话,直接上代码:/*********************************************************************** * Copyright (c) 2008-2080 350137278@qq.com * * ALL RIGHTS RESERVED. * * Redistribution and us...原创 2019-11-14 18:49:20 · 596 阅读 · 0 评论 -
C实现的跨平台的线程池
C实现的跨平台的线程池绝对原创!线程池(threadpool)是这样的一种设施,初始化创建指定数目的线程,然后动态添加任务(task)到线程池的任务队列中(queue),线程池自动挑选一个线程工作者(worker)去执行这个任务(执行任务的函数在添加任务时由用户指定)。我花了半天时间,把以前的跨平台的线程池(threadpool.c)改造了一下,支持:1)Windows+vs201...原创 2019-11-12 16:00:00 · 634 阅读 · 0 评论 -
一个 epoll 连接句柄定时管理器
一个 epoll 连接句柄定时管理器当使用 epoll 作服务端框架,如果缓存了客户端到服务器的连接句柄(connfd),服务端需要管理起来,例如定时检查连接会话是否过期,自动清理连接等等。如下提供了一个 API 用于此目的。使用了 epoll 和 libevent。/***************************************************************...原创 2019-04-20 12:08:49 · 549 阅读 · 0 评论 -
centos7(el7) 离线安装 saltstack 及配置多 master
centos7(el7) 离线安装 saltstack内网机集群无法上外网,此时需要离线安装 saltstack。首先准备一台可以上外网的跳板机,配置和内网机一样的系统,为 centos7.2。登录跳板机。下载并安装:# wget http://repo.saltstack.com/yum/redhat/salt-repo-2018.3-1.el7.noarch.rpm# rpm -...原创 2018-07-05 15:29:29 · 3090 阅读 · 1 评论 -
linux用户空间链表 dhlist
linux用户空间链表 dhlistcheungmine2018-2-04/** * dhlist.h * - deque list and hash list from Linux Kernel * * from Linux Kernel * for Windows and Linux * * modified by cheungmine * 2013-4, 2018-02-0原创 2018-02-04 18:48:32 · 911 阅读 · 0 评论 -
Linux多定时器实现之三——Windows和Linux通用版
Linux多定时器实现之三——Windows和Linux通用版支持windows和linux。支持秒以下定时器。/************************************************************************ Copyright (c) 2018 pepstack, pepstack.com** This software is provid原创 2018-02-04 18:41:17 · 1302 阅读 · 0 评论 -
Linux多定时器实现之二
Linux多定时器实现之二本文为多定时器的工业级实现,实现了秒级的多定时器,时间复杂度近似O(1)。具有以下特点:新建定时器的时间复杂度降近似为O(1)。它根据定时器的超时值,将新定时器散列到hash桶中删除定时器的时间复杂度近似为O(1)能用于多线程环境多定时器的C语言代码:/******************************************原创 2018-02-03 22:22:33 · 958 阅读 · 0 评论 -
Linux多定时器的实现之一
Linux多定时器的实现之一时间管理是计算机系统的主要任务。在时间管理中,经常利用定时器处理事情:比如tcp协议中利用定时器管理包超时,视频显示中利用定时器来定时显示视频帧,web服务中利用定时器来管理用户的超时,计划任务中按时激发任务。windows系统提供了SetTimer和timeSetEvent等定时器接口,Linux中则提供了setitimer等接口。这些函数的接口很类似,大体上都是原创 2018-02-03 12:48:07 · 1603 阅读 · 0 评论 -
rhel6.4升级gcc到4.8.2
rhel6.4升级gcc到4.7.2默认的版本是4.4.7,需要升级到4.7.2$ wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2$ tar -jxf gmp-4.3.2.tar.bz2$ mkdir /usr/local/gcc$ cd gmp-4.3.2$ ./configure --prefix=/usr原创 2017-11-17 18:37:42 · 1228 阅读 · 0 评论 -
VirtualBox安装RHEL之后配置桥接网络
VirtualBox安装RHEL之后配置桥接网络原创 2014-05-21 18:15:31 · 1895 阅读 · 0 评论 -
ubuntu18.04 server 安装 tensorflow cpu 记录
ubuntu18.04 server 安装 tensorflow cpu 记录1) 下载安装 Anaconda2-5.2.0-Linux-x86_64.sh安装位置:/opt/anaconda22) 安装 # cd /opt/anaconda2/# mkdir downloads需要安装:# ./bin/pip --cache-dir=./downloads --...原创 2018-07-26 19:00:25 · 1614 阅读 · 0 评论 -
基于 epoll et 模式的 linux 实时通讯服务程序设计
基于 epoll et 模式的 linux 实时通讯服务程序设计草案设计目标设计并实现一款高性能,可无限扩展的实时通讯程序(类似腾讯 QQ 的服务或其他实时在线网游服务)。服务端是 Linux,客户端任意。要求:1)实时、高性能2)理论上无限并发连接数3)支持任意人数直接的聊天4)可以群发消息实现思路1)采用 Linux C 写 epoll edge trigger 服...原创 2018-09-06 11:37:37 · 631 阅读 · 0 评论 -
c语言序列化和反序列化
这里写自定义目录标题c语言序列化和反序列化tplut.htplut.c测试代码参考c语言序列化和反序列化网络调用,数据传输都需要把数据序列化和反序列化。杀鸡不喜欢用牛刀,自己从底层设计协议又太繁琐,难以维护和扩展。使用 tpl (http://troydhanson.github.io/tpl/)这个库,可以很方便地构造自己的协议。我采用 TLV 协议形式,即 (key,type,leng...原创 2019-05-03 20:15:08 · 11144 阅读 · 0 评论 -
无阻塞连接 socket 的linux c代码
无阻塞连接 socket 的linux c代码static int setsocketnonblock(int sfd){ int flags; flags = fcntl(sfd, F_GETFL, 0); if (flags < 0) { return -1; } return fcntl(sfd, F_SETFL,...原创 2019-05-31 18:45:07 · 496 阅读 · 0 评论 -
RedisGraph 在Ubuntu18上安装和配置
RedisGraph 在Ubuntu18上安装和配置https://github.com/RedisGraph编译RedisGraphRG编译之后是一个模块:redisgraph.soubuntu 上:# apt-get install build-essential cmake m4 automake peg libtool autoconf# git clone https://g...原创 2019-07-16 11:22:04 · 1492 阅读 · 0 评论 -
ubuntu18.04 虚拟机安装的AppArmor 错误
ubuntu18.04 虚拟机安装的AppArmor 错误打开虚拟机管理器:$ sudo virt-manager然后安装 os iso,出现 AppArmor 错误,使用下面的命令解决:$ sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/$ sudo apparmor_parser -R /et...原创 2019-07-16 16:20:13 · 1466 阅读 · 0 评论 -
snprintf 引发的问题
snprintf 引发的问题snprintf 是 C/C++ 程序中最常见的函数了,但是snprintf 在Windows和 Linux上的行为并不一致,对于跨平台的开发,有时会带来严重的缓冲区溢出问题。本文提供了一个安全检查的版本,保证了 Windows和 Linux上的行为的一致性,任何情况下不会溢出。建议用户使用 snprintf_chkd_exit 版本,任何错误导致退出程序 ...原创 2019-08-16 12:43:30 · 1140 阅读 · 0 评论 -
wordpress建设博客或电商网站之三:wordpress配置
wordpress建设博客或电商网站之三wordpress配置1 创建mysql用户和数据库wordpress以mysql管理员root登陆mysql,执行下面的脚本:DELIMITER &&CREATE DATABASE IF NOT EXISTS wordpress CHARACTER SET utf8 &&ALTER DATABASE wordpress DEFAULT CHARACTE原创 2017-02-23 14:06:11 · 4787 阅读 · 0 评论 -
RHEL6从源码安装python及其他软件包
RHEL6从源码安装python及其他软件包## get zlib-devel source and build install it$ wget --no-check-certificate http://zlib.net/zlib-1.2.8.tar.gz$ tar -zxf zlib-1.2.8.tar.gz$ cd zlib-1.2.8$ ./configure$ make && make原创 2015-04-07 18:46:17 · 1362 阅读 · 0 评论 -
利用openssl管理证书及SSL编程第1部分: openssl证书管理
利用openssl管理证书及SSL编程第1部分参考:1) 利用openssl创建一个简单的CAhttp://www.cppblog.com/flyonok/archive/2010/10/30/131840.html2) Win32平台下OpenSSL编写SSL,TLS程序http://www.cppblog.com/flyonok/archive/2011/03/24/133100.htmlch原创 2015-12-16 19:58:08 · 4499 阅读 · 0 评论 -
Linux 用户打开进程数的调整
Linux 用户打开进程数的调整原创 2015-04-18 08:57:15 · 2837 阅读 · 0 评论 -
Linux 打开句柄限制的调整
Linux 打开句柄限制的调整. 如何调整系统级和用户级设置. 如何临时调整和永久调整这些配置.原创 2015-04-18 07:59:03 · 2888 阅读 · 0 评论 -
一键安装Android开发环境
如何在Ubuntu上安装Android开发环境原创 2014-11-15 18:41:53 · 5592 阅读 · 0 评论 -
RHEL6非交互式工具sshpass和expect安装
RHEL6上安装sshpass和expect原创 2014-11-13 19:12:24 · 3070 阅读 · 0 评论 -
一键安装 gitlab7 on rhel6.4 并设置邮件发送
一键安装 gitlab7 on rhel6.4 并设置邮件发送世间本无事,庸人自扰之。书归正传,简短节说:gitlab是个好东西,但是安装手册奇烂。虽然曾经对照文档一步一步安装起来gitlab 6.x,但是,时过境迁,再也不想把时间花在这无聊的配置上。谷歌已然变成往日黄花,又无翻越墙狱之利器,只能在脑废的百度和白痴一样的Bing之间来回寻找答案。功夫不负苦心人。终于找到这个bitnami的一键安装原创 2014-08-04 12:45:38 · 11866 阅读 · 6 评论 -
nexus安装
nexus 快速安装指南1)下载nexus-2.9.2-01-bundle.zip地址:http://www.sonatype.org/nexus/2)解压redhat服务器:/opt下面出现2个目录:/opt/nexus-2.9.2-01/opt/snatype-work3)配置修改文件:/opt/nexus-2.9.2-01/conf/nexus.properties...applicatio原创 2014-09-26 16:54:17 · 2296 阅读 · 0 评论 -
RHEL6.4安装nginx
RHEL6.4安装nginx$ yum install pcre-devel$ ./configure --with-http_ssl_module --with-mail原创 2014-09-19 17:50:27 · 1967 阅读 · 0 评论 -
菜鸟玩云计算之十六:Ubuntu14.04上创建的虚拟机迁移到RHEL6.4
Ubuntu14.04上的 qemu比RHEL6.4上的版本要新,导致在Ubuntu14.04创建的Guest(RHEL6.4)虚拟机复制到RHEL6.4HOST主机上不能运行。本文解决了这个问题。原创 2014-09-19 14:56:00 · 2737 阅读 · 0 评论 -
理解 Linux 条件变量
理解 Linux 条件变量1 简介当多个线程之间因为存在某种依赖关系,导致只有当某个条件存在时,才可以执行某个线程,此时条件变量(pthread_cond_t)可以派上用场。比如:例1: 当系统不忙(这是一个条件)时,执行扫描文件状态的线程。例2: 多个线程组成线程池,只有当任务队列中存在任务时,才用其中一个线程去执行这个任务。为避免惊群(thrundering herd),可以采用条件变量同步线原创 2014-07-06 13:13:15 · 3271 阅读 · 1 评论 -
菜鸟玩云计算之廿一: saltstack之pillar
菜鸟玩云计算之廿一: saltstack之pillar参考. saltstack的入口文件分别是/srv/pillar/top.sls 与 /srv/salt/top.sls. 入口文件的意思就是,在minion“客户端”上,每次请求服务端配置的时候,它们实际上所请求的是这两个文件,虽然有很多的sls文件,但其实它们都是通过这两个文件所关联起来的。原创 2015-04-13 12:34:42 · 2042 阅读 · 0 评论 -
RHEL6安装python包tornado
RHEL6安装python包tornadotornado是使用Python开发的全栈式(full-stack)Web框架和异步网络库,最早由Friendfeed开发。通过使用非阻塞IO,Tornado可以处理数以万计的开放连接,是long polling、WebSockets和其他需要为用户维护长连接应用的理想选择。tornado 跟其他主流的Web服务器框架(主要是Python框架)不同是采用e原创 2015-04-08 15:31:14 · 1734 阅读 · 0 评论 -
linux 编译c程序与动态链接库
一个简单的例子说明如何在linux上编译c程序与动态链接库。原创 2015-11-08 15:06:12 · 3806 阅读 · 0 评论 -
一键安装gitlab7在rehl6.4上
无论如何gitlab是个好东西,但是极难安装和配置。bitnami(https://bitnami.com/)的一键安装包虽然可以解决大问题,但是仍有很多人无法配置gitlab+nginx和email发送等等问题。今天特意完整地再梳理一次。对各位读者的问题不再逐一解答。原创 2015-11-03 14:55:22 · 5975 阅读 · 4 评论 -
RHEL6.4上升级python从2.6.6到2.7.3
原始安装好的redhat6.4上的python版本是2.6.6,不能满足实际需要。升级的方法很多,从源码升级或者从rpm包升级。其中从rpm包升级相对简单。这里记录全部过程如下。准备新安装的RHEL6.4,没有安装任何其他多余的软件,配置好ISO作为本地YUM源。并且讲了python-inotify安装的方法。原创 2015-04-24 17:32:04 · 3886 阅读 · 0 评论 -
hadoop namenode格式化问题汇总
hadoop namenode格式化问题汇总(持续更新)0 Hadoop集群环境3台rhel6.4,2个namenode+2个zkfc, 3个journalnode+zookeeper-server 组成一个最简单的HA集群方案。1) hdfs-site.xml配置如下:<!-- Quorum Journal Manager HA: http://archive.cloudera.com/原创 2015-05-16 11:24:01 · 6037 阅读 · 0 评论 -
REHL5上安装salt-minion
REHL5上安装salt-minion本文适用于rhel5.4, 6.4, 7. 仅以el5.4为例。1 在线安装方式极为简单:# wget --no-check-certificate -O install_salt.sh https://bootstrap.saltstack.com# sh install_salt.sh -I以上适用于el5, el6, el7等版本。可以在/etc/yu原创 2015-05-04 19:18:12 · 2081 阅读 · 0 评论 -
daemontools安装和使用
daemontools用于自动重启进程。当某个关键服务进程崩溃,可以利用daemontools启动它。前提是安装并配置它。比如zookeeper服务,作为一个关键服务,崩溃后必须重启。下面介绍daemontools在RHEL6.4(el6)上的安装和用法。原创 2015-04-30 19:50:22 · 4767 阅读 · 1 评论