python 安装模块,一般pip 或者 python setup.py install..反之 卸载的话,一般是直接删除module 文件夹,或者通过record记录去自动删除,具体如下。 一、源码包安装的删除 我们使用 python setup.py install 来安装python包,但是如何卸载呢?只能手动删除安装的文件,可以使用如下命令: linux下的删除: 1# python……
Continue reading
1.简单的将日志打印到屏幕 1import logging 2logging.debug('This is debug message') 3logging.info('This is info message') 4logging.warning('This is warning message') 5屏幕上打印: 6WARNING:root:This is warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING;日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,当然也可以自己定义日志级别。 2.通过logging.basicCo……
Continue reading
在 也看linux内存去哪儿了 篇,最后提到精确计算rss内存的方法,这里写了一个简单的脚本,通过pmap遍历每个进程。将所有结果遍历汇总到一个文件后,再将使用相同的l内存地址的去重,完了再求和。脚本如下: 1# cat rrs.sh 2#!/bin/bash 3filename=`cat /proc/sys/kernel/random/uuid` 4for PROC in `ls /proc/|grep "^[0-9]"` 5do 6pmap -xq $PROC|grep -v $PROC: >> /tmp/$filename 7done 8RRSvalue=`awk '{print $1,$3}' /tmp/$filename|awk '!a[$0]++'|awk 'BEGIN{sum=0}{sum+=$2}END{print sum}'` 9echo $RRSvalue"kB" 10rm -rf /tmp/$filename……
Continue reading
一、linux内核片缓存概念 Linux 所使用的 slab 分配器的基础是 Jeff Bonwick 为 SunOS 操作系统首次引入的一种算法。Jeff 的分配器是围绕对象缓存进行的。在内核中,会为有限的对象集(例如文件描述符和其他常见结构)分配大量内存。Jeff 发现对内核中普通对象进行初始化所需的时间超过了对其进行分配和释放所需的时……
Continue reading
前两天一台128G内存的oracle主机发生故障触发kdump,最终由于var目录空间不足,导致kdump生成不完全。结合之前redhat给出的建议,crash设置的空间最好大于memory 空间。对此我们做了一个简单的计算,认为kdump主机生成的是运行在内存里的信息 ,虽然主机有……
Continue reading
1、pwd模块,提供了一个Unix 密码数据库(/etc/passwd)的接口,这个数据库包含本地机器用户账户信息。 pwd.getpwuid(uid): 返回对应uid的用户信息 pwd.getpwnam(name): 返回对应name的用户信息 pwd.getpwall(): 返回所有用户信息 1import pwd 2def get_user(): 3 all_user = {} 4 for user in pwd.getpwall(): 5 all_user[user[0]] = all_user[user[2]] = user 6 return all_user 7def userinfo(uid): 8 return get_user()[uid] 调用执行的结果: 1print userinfo(0) 2pwd.struct_passwd(pw_name='root', pw_passwd='x', pw_uid=0, pw_gid=0, pw_gecos='root', pw_dir='/root', pw_shell='/bin/bash') 3print userinfo('root') 4pwd.struct_passwd(pw_name='root',……
Continue reading
一台即将上线的主机被工程侧的兄弟在补漏洞时把glibc包给删除了,重启后导致主机启动出错,同事打过来电话求破解方法。这里记录下常见的修复模式修复的方法以便科普。 一、模拟故障现象 以下步骤请慎在现网环境上操作,这里只是模拟现网中经常发生的情况。登陆linux系统之后,依次执行以下命令……
Continue reading
Python Socket模块中包含一些有用IP转换函数,说明如下: socket.ntohl(x) // 类似于C语言的ntohl(x) 把32位正整数从网络序转换成主机字节序。 socket.ntohs(x) // 类似于C语言的ntohs(x) 把16位正整数从网络序转换成主机字节序。 socket.htonl(x) // 类似于C语言的htonl(x) 把32位正整数从主机字节序转换成网络序。 socket.htons(x)……
Continue reading
需求:1、通过将IP转为数字方便mysql 入库减少空间占用,也便于通过python比较最终转换成的数据是否相同,从而了解IP值是否相同。这里涉及IP,并不涉及掩码部分的计算;2、可以将数字再转化为IP。 一、ip转数字 1>>> ip2num = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split('.')[::-1])]) 2>>> ip2num('192.168.0.1') 33232235521 通过倒序的切割索引得出每个索引位具体的值……
Continue reading
一个网页有时候总是会有表格的,所以,制作表格的技能我们当然是要get的。首先,先来表格的标签属性吧: 表格标签属性 标签 描述 定义表格 定义表格标题 定义表格中的表头单元格 定义表格中的行 定义表格中的单元 定义表格中的表头内容 定义表格中的主体内容 定义表格中的一个或多个列的属性 定义表格中的表注内……
Continue reading