linux
styshoo
这个作者很懒,什么都没留下…
展开
-
国内镜像地址
国内镜像地址常常要下载国外的软件,但网速却异常感人,因此,我这里罗列了几个国内的镜像地址,网速可观,希望大家可以用得上:搜狐 http://mirrors.sohu.com/网易 http://mirrors.163.com/北京理工大学 http://mirror.bit.edu.cn/web/原创 2015-07-29 21:21:52 · 2351 阅读 · 0 评论 -
CentOS7安装livecd-creator
livecd-creater是lived-tools中的一个工具,但是在CentOS7的官方yum源中却已经被取消掉了,因此我们需要自行下载rpm包来安装。原创 2016-08-10 23:13:02 · 5708 阅读 · 0 评论 -
Ubuntu14.04安装ROOT集群
之前尝试在CentOS7上部署ROOT集群,却发现无论是源码包安装,还是官方提供的二进制包,都缺少了关键的xproofd可执行文件,导致PoD不能运行。没有办法,只能尝试在其他OS上部署,这里我选择了Ubuntu14.04。部署准备修改apt源 修改/etc/apt/sources.list,换成国内的163源,下载会更快和稳定一些。 # vim /etc/apt/sources.listde原创 2016-09-05 23:14:08 · 3056 阅读 · 0 评论 -
Docker源码编译
官方建议docker源码编译在docker容器内进行,因为官方提供的容器内已经继承了编译需要的环境,如果非要自己搭建编译环境也不是不可以,就是稍微有些繁琐。以下以1.8.2版本为例。 1.pull docker-dev:1.8.2的镜像docker pull docker-dev:版本具体版本可以查看官网。 ps:该镜像较大,可以考虑从国内镜像下载。 2.创建目录存放docker编译后生成的原创 2016-09-05 23:16:09 · 2528 阅读 · 0 评论 -
Ubuntu安装图形桌面
apt-get直接更新即可 apt-get install ubuntu-desktop原创 2016-09-21 23:10:14 · 1984 阅读 · 0 评论 -
Ubuntu配置任意版本的apt-get镜像
我们知道,迄今为止,Ubuntu已有多个发行版,如11.04、11.10,以至于现在最新的16.*。而我们平常通过apt-get来安装软件,如果OS版本不同,那么镜像源的配置就不同,否则就会出现找不到对应软件、软件版本不匹配等一系列奇怪的问题。这里,我就讲述一下如何配置不同的版本的镜像源。在此,我就以网易的镜像源为例。 搜索“网易apt-get源”,基本就能搜到以下的内容。作为刚开始使用Ubu原创 2016-09-26 23:23:48 · 5247 阅读 · 0 评论 -
x11vnc配置--ubuntu14.04
x11vnc是连接到真实的X会话,相比vnc4server和tightvncserver自己创建不同分辨率的xserver来说,画面延时和显示效果应该要好一些。两种服务都试过,个人感觉x11vnc要好。1.安装x11vncsudo apt-get install x11vnc2.创建vnc连接密码sudo x11vnc -storepasswd <password> /etc/x11vnc.pass转载 2016-09-29 23:45:18 · 7575 阅读 · 1 评论 -
windows下安装pip、Flask
简介 Flask 是一个 Python 实现的 Web 开发微框架。而pip类似RedHat里面的yum,安装Python包非常方便,本文中我们就需要使用pip来安装Flask。本文与其他安装文档介绍的不同点就是,会介绍到没有外网权限时如何使用代理来下载安装。 pip安装使用get-pip.py安装pip 使用浏览器下载get-pip.py文件:https://bootstrap.pypa.i原创 2016-10-20 00:38:41 · 6997 阅读 · 0 评论 -
Mellanox网卡不能分配VF解决方法
背景 VF全称为Virtual Function,是硬件的SR-IOV特性提供的功能,简单的说,就是把一个物理上的设备,虚拟出多个虚拟设备,这些虚拟设备可以再分给其他OS使用。 Mellanox网卡大多支持SR-IOV功能,我们通过加载Mellanox网卡的驱动来实现分配VF的功能。 如下,就是把每个Mellanox网卡分配出多8个虚拟功能VF。然而,这次我们驱动加载却失败了,dmesg报错原创 2016-10-31 20:39:01 · 4446 阅读 · 0 评论 -
Ubuntu grub2介绍
Ubuntu grub2简介 从Ubuntu 9.10起,grub2就已经是默认的BootLoader了。这里简要说要Ubuntu的grub2和其他发行版不一样的地方。 对于所有的OS启动项,CentOS全都显示在一个grub选择界面,显得非常拥挤,而Ubuntu这里就使用了一个Submenu的概念,将kernel版本最高的OS启动项放在最顶端名为“Ubuntu”的选项中,其他的版本都放在一原创 2016-12-12 07:05:50 · 1597 阅读 · 0 评论 -
sudo网络权限
背景 对于设置了网络代理的服务器,在当前用户下执行网络访问没有问题,但通过sudo执行命令时,就会出现“无网络连接”的错误。普通权限下,wget成功。# wget https://github.com--2016-12-08 09:00:43-- https://github.com/Connecting to 109.105.113.200:8080... connected.Prox原创 2016-12-14 23:21:36 · 724 阅读 · 0 评论 -
Linux系统之lspci命令介绍
lspci,顾名思义,就是显示所有的pci设备信息。pci是一种总线,而通过pci总线连接的设备就是pci设备了。如今,我们常用的设备很多都是采用pci总线了,如:网卡、存储等。下面就简单介绍下该命令。 lspci:显示所有的pci设备信息。包括设备的BDF,设备类型,厂商信息等。 lspci -t [BDF]:显示指定BDF号的设备信息。 lspci -m/-mm:以一种机器可读的格原创 2016-04-29 14:10:16 · 64787 阅读 · 0 评论 -
GMP编译make check时出现"FAIL t-scan"
GMP是GNU的一个开源项目,在make check时遇到了“FAIL: t-scan”的错误原创 2016-11-28 08:03:28 · 3031 阅读 · 0 评论 -
Ubuntu14.04下kpatch源码安装使用
背景 Kpatch是给Linux内核打热补丁的工具,所谓热补丁,就是指打完补丁后,补丁可立即生效,而不需要像传统打补丁那样必须重启Linux才能生效。 Kpatch简介 最早出现的打热补丁工具不是Kpatch,而是Ksplice。但是Ksplice被Oracle收购后,一些发行版生产商就不得不开发自己的热补丁工具,分别是Redhat的Kpatch和Suse的KGraft。同时,在这两家厂商的推原创 2016-12-09 23:25:49 · 2383 阅读 · 0 评论 -
Ceph部署(一)集群搭建
背景Ceph简介Ceph是一个分布式存储,可以提供对象存储、块存储和文件存储,其中对象存储和块存储可以很好地和各大云平台集成。一个Ceph集群中有Monitor节点、MDS节点(可选,用于文件存储)、至少两个OSD守护进程。 Ceph OSD:OSD守护进程,用于存储数据、处理数据拷贝、恢复、回滚、均衡,并通过心跳程序向Monitor提供部分监控信息。一个Ceph集群中至少需要两个OSD守护进程。原创 2017-02-17 05:41:45 · 16281 阅读 · 2 评论 -
运行gpg --gen-key生成key时出现卡住的问题
背景 在搭建Ubuntu16.04的本地apt源时,需要运行“gpg –gen-key”命令,但是在执行该命令时,出现了:“Not enough random bytes available. Please do some other work to give the OS a chance to collect more ”的提示,而且一直卡住。分析 更详细的提示,参加: We need t原创 2017-02-21 05:31:20 · 4926 阅读 · 2 评论 -
Linux驱动手动绑定和解绑定
Linux内核从2.6.13-rc3开始,提供了在用户空间,可动态的绑定和解绑定设备和设备驱动之间关系的功能。在这之前,只能通过insmod(modprobe)和rmmod来绑定和解绑,而且这种绑定和解绑都是针对驱动和所有设备的。而新的功能可以设置驱动和单个设备之间的联系。 这里,我们以pci总线的nvme ssd为例,首先执行lspci显示所有的nvme ssd。 # lspci | gr原创 2017-01-23 23:47:26 · 3299 阅读 · 0 评论 -
nohup介绍
背景 我们通常使用&将前台任务变为后台任务执行,但是如果只是使用&,那么在突然断网或者关闭启动该任务的终端(ps:可使用putty来测试,部分软件如mobaxterm做了优化,关闭终端是友好关闭的)时,内核就会给后台任务发送SIGHUP信号,从而导致后台任务停止。这时,我们就需要使用nohup来启动该后台任务。 简介 nohup,顾名思义,就是使得运行的命令可以忽略HANGUP信号。因此,即使原创 2017-09-05 06:54:43 · 8625 阅读 · 0 评论 -
git pull更新错误解决办法
Your local changes to the following files would be overwritten by merge error: Your local changes to the following files would be overwritten by merge: protected/config/main.phpPlease, commit your转载 2016-04-21 09:05:48 · 3183 阅读 · 0 评论 -
路由网关转发配置
网络环境: 先说下网络环境,有三台服务器,处在网络1和网络2折两个完全隔绝的环境,网络1和网络2之间不能互通。其中,Server1在网络1中,Server3在网络2中,而Server2有两块网卡,分别位于网络1和网络2中。Server3不能直接访问Server1,因为它们处于不同的网络。若要实现这两个服务器之间的互联,就必须要利用Server2这台服务器。将Server2视为网关,Serv原创 2016-04-16 21:44:00 · 7562 阅读 · 3 评论 -
Linux获取pci设备的厂商号、设备号、class号
要描述一个pci设备,就需要知道设备的厂商号(venderId)、设备号(devId)和class号。那么,在Linux系统中,如何获取这三个数据呢? 既然是一个pci设备,那么首先就得知道BDF——该pci设备在OS中的唯一标识符。以网卡举例,我们可以通过ethtool来得到BDF。其中,bus-info对应的信息就是BDF。# ethtool -i p12p1driver: ixgbe原创 2016-04-20 20:35:15 · 17540 阅读 · 0 评论 -
Shell脚本中$的用法
$0: 脚本名称,相对路径还是绝对路径要看调用的方式。如果是在父目录中,./dollarTest.sh调用,那么$0就是./dollarTest.sh;如果是全路径调用,如"/root/test/dollarTest.sh",那么$0就是"/root/test/dollarTest.sh"。 $n:调用的第n个参数。ps:如果n > 9,那么数字需要用括号括起来,如${10},否则she原创 2015-08-02 23:07:58 · 3817 阅读 · 1 评论 -
ssh批量登录并执行命令(python实现)
原文地址:http://www.cnblogs.com/ma6174/archive/2012/05/25/2508378.html 局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的。现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件,拷贝某些文件,批量关机等。如果一台一台得手工原创 2015-07-22 10:29:31 · 1271 阅读 · 0 评论 -
linux服务开机启动顺序
今天遇到了一个问题,我们写了一个服务脚本A,该服务需要优先于mysql启动。脚本是从其他地方拷来的模板,前面的默认配置没改,只是实现了自己的功能。写完,chkconfig A on,reboot,启动后就傻眼了,mysql未能正常启动。最后分析原因,原来是服务A在mysql之后才启动,未能给mysql分配出需要的硬件环境。问题来了,如何让服务A先于mysql之前启动呢?要知道服务的启动顺序,就原创 2015-07-22 10:29:53 · 6212 阅读 · 0 评论 -
如何查出一台linux服务器上有哪些人在登录
公司服务器紧张,往往三四个人或者上十个人共用一台服务器,有时有人一些误操作(如reboot,或者rm /root),会导致别人用不了。所以这时我们需要知道当前有哪些人登录着这台服务器。一,运行who命令: 当前只有一个用户通过192.168.1.101以root用户登录。二,根据上面得出的ip,在windows上运行nbstat -a ip命令:原创 2015-07-22 10:29:45 · 8621 阅读 · 0 评论 -
linux发行版关闭图形界面的方法
很多家中使用linux的朋友,都是使用虚拟机来搭建linux,能给虚拟机分配的资源是有限的,如果不关闭一些服务,那么系统就会比较卡。这些服务中,图形界面就是首当其冲要关闭的服务。下面我列举下我用过的三个发行版关闭图形界面的方法。CentOS 5、6系列。打开/etc/inittab文件,在id:5:initdefault这一行中,将其改成id:3:initdefault:。重启系统就可以生原创 2015-09-28 22:15:59 · 2446 阅读 · 0 评论 -
linux显示运行脚本进程号的方法
一般来说,我们可以使用pidof来显示运行进程的进程号,但是,如果是想获取运行脚本的进程号的话,用pidof是获取不到的。以sh运行脚本test.sh为例,test.sh脚本如下:while truedo sleep 1done 执行如下命令sh test.sh,脚本就会进入死循环。执行pidof 'sh test.sh'命令,获取结果为空;执行pidof sh却可以得到原创 2015-10-25 18:09:29 · 13512 阅读 · 0 评论 -
位域所占空间的大小
上一个项目中,遇到了一个问题:数据通过网络传输到不同的操作系统,反序列化时出现了segment fault。调试时发现原来是同一个结构体,在不同的操作系统(windows和linux)中,所占的空间大小不一样,因此反序列化时就出现了问题。这个结构体是类似如下定义的:struct Test{ char a : 2, int b : 3,}; 默认情况下,gcc编译器下,结构体大小为4原创 2015-09-22 20:20:44 · 2233 阅读 · 0 评论 -
python中字符与数字的转换
与C等语言不同,在python中,是不区分字符与字符串的。像C等语言,字符用单引号封装,字符串用双引号封装;而python中,单引号和双引号都表示字符串。虽然如此,Python中依旧提供了字符转数字的方法。 ord(…) ord(c) -> integer Return the integer ordinal of a one-character string. 该函数用原创 2015-11-21 20:02:40 · 2675 阅读 · 0 评论 -
linux上文件格式引起的问题
配置文件(test.conf)中存储了另外一个文件的路径(/home/sty/testFile),cat该文件获取路径后来访问对应的文件,却提示没有此文件。 由上图可见,文件是的确存在的,但直接访问却有问题,如下: 上面的显示中出现了乱码,很明显,很有可能是获取的字符串有问题。直接在shell中不能显示的清楚,我这里就用python来实现该功能。原创 2015-11-22 20:41:31 · 812 阅读 · 0 评论 -
python中print不换行的方法
python中的print默认是换行的,如下: 想让其不换行,只需要加上逗号即可,如下: 除此之外,还有一种类似c语言中printf的写法,如下:原创 2015-11-23 20:38:39 · 2193 阅读 · 0 评论 -
通过python直接显示json格式数据的方法
有时,json文件内容格式混乱,如所有的语句都被“挤”在了一行,直接查看就非常痛苦,也不直观。这时,就可以通过python的一个工具mjson.tool来查看了。$ echo '{"a":1,"b":2}' | python -mjson.tool{ "a": 1, "b": 2} 此外,也可以将该工具直接安装成应用,直接使用。首先需要先安装pip,然后使用pip安装。原创 2015-12-12 08:07:24 · 8372 阅读 · 0 评论 -
获取脚本所在路径的方法
背景 python脚本1使用了相对路径,如果调用该脚本1的脚本2另外位于不同目录时,就会出现路径错误的情况,原因是相对路径会按照脚本2的路径来匹配相对路径,这样就出现了问题。解决方法python 代码如下。__file__返回脚本的名称,os.path.realpath获取脚本的绝对路径,而os.path.split会把文件的路径和文件名分开,返回一个(路径, 文件名)的元原创 2015-12-13 08:20:18 · 2324 阅读 · 0 评论 -
EnhanceIO的Readme介绍
STEC EnhanceIO SSD Caching Software25th December, 20121. WHAT IS ENHANCEIO?什么是EnhanceIO?EnhanceIO driver is based on EnhanceIO SSD caching software product develo翻译 2015-12-18 23:13:42 · 3064 阅读 · 0 评论 -
使用cgroup的blkio子系统自动限制磁盘
使用Cgroups的blkio子系统,可以限制磁盘的访问速度、iops等,详细方法可参看http://www.elmerzhang.com/2012/12/cgroups-learning-6-blkio-subsystem/ 。然而,使用这种方法有一个不足,就是只能通过限制某个进程在某个磁盘(或分区)的访问,而不能很通用的限制所有进程在该磁盘(或分区)上的访问。 由上文中的链接可以了解到原创 2016-03-02 23:52:30 · 4331 阅读 · 0 评论 -
使用xshell完成ssh二次登录
在现实环境中,网络常备分割为内网和外围,我们能直接访问的只有外网。外网服务器中,会设置一台网关,只有这台网关服务器的网络可以和内网联通。 如上图所示,我们联通内网服务器的方法都是ssh到网关服务器,再通过网关服务器ssh到内网服务器。然而,每次都要输入两次用户名和密码,有些繁琐,在这里,我们就介绍一种通过xshell来一步登录内网服务器的方法。为什么用xshell?因为它家用免费啊,l原创 2016-03-30 00:07:48 · 21461 阅读 · 4 评论 -
删除docker0网卡
虚拟网卡docker0其实是一个网桥,如果想删除它,只需要按照删除网桥的方法即可。ifconfig docker0 downbrctl delbr docker0 docker0这个网桥是在启动Docker Daemon时创建的,因此,这种删除方法并不能根本上删除docker0,下次daemon启动(假设没有指定-b参数)时,又会自动创建docker0网桥。原创 2016-03-25 23:27:22 · 34373 阅读 · 1 评论 -
terminal下历史命令自动完成功能history auto complete
CentOS下,有一个很智能的功能,就是只输入一条历史命令的前几个字母,再按PageUp和PageDown键,就可以在以此字母为前缀的历史命令中上下切换。这个功能非常实用,而且比CTRL+R使用起来更友善、更方便。遗憾的是,ubuntu上并没有这个功能。Google上搜索才直到,这个只是linux在终端对键盘的映射而已,和linux的某个发行版无关。只是CentOS下默认打开了这个功能,而ubunt原创 2016-03-25 23:52:37 · 9941 阅读 · 2 评论 -
CI脚本异常退出问题定位
背景 在CI脚本中,使用类似如下脚本进行项目编译的计时,但在执行过程中,有时会出现CI脚本(命名为ci.sh)未完全执行的情况: #!/bin/bash -esleep_time=$1start_time=`date "+%s"`# do sth, this sleep would simulate project compilationsleep $sleep_timeend_time原创 2017-11-06 23:39:42 · 807 阅读 · 0 评论