随笔分类 -  Linux小白系列

1 2 下一页

从一个linux白痴开始学习,记录成长的点滴,快乐源于分享。
git重要的第一步,验证相关的东西和流程
摘要:公司内部搭建了一个git代码服务器。除了是在内网以外,其它跟github是一模一样的。ssh验证这块有点麻烦,需要细细梳理一番。git的ssh验证,关键的是公钥私钥概念:公钥我看来就是一把锁,所有人都能看到(如果想看的话);私钥是锁的钥匙,不可以轻易示人。-----制造一套锁钥ssh-keygen -t rsa -C “jogger@mail.com” # 使用邮箱账号生成一套公钥密钥。注意是一套锁与钥匙。这两个东西生成后用文件形式保存在 ~/.ssh目录下,私钥对应id_rsa文件,公钥对应id_rsa.pub。-----将锁挂到门上登录github网站,个人设置中有ssh key。add上 阅读全文

posted @ 2014-02-12 16:31 jogger 编辑

linux signal 信号表
摘要:Signal Value Action Comment ------------------------------------------------------------------------- SIGHUP 1 Term Hangup detected on controlling terminal or death of controlling process SIGINT 2 Term Interrupt f... 阅读全文

posted @ 2013-02-01 11:18 jogger 阅读(716) 评论(0) 推荐(0) 编辑

glist的陷阱[转]
摘要:由于信赖glib库的高质量,所以在项目中大量的使用了glib中的glist,随着项目中内容的增加,发现会在glist的g_slice_alloc等函数中莫名其妙的随机出现invalid read等操作,造成程序coredump。索性写了一个程序,专门测试glist在多线程情况下面的特性,发现在单线程情况下可以正常运行的glist操作代码在多线程下面会出现随机coredump的情况。而这些代码在逻辑上已经是保证了线程安全。故此,得出glib的非线程安全,即使在应用层保证了线程安全,在glib的底层还是非线程安全的。这点在使用时需要注意。update:在使用glib之前,调用g_thread_in 阅读全文

posted @ 2013-01-25 14:38 jogger 阅读(246) 评论(0) 推荐(0) 编辑

error while loading shared libraries: xxx.so.x"错误的原因和解决办法 [转]
摘要:一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.所以安装共享库后要 阅读全文

posted @ 2013-01-23 17:04 jogger 阅读(275) 评论(0) 推荐(0) 编辑

非万能Makefile的万能版本 二
摘要:这个Makefile是生成二进制程序的。参考前一篇文章PREFIX=/usr/localBIN=myLIBPATH=-L$(PREFIX)/libMY_LIBS=-L../lib -lspiderMY_CFLAGS=-I../includeLIBS:=$(MY_LIBS)INCLUDE=$(MY_CFLAGS)CFLAGS=-g -Wall -O3 $(INCLUDE)INSTALL=/usr/bin/install -cLDFLAGS= -Wl,-R$(PREFIX)/lib CC=gccSOURCE=main.cOBJS:=$(patsubst %.c, %.o, $(SOURCE))DE 阅读全文

posted @ 2013-01-21 16:10 jogger 阅读(231) 评论(0) 推荐(0) 编辑

非万能Makefile的万能版本
摘要:此Makefile用来生成共享库,一个前辈写的,像他本人表示感谢。PREFIX=/usr/local #指定生成库的安装位置,当然只是程序员开发机上的位置。指定后 make install可以将库安装,app使用的时候可以指定该路径下的库文件,就能使用该库BIN=libmy.so #生成的库文件名LIBPATH=$(PREFIX)/lib #指定共享库的路径MY_CFLAGS=-I../include #头文件路径LIBS:= #可扩展lib,比如要添加glib,可以把glib路径加到这里,例如:-L../glibpath/lib -lglibINCLUDE=$(MY_CFLAGS) #可扩. 阅读全文

posted @ 2013-01-21 16:06 jogger 阅读(242) 评论(0) 推荐(0) 编辑

非万能Makefile
摘要:万能Makefile下载地址:http://ldc.usb.ve/~vtheok/cursos/ci2126/sd10/practicas/code7/Makefile测试:新建main.c写一个helloworld程序,拷贝Makefile到同级目录。直接make,通过。测试:main.c plus.c plus.h,Makefile依然可以正常工作。缺陷:没有生成共享库的功能。但该文件依然很强大,做一些简单的测试工程,使用这个足够了。 阅读全文

posted @ 2013-01-21 15:42 jogger 阅读(130) 评论(0) 推荐(0) 编辑

(转)使用xshell传输文件
摘要:原文地址http://blog.163.com/yangzhanghui_job/blog/static/179575062201271341344615/用rz,sz命令在xshell传输文件很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz首先你的Ubuntu需要安装rz.sz(如果没有安装请执行以下命令,安装完的请跳过.其它版本linux请自行安装相应软件)sudo apt-get install lrzsz(centos 5.2上 yum install lrzsz安装成功,并能正常使用)安装完毕即可使用rz,sz是便是Linux/U 阅读全文

posted @ 2012-11-20 18:56 jogger 阅读(1621) 评论(0) 推荐(0) 编辑

老张喝茶 教你同步异步 阻塞与非阻塞
摘要:老张爱喝茶,废话不说,煮开水。出场人物:老张,水壶两把(普通水壶,简称水壶;会响的水壶,简称响水壶)。1 老张把水壶放到火上,立等水开。(同步阻塞)老张觉得自己有点傻2 老张把水壶放到火上,去客厅看电视,时不时去厨房看看水开没有。(同步非阻塞)老张还是觉得自己有点傻,于是变高端了,买了把会响笛的那种水壶。水开之后,能大声发出嘀~~~~的噪音。3 老张把响水壶放到火上,立等水开。(异步阻塞)老张觉得这样傻等意义不大4 老张把响水壶放到火上,去客厅看电视,水壶响之前不再去看它了,响了再去拿壶。(异步非阻塞)老张觉得自己聪明了。所谓同步异步,只是对于水壶而言。普通水壶,同步;响水壶,异步。虽然都能干 阅读全文

posted @ 2012-09-27 11:52 jogger 阅读(9025) 评论(41) 推荐(37) 编辑

小白一步一个脚印,手把手,教你安装使用gsoap
摘要:安装去官网拿到gsoap安装包。作者使用的gsoap_2.8.10.zip。unzipgsoap_2.8.10.zip --解压安装包。./configure --检查安装环境。 如果失败(出现error的),根据错误提示,安装相关的包。如果安装了openssl,还提示找不到-lssl,用root安装yum install openssl-devel(如遇其它,参考这篇博客http://blog.csdn.net/learnhard/article/details/5154262)make --编译。make install --安装。记得多看看README NOTE INSTALL这些文件, 阅读全文

posted @ 2012-09-17 19:12 jogger 阅读(726) 评论(0) 推荐(0) 编辑

小白对apache的迷惑
摘要:本文简单说明一下apache的白痴级问题1 apache与httpd的关系根据网上说的,纷繁复杂。不过更愿意相信的还是httpd是apache关于http服务的单个进程。意思就是httpd属于apache,apache包含且不仅仅包含httpd。2chkconfig --levels 235 httpd on开机运行级别2,3,5的时候,随机启动httpd。(一点关于chkconfig的问题:由chkconfig 引发的联想——怎么查看程序是否已经安装/成功安装)3 手动启动httpd /usr/sbin/httpd /etc/init.d/httpd start service httpd 阅读全文

posted @ 2012-08-27 10:38 jogger 阅读(263) 评论(0) 推荐(0) 编辑

由chkconfig 引发的联想——怎么查看程序是否已经安装/成功安装
摘要:某天需要运行chkconfig,root登录依然找不到该命令。[root@localhost ~]# chkconfigbash: chkconfig: command not found为什么,先看看chkconfig是不是安装过了?[root@localhost ~]# rpm -q chkconfigchkconfig-1.3.30.1-2是安装过的,安装到哪里了?[root@localhost ~]# whereis chkconfigchkconfig: /sbin/chkconfig /usr/share/man/man8/chkconfig.8.gz/sbin/chkconfig 阅读全文

posted @ 2012-08-26 13:46 jogger 阅读(891) 评论(0) 推荐(0) 编辑

svn 小白操作
摘要:从版本库中拿了一份代码,结构为 (前缀忽略)1/10/100现在新建了一个文件夹1/10/101/*.* 里面有若干文件。就是说现在新建了一个101文件夹,而且101跟100是同级的。1 去到 10目录: svn add 101 ,然后101目录下就有了.svn文件夹2 101目录中: svn ci -m "add 101", 将整个目录中所有文件提交上去3 101中: svn delete a, 将代码库中的a文件标记为删除。注意:此时并没有真正删除,只是标记了一下。如果想真正删除,还得执行 svn ci4 101中: svn ci -m "delete a&q 阅读全文

posted @ 2012-08-23 15:34 jogger 阅读(324) 评论(0) 推荐(0) 编辑

SQL 记点
摘要:sql语句:select `to`, `from` from history group by `to`, `from`;查询to from两字段中所有出现过的组合,并且没有重复。 阅读全文

posted @ 2012-08-22 14:56 jogger 阅读(201) 评论(0) 推荐(0) 编辑

C使用zeromq完成有意义的通讯
摘要:本文尝试使用zeromq完成一项简单的网络传送任务。(小白使用开源共享库 (C使用zeromq)该篇已经完成了一个简单的可运行的基本程序,本篇基于此改造而来)main.c修改后的内容如下:#include "zhelpers.h"int main (void){ void *context = zmq_init (1); // Socket to talk to clients void *responder = zmq_socket (context, ZMQ_REP); zmq_bind(responder, "tcp://*:5559"); whi 阅读全文

posted @ 2012-06-14 20:20 jogger 阅读(2165) 评论(0) 推荐(0) 编辑

小白使用开源共享库 (C使用zeromq)
摘要:本篇介绍如何创建C服务器程序并且使用一个开源共享库——zeromq(简称zmq)zmq的安装方法参考:centos安装zeromq(0mq, ZeroMQ, ØMQ)1 创建文件夹 mkdir use_zmq2 cd use_zmq去到新文件夹下。同样新建use_zmq/appuse_zmq/libuse_zmq/include三个文件夹3 zmq成功安装后,/usr/local/include 会有zmq的头文件,/usr/local/lib会有zmq的库文件 将头文件拷贝到use_zmq/include 库文件拷贝到use_zmq/lib4 app下新建main.c#includ 阅读全文

posted @ 2012-06-13 11:32 jogger 阅读(2129) 评论(0) 推荐(0) 编辑

centos安装zeromq(0mq, ZeroMQ, ØMQ)
摘要:1 下载安装包Linux shell中 wget http://download.zeromq.org/zeromq-2.1.11.tar.gz2 首先要做的查看README(绝大部分开源软件都有README,而且非常重要,记得都要看看) README当中提到安装方法参考INSTALL INSTALL中如下:The simplest way to compile this package is:1. `cd' to the directory containing the package's source code and type`./configure' to co 阅读全文

posted @ 2012-06-12 18:52 jogger 阅读(1359) 评论(1) 推荐(0) 编辑

小白学makefile之三
摘要:本文简单介绍共享库的生成与使用当前目录下有三个文件,我们稍后会将plus.c编译成为共享库so文件以供main调用$lsmain.c plus.c plus.hmain.c#include <stdio.h>#include "plus.h"intmain(int argc, char** argv){ int a = 10; int b = 5; printf("a + b = %d\n", plus(a, b)); return 0;}plus.c// plus.cint plus(int a, int b){ return a+b;}p 阅读全文

posted @ 2012-06-06 16:15 jogger 阅读(246) 评论(0) 推荐(0) 编辑

小白学makefile之二
摘要:本文介绍比入门级稍高的Makefile写法和静态库的生成及使用。先看一个目录结构lib // 库 plus.c reduce.c Makefileinclude plus.h reduce.happ // 主体程序 main.c // 很多开源代码都有一个或者多个main.c,而且里边往往实现了 main 函数。某想这可能是为了方便读者找到入口函数 MakefileMake.defines // app和lib中的两个Makefile会依赖此文件在这个实例中,我们会把plus.c reduce.c生成一个静态库,提供给main.c文件来使用。某发现很多开源的代码目录下都有一个li... 阅读全文

posted @ 2012-06-06 13:23 jogger 阅读(691) 评论(0) 推荐(0) 编辑

小白学makefile之一
摘要:makefile的重要不言自明,不懂的话可以去网上搜下资料,这里不再讲述。以下小白开始学习makefile:某认为买几本基础的编程书籍挺重要。想要学好linux尤其是linux下编程的话还是需要下点本钱的,(喂,老兄,这身打扮就说你是孙悟空喽,下足本钱嘛,头发都开叉了,有点专业精神!@#¥——大话西游·菩提游客)这样才有专业精神,书籍很重要,可以帮我们节约很多的时间。要注意时间就是金钱,节约时间就是节约金钱倒是次要,提高效率才是真的:) 这里不是说网上资料不全(虽然有时候确实不全),浪费时间的情况包括:1 搜索关键字不准确,定位百转千回;2 网络状况不稳定,比如有时候谷歌访问受限;3 阅读全文

posted @ 2012-05-15 14:10 jogger 阅读(2067) 评论(0) 推荐(1) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示