Linux
文章平均质量分 56
Joe_vv
这个作者很懒,什么都没留下…
展开
-
linux 压缩文件的命令总结
请点击转载 2013-01-05 17:39:24 · 735 阅读 · 0 评论 -
strtok()函数和strtok_r()函数比较
strtok函数用于字符串分割,但是该函数的缺点是会修改原字符串,并且最重要的是该函数不支持嵌套,由于函数内部使用了静态变量。而Unix下的strtok_r()函数是比较安全的一个函数,它可以用于嵌套!具体的用法及原理见:C中strtok()函数和strtok_r()函数strtok()和strtok_r()原创 2013-04-15 13:21:55 · 1584 阅读 · 1 评论 -
libtool: Version mismatch error. 解决方法
在编译一个软件的时候,在 ./configure 和 make 之后可能会出现如下错误:libtool: Version mismatch error. This is libtool 2.4.2 Debian-2.4.2-1ubuntu1, but thelibtool: definition of this LT_INIT comes from libtool 2.4.libt转载 2013-04-03 15:21:44 · 21158 阅读 · 0 评论 -
2012-08-22 Linux下原子操作
今天在开发的过程中遇到这么一个情形,有两个线程分别对一个 map 中的同一变量进行写操作(其中一个是加1操作,另一个是赋零操作),这样会很不安全,通常情况下大家肯定会首先考虑用互斥锁,但是使用线程互斥锁之后性能会下降很多,那么我就选择了原子操作,而原子操作的性能比互斥锁高很多,这里有一篇文章讲到它们之间的性能比较:http://imcc.blogbus.com/logs/179131763.htm原创 2013-02-01 15:30:36 · 1953 阅读 · 1 评论 -
apt-get install 报 E: Sub-process /usr/bin/dpkg returned an error code (1) 错
如果用 apt-get install package_name 安装软件的时候报 E: Sub-process /usr/bin/dpkg returned an error code (1) 错误的话,解决方法如下: 1. 删除 /var/lib/dpkg/info/ 目录下与 package_name 相关的文件:rm -f /var/lib/dpkg/info/package_n原创 2013-01-28 17:17:33 · 2956 阅读 · 0 评论 -
Deb包的制作
deb 格式是Debian 系专用安装包格式,配合APT 软件管理系统,成为了当前在linux 软件中非常流行的一种安装包。Debian和ubuntu软件安装用的都是deb包。但是很多人制作deb包时,都是从rpm转为deb,或者使用dpkg -b进行转换。虽然这两种方法可以制作出来deb,但是显然很粗糙,今天介绍一下正规方法:使用debhelper 制作d转载 2013-01-07 16:50:56 · 2210 阅读 · 0 评论 -
Linux 更新内核(debian)
Linux 更新内核,首先下载源码包,编译好内核,然后制作deb包,如:linux-image-3.4.31.joe_1_i386.deb1. dpkg安装内核包dpkg -i linux-image-3.4.31.joe_1_i386.deb2. 修改/boot/grub/menu.lst以免升级后内核起不来,将等待时间设置为3秒以上,到时候可以选择从哪个内核启动原创 2013-09-09 14:33:19 · 3120 阅读 · 0 评论 -
制作deb包
由于需要自己手动制作deb包,上网搜索了不少的资料,总结一下,方便日后温习!deb包的制作方法有: 1. 使用checkinstall方法创建deb包:checkinstall不仅可以生成deb包,还可以生成rpm包,使用简单,但是不灵活,功能粗糙,只做介绍,不推荐使用。$ tar xvjf pcre-8.32.tar.bz2 // 解包$ cd pcr原创 2013-03-26 17:06:40 · 1813 阅读 · 0 评论 -
使用 GDB 调试 core dump 文件
上次有个客户的设备出现了引擎挂掉的现象,其中有一次挂掉之后自己没有起来,通过查看日志得知是出现了段错误,但是由于日志提供的信息太少了,我使用反汇编跟踪了 2 天,终于找到段错误的地方,但是仍然没有找到具体是哪句出现段错误,还是不能解决问题。于是,决定在发布的 release 打开 core dump 功能,当出现段错误之后会将一些重要的信息输出到 core 文件。 于是上网找了很原创 2013-01-30 14:31:28 · 5102 阅读 · 0 评论 -
Ubuntu下为Apache简单配置SSL的方法(HTTPS的实现)
1. 启用 ssl 模块sudo a2enmod ssl2. 安装opensslsudo apt-get install openssl3. 创建CA签名(不使用密码去除-des3选项)openssl genrsa -des3 -out server.key 10244. 创建CSR(Certificate Signing Request)openssl req -ne转载 2015-03-16 11:44:25 · 17939 阅读 · 0 评论 -
vsftpd 错误:530 and 500 错误解决方法
VSFTP 530 Login incorrect And 500 OOPS: vsftpd: refusing to run with writable anonymous root 错误的解决方法 530 Login incorrect :在文件中限制匿名用户,做如下设置:anonymous_enable=NOuserlist_enable=YESuserli转载 2014-03-28 15:02:43 · 26412 阅读 · 3 评论 -
在 Ubuntu 下如何安装 vsftpd FTP?
vsftpd 是一个对 UNIX 系统遵循 GPL 协议的 FTP 服务器,包括 Linux。它安全而且速度非常快。本教程将告诉你如何在 Linux 系统中搭建自己的 FTP 服务器。 1. 安装 vsftpd。sudo apt-get install vsftpd 2. 替换配置文件。用文本编辑器打开 vsftpd.conf 配置文件,一般在 /etc 目录下。翻译 2014-03-28 14:50:56 · 1251 阅读 · 0 评论 -
如何用 Pytbull 测试 suricata?
如何用 Pytbull 测试 suricata? 在你安装完 IDS/IPS 并且能运行的时候,你可能想知道它是否能正常的记录日志或者丢弃恶意的数据包。那么,我们就可以使用一个基于灵活得 IDS/IPS 测试框架的 python 脚本 --- Pytbull,它附带 300 多个测试,9个模块,涵盖了大范围的攻击(clientSideAttacks, testRules,翻译 2014-03-28 13:57:36 · 7609 阅读 · 1 评论 -
Linux 下 popen 函数引起的僵尸进程 defunct 以及解决办法
在使用 popen 函数的时候,如果不注意的话,可能会引起僵尸进程 defunct 的存在,虽然该进程不占用内存和 CPU,但是会在进程任务管理树上占用一个宝贵的节点。这样就造成了进程名额的资源浪费,所以一定得处理僵尸进程! 下面以 python 为例来说明:python 脚本如下(zombie.py):#!/usr/bin/env python#-*-encoding:UTF-原创 2014-03-27 16:36:03 · 16679 阅读 · 0 评论 -
Debian下配置telnet服务器【转】
Debian下配置telnet服务器:1. 安装必要软件包:apt-get install xinetdapt-get install telnetd2. 创建并编辑配置文件:vi /etc/xinetd.d/telnet并在配置文件中添加以下内容:service telnet { disable = no flags = REUSE转载 2014-02-12 20:31:57 · 3349 阅读 · 2 评论 -
C/C++ error: storage size of ‘tv’ isn’t known错误解决方法
使用时间函数 gettimeofday() 时报错 “error: storage size of ‘tv’ isn’t known”,代码如下:#include #include #include #include int main(){ struct tim tv; struct timezone tz; gettimeofday (&tv , &tz); p原创 2013-12-11 19:13:14 · 25025 阅读 · 0 评论 -
GRUB - Debian 6 下无/boot/grub/menu.lst
GRUB是一个多重操作系统管理器,用于引导不同的系统。在Debian 6 以前 GRUB的版本是 v1,到了Debian 6之后,GRUB的版本就升级为v2,而配置v1与v2有着比较大的区别:配置grub v1:配置文件是 /boot/grub/menu.lst,在Debian系统下,grub的配置文件在你安装完一个新的内核后是会自动更新的,自动调用 update-grub 命原创 2013-05-10 13:17:10 · 5295 阅读 · 0 评论 -
解决怪异的Linux脚本无法执行问题
在实际的工作中我们经常会用到Linux的Shell脚本或者其他的脚本语言来帮助我们更好的完成工作,但是有时候,我们也会碰到一些很古怪的问题。比如,下面这样的问题:我写了一个python的脚本,来求两个集合的差集,但是执行的时候发现报错了。tonydeng@nexus-service:statisticus $ ./difference_set.py : 没有该文件或目录on转载 2013-05-16 17:56:11 · 3880 阅读 · 0 评论 -
[转]Linux tcpdump命令详解
看这里:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.htmlhttp://www.cnblogs.com/yc_sunniwell/archive/2010/07/05/1771563.html转载 2013-11-27 20:02:19 · 991 阅读 · 0 评论 -
error: expected declaration specifiers or '...' before ***
编译时报错:error: expected declaration specifiers or '...' before ***这个原因是由于头文件包含顺序有误导致的,如果a.h中#include b.h而b.h中的函数声明中用到了a.h中的结构体或者typedef,那么就会出现在包含b.h的时候a.h中的结构体或者typedef还没有声明,从而陷入错误,可以把结构体或者typedef原创 2013-09-10 16:51:41 · 66748 阅读 · 2 评论 -
Starting NFS common utilities: statd failed!解决方法
在装完debian6系统后,重新编译了3.10.5的内核,安装完新内核后,重启系统,发现停在Starting NFS common utilities: statd很久,然后接下来出现 failed 上网找了好些资料,最后发现原因是由于没有配置本地回环接口lo,只要编辑/etc/network/interfacesvi /etc/network/interfaces在该文件中添原创 2013-08-14 09:27:44 · 3470 阅读 · 0 评论 -
libtool version mismatch error
在64位debian6.0下编译某软件时报如下错误:libtool: Version mismatch error. This is libtool 2.2.6 Debian-2.2.6a-4, but thelibtool: definition of this LT_INIT comes from libtool 2.2.6b.libtool: You should recreate翻译 2013-08-13 13:52:30 · 4903 阅读 · 1 评论 -
使用apt-get时可能报错:E: Could not perform immediate configuration on already unpacked 'mountall'.解决方法
在使用apt-get安装软件包时可能会出现类似如下错误:E: Could not perform immediate configuration on already unpacked 'mountall'. Please see man 5 apt.conf under APT::Immediate-Configure for details.解决方法:apt-get install原创 2013-08-01 21:10:24 · 6060 阅读 · 3 评论 -
在使用apt-get安装报错:To continue type in the phrase 'Yes, do as I say!' ?] 解决方法
在使用apt-get安装软件包时可能会出现类似如下错误:WARNING: The following essential packages will be removed.This should NOT be done unless you know exactly what you are doing! sysvinit26 upgraded, 63 newly installed,原创 2013-08-01 21:03:42 · 11916 阅读 · 4 评论 -
E: Sub-process /usr/bin/dpkg returned an error code 问题的解决办法
在安装软件时会出现类似如下错误(debian系统):Errors were encountered while processing: udev mountall plymouth dbus plymouth-theme-ubuntu-textE: Sub-process /usr/bin/dpkg returned an error code (1)解决方法如下:原创 2013-08-01 21:00:36 · 5932 阅读 · 2 评论 -
dpkg: error processing /var/cache/apt/archives/python-apport_2.0.1-0ubuntu9_all.deb 解决方法
如果在使用apt-get时出现类似下面错误:dpkg: error processing /var/cache/apt/archives/python-apport_2.0.1-0ubuntu9_all.deb解决方法:sudo dpkg -i --force-overwrite /var/cache/apt/archives/python-problem-report_2原创 2013-08-01 20:54:59 · 9105 阅读 · 0 评论 -
pcre3编译报错:libtool: compile: unrecognized option `-DHAVE_CONFIG_H'
在编译pcre3-8.30时报错:libtool: compile: unrecognized option `-DHAVE_CONFIG_H'libtool: compile: Try `libtool --help' for more information.make[2]: *** [pcrecpp.lo] Error 1make[2]: Leaving directory `/d原创 2013-08-01 20:33:25 · 9279 阅读 · 0 评论 -
symbol lookup error: /usr/bin/suricata: undefined symbol: htp_config_set_query_case_insensitive 解决方法
今天在成功编译suricata后运行suricata的时候,报如下错误:/usr/bin/suricata: symbol lookup error: /usr/bin/suricata: undefined symbol: htp_config_set_query_case_insensitive观察报错的symbol为htp_config_set_query_case_insens原创 2013-06-09 16:35:34 · 12621 阅读 · 0 评论 -
popen函数引发的血案 -- 64位debian 6
在使用popen()函数查看my_test.py进程数的shell命令是:ps -ef | grep '/usr/bin/python /var/test/my_test.py' | grep -v grep | wc -l 返回的结果始终是0!!!但是在终端上执行该命令的结果却又是正确的!于是只能一步一步来,先看看命令的前半部分结果是否正确,也就是使用popen()函数执行:ps原创 2013-06-07 17:50:07 · 2300 阅读 · 0 评论 -
Quilt Tutorial,修改源代码树,使用quilt重新编译
quilt的具体用法,这里介绍一篇文章:www.shakthimaan.com/downloads/glv/quilt-tutorial/quilt-doc.pdf使用quilt重新编译修改过的源码树:1. 设置环境变量:export QUILT_PATCHES=debian/patchesexport QUILT_REFRESH_ARGS="-p ab --no-time原创 2013-05-30 10:08:39 · 1520 阅读 · 0 评论 -
Linux下清除缓存 drop_caches,sysctl(备忘)
1. 用命令 free -m 查看一下内存的使用情况:然后清除缓存后再来查看一下内存的使用情况:前后对比可发现,缓存由之前的110M缩小到了25M,效果比较明显。2. 下面说一下 drop_caches:清空 pagecache:syncecho 1 > /proc/sys/vm/drop_caches或者:syncsysctl -w v原创 2013-05-29 13:19:36 · 38594 阅读 · 0 评论 -
error: implicit declaration of function ‘pthread_mutexattr_settype’ 引出GNU_SOURCE探索
这两天在做64位移植的工作,在编译某组建时报错如下:error: implicit declaration of function ‘pthread_mutexattr_settype’造成这个错误的原因网上已经说得很明白了,就是由于没有添加所需要的头文件导致的,于是找到了函数pthread_mutexattr_settype的声明(在 文件中):#ifdef _原创 2013-05-23 14:58:32 · 9974 阅读 · 2 评论 -
Debian 6,使用 insserv 代替 update-rc.d
我们都知道,在Debian 5下面设置系统启动项使用的是 update-rc.d 命令,如:/usr/sbin/update-rc.d xxx defaults 98可以参考:http://wangyan.org/blog/ubuntu-update-rc-d.html但是在 Debian 6 下面,已经没有 update-rc.d 命令了,取而代之的是:insserv 。原创 2013-05-17 17:42:15 · 7006 阅读 · 0 评论 -
Linux 2.6.36内核优化指南
Linux 2.6.36内核优化指南红色注释为禁用该选项的理由和解释。黑色注释为默认选择的选项含义解释。 其余未默认选择的选项,不做任何解释。Generalsetup --->[] Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动. 有许多设备转载 2013-10-16 16:45:40 · 2406 阅读 · 0 评论