Linux
文章平均质量分 84
permike
adsfdfsadfasdfasdfsdfasdf
展开
-
Openssl使用方式整理
OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管理、对称加密和非对称加密。1、对称加密对称加密需要使用的标准命令为enc,用法如下: openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d...原创 2020-09-28 11:33:56 · 260 阅读 · 0 评论 -
netstat命令详解
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。netstat常用命令参数 1 2 3 4 5 6 7 8 9 10 ...原创 2020-02-20 10:47:48 · 499 阅读 · 0 评论 -
linux使用 supervisor 管理进程
Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。安装Supe原创 2016-06-29 15:56:43 · 2948 阅读 · 0 评论 -
linux命令行编辑快捷键
linux命令行编辑快捷键先总结几个个人觉得最有用的 ctrl + ? 撤消前一次输入ctrl + c 另起一行ctrl + r 输入单词搜索历史命令ctrl + u 删除光标前面所有字符相当于VIM里d shift+^ctrl + k 删除光标后面所有字符相当于VIM里d shift+$删除ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dl原创 2016-06-29 16:57:00 · 1588 阅读 · 0 评论 -
linux shell 和 vim快捷键
from: http://blog.sina.com.cn/s/blog_7556be720100ryp2.html[plain] view plain copy print?Ctrl+p重复上一次命令 Ctrl+a跳到第一个字符前 Ctrl+x同上但再按一次会从新回到原位置 Ctrl+b前移一个字符不删除字符情况下原创 2016-07-19 15:27:48 · 425 阅读 · 0 评论 -
Linux进程间通信
详细的讲述进程间通信在这里绝对是不可能的事情,而且笔者很难有信心说自己对这一部分内容的认识达到了什么样的地步,所以在这一节的开头首先向大家推荐著 名作者Richard Stevens的著名作品:《Advanced Programming in the UNIX Environment》,它的中文译本《UNIX环境高级编程》已有机械工业出版社出版,原文精彩,译文同样地道,如果你的确对在Linux下编原创 2016-08-28 17:25:35 · 1058 阅读 · 0 评论 -
ubuntu设置 SSH 通过密钥登录
我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公原创 2016-08-31 17:06:33 · 49503 阅读 · 5 评论 -
Linux下5种IO模型的小结
概述 接触网络编程,我们时常会与各种与IO相关的概念打交道:同步(Synchronous)、异步(ASynchronous)、阻塞(blocking)和非阻塞(non-blocking)。关于概念的区别看到一位朋友(链接)打了一个比较形象的比喻:你打电话问书店老板有没有《分布式系统》这本书,如果是同步通信机制,书店老板会说,你稍等,”我查一下",然后开始查啊查,等查好了(可能原创 2016-08-23 21:15:01 · 522 阅读 · 0 评论 -
perl: warning: Setting locale failed.引发的问题
缘由我用的是linode的vps,系统为ubuntu14.04lts当apt-get安装软件时,都会报一个相同的错误,如下 perl: warning: Setting locale failed.perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (u原创 2017-01-16 18:23:09 · 14289 阅读 · 1 评论 -
ubuntu16.04优化/boot分区空间
打开终端,在终端里依次输入一下命令,以解决/boot分区满的问题: 1.df -h (查看Ubuntu的文件系统 使用情况) 2. uname -a (查看当前使用的内核版本) 3.sudo apt-get autoremove linux-image- **-(按两次tab键) 4,若因为空间已用完,之前的image安装出错会提示:这时使用apt-g原创 2017-03-08 15:57:12 · 1992 阅读 · 0 评论 -
使用spawn expect创建快捷命令
安装tcl tclx tcl-develyum install -y tcl tclx tcl-devel安装expect yum install expect -y创建文件ssh_quick.epr#!/usr/bin/expectif {$argc < 1} { set remote_host "10.24.18.3"} else { se...原创 2019-03-28 10:36:05 · 327 阅读 · 0 评论 -
gevent的深入实践
Gevent是python的第三方库,提供了比较完善的对协程的支持。Python中GIL的存在,导致多线程一直不是很好用,相形之下,协程的优势就更加突出了。Gevent的基本思想是:当遇到IO操作时,会自动写换到其他gevent,再在适当的时间切回来继续执行。这样就减少了IO操作时的等待耗时,从而能够提高硬件资源的利用率。注:本文使用python版本2.7.12, gevent版本1.2.2...原创 2019-04-19 09:58:59 · 745 阅读 · 0 评论 -
使用 Vagrant 打造跨平台开发环境
Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用,“代码在我机子上运行没有问题”这种说辞将成为历史。我们可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员。成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气。安原创 2016-05-04 11:30:19 · 422 阅读 · 0 评论 -
Linux启动过程详解
启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。启动第二步--读取MBR众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Ma原创 2016-04-05 21:42:44 · 451 阅读 · 0 评论 -
Linux内核中的内存屏障(1)
本文内容遵从CC版权协议,转载请注明出自larmbr.me概览SMP这种并行架构相比传统的单处理器带来相当可观的性能提升。一个不可避免的问题是并行架构的处理器间的交互问题。一种可能的解决方案是,每个CPU都有自己唯一可访问内存,处理器间通过消息传递进行通信。这种架构的问题是带给程序员(尤其是系统程序员)巨大的编程负担,因为需要处理数据分隔与传递。相反,被广泛应用的另一种架构是,转载 2014-11-27 19:02:14 · 790 阅读 · 1 评论 -
Linux内核发布模式与开发组织模式(1)
Linux内核社区经历20多年的发展,逐渐形成了一套完善的开发模式。作为想要加入社区进行开发的人来说,当然必须熟悉下这套模式啦,其中最重要的两点是:内核发布模式内核开发组织模式本文将对第一点进行讲述, 第二点在下一篇中讲述。(没耐心看完整篇文章的的朋友,直接看本文总结)内核发布模式追溯Linux内核版本号发展沿革,可知其经历了三个阶段,这分别为v1.0以前时期v转载 2014-11-27 18:34:34 · 1322 阅读 · 0 评论 -
x86实模式到保护模式及Linux启动协议的演变
操作系统的启动,英文称为bootstrap,又有汉译为“自举”,这一个自指涉的词汇生动地描述了操作系统启动前所遇的矛盾:加电瞬间所有硬件处于一种随机状态,如何完成第一条指令的加载,如何了解整机的硬件状态,以便完成后续的操作系统启动。即使第一条指令成功运行,如何把操作系统从外存加载到内存,以便执行一开始的初始化行为。这两个问题都有了成熟的解决机制,为操作系统的启动铺设转载 2014-11-27 18:55:38 · 792 阅读 · 0 评论 -
Linux内核发布模式与开发组织模式(2)
这篇文章讲述Linux内核的开发组织模式, 顺带地, 会描述几个Linux内核开发者必须知道的重要的内核分支。开发组织模式Linux作为迄今全球规范最庞大开源合作项目, 在20多年的发展过程中, 逐渐形成一套基于信任链的层级组织模式, 这套模式有个术语叫司令官与副官工作流(dictator and lieutenat workflow)。在这种模式中, 有若干个管理员, 分别负责项转载 2014-11-27 18:41:53 · 1382 阅读 · 0 评论 -
如何移植android 源代码到自己的手机上!
帖子比较老了,但有点价值Android带给我们的不仅仅是优秀的触控,漂亮的界面,快速的事件处理,让我们爱不释手!最重要的,它是开源的,任何android的爱好者都可以在它许可的权限范围内对android的源码做修改,移植,定制,以满足自己的需求。由此,目前非官方的第三方ROM受到了众多手机玩家以及android开发者的热爱,他们或者厌倦了原有的桌面程序,想换换口味,或者是为了优化手机处理能力,转载 2014-12-12 09:10:51 · 2920 阅读 · 0 评论 -
Linux USB驱动框架分析
说的usb子系统的IO操作,不得不说usb request block,简称urb。事实上,可以打一个这样的比喻,usb总线就像一条高速公路,货物、人流之类的可以看成是系统与设备交互的数据,而urb就可以 看成是交通工具。在一开始对USB规范细节的介绍,我们就说过USB的endpoint有4种不同类型,于是能在这条高速公路上流动的数据也就有四种。但 对车是没有要求的,urb可以运载四种数据,不转载 2014-12-12 09:22:06 · 516 阅读 · 0 评论 -
iptables详解
一:前言防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代理层的网关。原创 2015-08-05 14:20:24 · 434 阅读 · 0 评论 -
ubuntu备份与恢复
在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统。Norton Ghost是备份Windows系统时经常使用的备份工具。在备份Windows系统的时候你可能想过,我能不能把整个C盘都放到一个ZIP原创 2015-09-23 15:46:03 · 315 阅读 · 0 评论 -
用Apache和mod_wsgi配置Python应用的教程
最近开发了一个 Google Analytics 相关的应用,但需要在 Windows 下部署,结合网上的相关经验,最终选择了 apache+mod_wsgi 这样的配置。修改python应用 复制代码 代码如下:Note that mod_wsgi requires that the WSGI application entry point be called 'applic原创 2016-03-03 10:38:57 · 2942 阅读 · 0 评论 -
Apache的配置文件http.conf参数含义详解
Apache的配置文件http.conf参数含义详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。PidFile l原创 2016-02-26 14:37:13 · 5034 阅读 · 0 评论 -
Linux系统信息查看命令
系统# uname -a #查看内核/操作系统/CPU信息# head -n 1 /etc/issue #查看操作系统版本# cat /proc/cpuinfo #查看CPU信息# hostname #查看计算机名# lspci -tv #列出所有PCI设备# lsusb -tv #列出所有USB设备# lsmod #列出加载的内核模块# env #查看环境变量原创 2016-04-05 10:26:56 · 395 阅读 · 0 评论 -
X86汇编调用框架浅析与CFI简介
[阅读本文仅需要一点x86汇编的知识。另, 本文的汇编使用AT&T语法]在内核代码调试中, 或是漏洞分析中, 学会看懂backtrace或是熟悉汇编, 都是基础之功。这中间都牵涉到一个叫调用框架(call frame)的概念, 这个名词也叫栈帧(stack frame)或活动过程记录(activation record)。所谓调用框架就是指称一个函数(或过程,或方法)被调用时位于内存中的一转载 2014-11-27 19:00:14 · 9468 阅读 · 3 评论