Articles of 去

使用golang的可用无线networking列表(在Linux下)

我想获得在Linux操作系统下运行的Go程序中可用的无线networking列表。 使用iwlist从Linux命令行获取这些信息是相当容易的,但是我真的希望在Go中本地完成这些信息。 任何想法应该使用哪个包? 谢谢。

我怎样才能用go1.6.2构buildlinux 32位版本

有没有GOARCH和GOOS值的组合,我可以设置为了构buildELF 32位二进制?

如何启用docker的udev同步成功?

我已经从这个站点下载并安装了静态连接的docker 1.6.1 ,并在RHEL 7.1上运行它: [root@localhost bin]# ./docker -d WARN[0000] Udev sync is not supported. This will lead to unexpected behavior, data loss and errors INFO[0000] +job init_networkdriver() INFO[0000] +job serveapi(unix:///var/run/docker.sock) INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) INFO[0000] -job init_networkdriver() = OK (0) INFO[0000] Loading containers: start. INFO[0000] Loading containers: done. INFO[0000] docker daemon: 1.6.1 […]

从Go调用setns返回EINVAL mnt名称空间

C代码工作正常,正确地进入命名空间,但Go代码似乎总是从setns调用返回EINVAL进入mnt命名空间。 我已经在Go 1.2,1.3和当前技巧中尝试了许多置换(包括embeddedC代码和外部.so )。 单步setns gdb中的代码表明,这两个序列都在libc以完全相同的方式调用setns (或者在我看来)。 我已经煮了什么似乎是下面的代码问题。 我究竟做错了什么? build立 我有一个用于启动快速bu​​sybox容器的shell别名: alias startbb='docker inspect –format "{{ .State.Pid }}" $(docker run -d busybox sleep 1000000)' 运行这个之后, startbb将启动一个容器并输出它的PID。 lxc-checkconfig输出: Found kernel config file /boot/config-3.8.0-44-generic — Namespaces — Namespaces: enabled Utsname namespace: enabled Ipc namespace: enabled Pid namespace: enabled User namespace: missing Network namespace: enabled Multiple /dev/pts instances: […]

主进程从systemd启动时不能分离subprocess

我想生成长时间运行的subprocess,在主进程重启/死亡时生存下来。 从terminal运行时,这工作正常: $ cat exectest.go package main import ( "log" "os" "os/exec" "syscall" "time" ) func main() { if len(os.Args) == 2 && os.Args[1] == "child" { for { time.Sleep(time.Second) } } else { cmd := exec.Command(os.Args[0], "child") cmd.SysProcAttr = &syscall.SysProcAttr{Setsid: true} log.Printf("child exited: %v", cmd.Run()) } } $ go build $ ./exectest ^Z [1]+ […]

在Alpine Linux Docker上找不到安装的Go二进制文件

我有一个Go二进制文件,我试图在Alpine Docker镜像上运行。 这适用于Docker Go二进制文件。 docker run -it alpine:3.3 sh apk add –no-cache curl DOCKER_BUCKET=get.docker.com DOCKER_VERSION=1.9.1 curl -fSL "https://${DOCKER_BUCKET}/builds/Linux/x86_64/docker-$DOCKER_VERSION" -o /usr/local/bin/docker chmod +x /usr/local/bin/docker docker help Usage: docker [OPTIONS] COMMAND [arg…] … 但是,对于我想要安装的Go二进制文件。 RACK_BUCKET=ec4a542dbf90c03b9f75-b342aba65414ad802720b41e8159cf45.ssl.cf5.rackcdn.com RACK_VERSION=1.1.0-beta1 curl -fSL "https://${RACK_BUCKET}/${RACK_VERSION}/Linux/amd64/rack" -o /usr/local/bin/rack chmod +x /usr/local/bin/rack rack help sh: rack: not found /usr/local/bin/rack help sh: /usr/local/bin/rack: not found ls […]

如何在Go中pipe理Windows用户帐户?

我需要能够从Go应用程序pipe理Windows本地用户帐户,并且似乎没有使用CGo,没有本地绑定。 我最初的search引导我说,最好使用“exec.Command”来运行“net user”命令,但是在parsing响应代码时,这看起来很混乱和不可靠。 我发现处理这种types的东西的函数是在netapi32.dll库中,但是Go本身并不支持Windows头文件,所以调用这些函数并不容易。 以https://github.com/golang/sys/tree/master/windows为例,看来Go团队已经在代码中重新定义了一切,然后调用DLL函数。 我很难将它们包装在一起,但是我已经获得了我所瞄准的低级API的模板,然后在它上面封装了一个更高级别的API,就像核心的Go运行时一样。 type LMSTR ???? type DWORD ???? type LPBYTE ???? type LPDWORD ???? type LPWSTR ???? type NET_API_STATUS DWORD; type USER_INFO_1 struct { usri1_name LPWSTR usri1_password LPWSTR usri1_password_age DWORD usri1_priv DWORD usri1_home_dir LPWSTR usri1_comment LPWSTR usri1_flags DWORD usri1_script_path LPWSTR } type GROUP_USERS_INFO_0 struct { grui0_name LPWSTR } type USER_INFO_1003 struct […]

用Go 1.7构build一个dll

有没有办法在Windows下build立一个DLL的Go v1.7? 我尝试了一个经典 go build -buildmode=shared main.go 但是得到 -buildmode = shared在windows / amd64上不受支持 更新好的,我有我的答案。 对于那些有兴趣的人: https : //groups.google.com/forum/#!topic/golang-dev/ckFZAZbnjzU

是否有可能使用Go编译器分发其他操作系统的可执行文件?

我目前正在使用Mac OS X,现在我需要构build一个.exe文件,以便Go程序可以在Windows上运行。 所以这里是一个问题,如何在MacOS amd64下为Win X86构build一个可执行文件? 还是不可能这样做?

如何连接到Oracle中去

我收集有两种方法可以连接到Oracle数据库(在Windows上): github.com/tgulacsi/goracle github.com/mattn/go-oci8 但对于我这个级别的人(开源+ golang的初学者)来说,这两个方法/驱动程序非常棘手。 这也是一个负担,通过所有的部署,在不同的机器上开发等(也假设它会工作)。 有没有更好的方式连接到甲骨文的数据库在golang或者如果没有人可以向我解释在高层次的观点或任何看法,这将使这更容易? 指针将非常感激。 TQ。