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 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。

在Windows上,是否有可能作为一个不同的用户运行一个goroutine?

你如何委托goroutine运行到另一个非pipe理员帐户在Windows上? 我看到你可以在Linux上使用syscall.Setuid()来做到这一点。 我无法看到如何使用Windows系统调用包在Windows上执行此操作。 我希望能够在程序运行时设置goroutine运行的帐户。 这可能吗? 背景位: –我想切换运行goroutine的用户,这样我就可以在使用go-oci8时(参见我的其他问题 )更改在数据库连接期间传递给Oracle的OS用户。 我需要连接到数据库,并使用login用户(OS用户)作为安全性的一部分。 在java中,我可以在连接build立期间更改环境variables(或者如果仅连接一个用户,则可以轻弹username环境variables)。 我有用户数据库用户名(这与操作系统的用户名相匹配),我得到的数据库用户密码。 我没有用户的Windowslogin密码。 我希望能够以运行pipe理员身份的主要go程序将运行goroutine委托给所需的windows用户,与我突出显示的Linux端口绑定示例类似。 将Oraclelogin更改为不使用OS用户不是一个选项,所以如果我不能解决这个问题,它将返回到Java :-(。