centos 6关闭ipv6

通过网卡属性查看

命令:ifconfig

注释:有 “inet6 addr:。。。。。。。“ 的表示开启了ipv6功能.使用下面的方法可以关闭ipv6

1.修改/etc/modprobe.d/dist.conf

[shell]#vi /etc/modprobe.d/dist.conf[/shell]

添加下面两行内容

alias net-pf-10 off
alias ipv6 off

保存退出,并且重新启动系统

2.验证ipv6模块是否加载

[shell]#lsmod|grep ipv6[/shell]

4.开机不启动

[shell]#chkconfig ip6tables off[/shell]

重启 用命令“lsmod | grep v6”查看,是否启动加载!

=======================================

1.修改/etc/sysconfig/network,追加:

NETWORKING_IPV6=no

2.修改/etc/hosts文件,把ipv6的那句本地主机名解析的也注释掉:

#::1   localhost localhost6 localhost6.localdomain6

IPv6是默认支持的,所以当你要重新开起IPv6支持时,将/etc/modprobe.d/dist.conf中的两条指令注释掉就可以了。

更多参考:http://hi.baidu.com/404656204/item/848f29d2f9231014d68ed0db

curl网站开发指南(转)

作者: 阮一峰

日期: 2011年9月 4日

我一向以为,curl只是一个编程用的函数库。

最近才发现,这个命令本身,就是一个无比有用的网站开发工具,请看我整理的它的用法。

===================================

curl网站开发指南

阮一峰 整理

curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在”标准输出”(stdout)上面。

它支持多种协议,下面举例讲解如何将它用于网站开发。 Continue reading

测试golang中的多核多线程

“并发 (concurrency)” 和 “并行 ( parallelism)” 是不同的。在单个 CPU 核上,线程通过时间片或者让出控制权来实现任务切换,达到 “同时” 运行多个任务的⺫的,这就是所谓的并发。但实际上任何时刻都只有一个任务被执行,其他任务通过某种算法来排队。

多核 CPU 可以让同个进程内的 “多个线程” 做到真正意义上的同时运,它们之间不需要排队 (依然会发生排队,因为线程数量可能超出 CPU 核数量,还有其他的进程等等。这里说的是一个理想状况),这才是并行。除了多核,并行计算还可能是多台机器上部署运行。 Continue reading

golang中的Array 、Slices 和 Maps

注意slice和数组在声明时的区别:声明数组时,方括号内写明了数组的长度或使用...自动计算长度,而声明slice时,方括号内没有任何字符。

[java]arr1 := [10]int{1,2,3,4} //数组,长度为10,只有4个元素指定,其它的元素值默认为0
arr2 := [...]string{"a","b","c"} //数组,长度自适应,这里长度为3
s1 := []int{1,2,3,4} //slice,目前长度为4,可能通过append来动态添加元素个数[/java]

示例:

[java]

package main

import (
 "fmt"
)

func main() {

//array example
 arr := [10]int{1, 2, 3} //array 指定前三个值,其它值使用默认类型值0
 fmt.Println(len(arr))
 fmt.Println(arr)
 //a1 := append(arr, 4, 5) //数组不支持append,只有slice才支持append
 //fmt.Println(a1)

//slice example
 slice := []string{"a", "b", "c"} // slice
 s1 := append(slice, "d")
 fmt.Println(s1)

slice2 := []string{"x", "y", "x"}
 len1 := len(slice2)
 cap1 := cap(slice2)
 fmt.Println(slice2) // [x y x]
 fmt.Println("len:", len1, "cap:", cap1) //len: 3 cap: 3

s2 := append(slice, slice2...)
 len2 := len(slice2)
 cap2 := cap(s2)
 fmt.Println(s2) //[a b c x y x]
 fmt.Println("len:", len2, "cap:", cap2) //len: 3 cap: 6

}[/java]

===========================================

数组定义方式 “[n]<type>” 有点古怪。长度下标 n 必须是编译期正整数常量 (或常量表达式)。
长度是类型的组成部分,也就是说 “[10]int” 和 “[20]int” 是完全不同的两种数组类型。

Continue reading

golang中包的用法

将d:/gotest/ 目录加入到GOPATH中.这里会涉及到包和结构体还有一些方法的用法,可以再深入的了了解一下

注意一下一些struct和 func 名称的大小写问题.

首先要在 $GOPATH/src 目录里创建一个包名目录,这里包名目录为stu,与文件名一样(也可以不一样),大概流程参考:
GO_package

d:/gotest/src/main/main.go

[shell]
package main

import (
"fmt"
"stu"
)

func main() {

//sxf := new(stu.Stu)
sxf := &stu.Stu{}

sxf.SetName("zhangli")
a := sxf.GetName()

fmt.Println(a)
}
[/shell]

d:/gotest/src/stu/stu.go

[shell]
package stu

type Stu struct {
name string
//age int
}

func (s *Stu) SetName(name string) {
s.name = name

}

func (s *Stu) GetName() string {

return s.name
}
[/shell]

在cmd中执行

[shell]go run main.go[/shell]

会看到输出结果 zhangli 

centos下更新Python版本的步骤

准备安装gitlab,发现系统目前的python版本为2.4.3版本.太低了, 虽然目前最高版本为3.3.0版本.但gitlab不支持这个版本.没有办法,我们这里将python升级到2.7.6版本.

更新python千万不要把老版本的删除!新老版本是可以共存的,很多基本的命令、软件包都要依赖预装的老版本python的,比如yum。

Continue reading