V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  2Nfree  ›  全部回复第 1 页 / 共 2 页
回复总数  24
1  2  
我个人用 mac 单纯就是轻便和续航久,外星人太沉了吧,不方便携带,用这种有 windows 的需求不如直接上台式机了
14 天前
回复了 fffq 创建的主题 程序员 分布式环境 如何合并请求
没搞懂场景是什么样的,singleflight 是只能作用在单进程的,如果要是到多个进程要用分布式锁吧,etcd ,zookeeper?
14 天前
回复了 ericcen 创建的主题 Go 编程语言 go 编程方式
15 天前
回复了 0x5c0f 创建的主题 Docker 关于 docker 防火墙的搭配问题
@0x5c0f docker 的端口映射和流量策略也是基于 iptables 做的,但是如果你指的是从外部访问到宿主机中 docker 映射的某一个端口,只需要在宿主机使用对应的防火墙就行,firewalld 和 ufw 就是这种场景下使用的,但是实际上 firewalld 和 ufw 也只是简化了 iptables 的操作,如果你不嫌麻烦一把 iptables 梭哈也可以
62 天前
回复了 0x5c0f 创建的主题 Docker 关于 docker 防火墙的搭配问题
应用部署为什么会涉及到防火墙配置,是需要修改流量策略吗,firewalld 和 ufw 实际上底层也是修改 iptables 和选择没有关系,有一点要注意的是,宿主机上配置的防火墙流量策略在 Docker 容器中是不生效的
@qiaofanxing 我没改了,还是用的 Alaska Cordova
我没改了,还是用的 Alaska Cordova
99 天前
回复了 user23125 创建的主题 VXNA 这是 V2EX 即将推出的新功能吗?
没事了,原来是 Alaska 州不是所有地区都免税,尴尬
184 天前
回复了 eber 创建的主题 Go 编程语言 各位爹,请教一个 golang 的问题!
@2Nfree 用这个办法可以输入 sudo 的密码,之前写过一个模仿 ansiable 的程序是这么做的,里面部分代码:
package utils

import (
"batch-execution-tool/core"
"bytes"
"fmt"
"golang.org/x/crypto/ssh"
"os"
"sync"
)

func ExecuteScripts() {
var wg sync.WaitGroup
defer wg.Wait()
for _, ip := range core.Config.ServersIP {
wg.Add(1)
go func(ip string) {
defer wg.Done()
SSHClient, errSSH := createSSHConnect(ip)
if errSSH != nil {
core.Logger.Sugar().Errorf("创建 SSH 链接失败:\n%v", errSSH)
return
}
for _, script := range core.Config.Scripts {
for name := range script {
err := exec(SSHClient, ip, name)
if err != nil {
core.Logger.Sugar().Errorf("在 IP 地址为:%v 的服务器,出现错误:\n%v", ip, err)
} else {
core.Logger.Sugar().Debugf("在 IP 地址为:%v 的服务器,执行脚本 %v 成功", ip, name)
}
}
}
}(ip)
}
}

func exec(client *ssh.Client, ip, script string) error {
core.Logger.Sugar().Debugf("正在 IP 地址为:%v 的服务器中执行脚本:%s", ip, script)
session, err := client.NewSession()
if err != nil {
return err
}
var output bytes.Buffer
session.Stderr = &output
remoteDir := "scripts"
if core.Config.Auth.Username == "root" {
if err := session.Start("bash " + remoteDir + "/" + script + " > " + remoteDir + "/" + script + ".log"); err != nil {
return fmt.Errorf("执行脚本 %s 失败: \n%s:%s", script, err, output.String())
}
if err := session.Wait(); err != nil {
return fmt.Errorf("执行脚本 %s 失败: \n%s:%s", script, err, output.String())
}
} else {
if err := session.RequestPty("xterm", 80, 40, ssh.TerminalModes{}); err != nil {
return fmt.Errorf("请求 TTY 出错:%v ,\nos.Stderr:%v", err, os.Stderr)
}
stdin, err := session.StdinPipe()
defer stdin.Close()
if err != nil {
return fmt.Errorf("创建标准管道输出错误: \n%v", err)
}
if err := session.Start("sudo bash " + remoteDir + "/" + script + " > " + remoteDir + "/" + script + ".log"); err != nil {
return fmt.Errorf("执行脚本 %s 失败: \n%s:%s", script, err, output.String())
}
_, err = fmt.Fprintln(stdin, core.Config.Auth.Password)
if err != nil {
return fmt.Errorf("使用标准管道输如密码错误: \n%v", err)
}
if err := session.Wait(); err != nil {
return fmt.Errorf("执行脚本 %s 失败: \n%s:%s", script, err, output.String())
}
}
session.Close()
return nil
}
184 天前
回复了 eber 创建的主题 Go 编程语言 各位爹,请教一个 golang 的问题!
golang.org/x/crypto/ssh 包可以创建标准管道输出
用 session.StdinPipe()
calc time:2897.068977356
all time:6620.0299263%

arm64 7Cores 16G
2021-07-07 09:07:49 +08:00
回复了 2Nfree 创建的主题 MacBook Pro 现在的 M1 有能够安装 Centos 的办法么,除了使用 Docker
@clavichord93 哈哈
2021-07-06 14:34:44 +08:00
回复了 2Nfree 创建的主题 MacBook Pro 现在的 M1 有能够安装 Centos 的办法么,除了使用 Docker
@clavichord93 不过确实 PD 是个好软件但是开发商有点无良
2021-07-06 14:33:30 +08:00
回复了 2Nfree 创建的主题 MacBook Pro 现在的 M1 有能够安装 Centos 的办法么,除了使用 Docker
@clavichord93 UTM 我这边虚拟机安装不成,不知道为啥,UTM 的配置操作太繁琐了,效率的话我没太注意,一般我都是开一个 Ubuntu 加 Kali 使用,用着不卡,我的 mbp 配置 16+512 的
2021-07-05 16:20:58 +08:00
回复了 2Nfree 创建的主题 MacBook Pro 现在的 M1 有能够安装 Centos 的办法么,除了使用 Docker
@clavichord93 这两个虚拟机我都用过,PD 虚拟机安装某些版本的系统会存在无法安装虚拟机增强工具的情况,但是 VM 没有这种情况,但是使用起来还是 PD 会舒服一点,vm 不是原生支持 mac 的相关快捷键操作,例如我在 mac 中使用 command+c 复制,可以再 PD 中用 command+v 粘贴(前提是有虚拟机增强工具),但是 VM 无论如何都不行,这个增强工具就和没有一样,性能方面的话 VM 确实比 PD 好,是因为他在分配虚拟机资源的时候是一次分配完全,例如你分配了 4g 内存,你的虚拟机就使用 4g 但是 PD 的话是根据你用虚拟机的情况来,如果你不用的话会在后台休眠,不占用太多的内存,只能说各有各的好处
2021-07-02 09:22:51 +08:00
回复了 2Nfree 创建的主题 MacBook Pro 现在的 M1 有能够安装 Centos 的办法么,除了使用 Docker
@mp381 这个应该是 centos 架构的问题,不支持 M1 的 CPU 。。
2021-07-02 09:18:04 +08:00
回复了 2Nfree 创建的主题 MacBook Pro 现在的 M1 有能够安装 Centos 的办法么,除了使用 Docker
@clavichord93 您指的是 PD 虚拟机么
2021-06-30 16:27:34 +08:00
回复了 2Nfree 创建的主题 MacBook Pro 现在的 M1 有能够安装 Centos 的办法么,除了使用 Docker
@ElliotQi parallel 也不是全虚拟化,只有 VM 是全虚拟化 UTM 不知道,我这边 UTM 打不开。。
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5637 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 01:47 · PVG 09:47 · LAX 18:47 · JFK 21:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.