Scrum Master

Scrum Master Scrum 主 管 (Scrum Master, 简称 SM) 解惑 Scrum 系列一: 什么是 Scrum Master? 不久前,我们在帮一家颇具规模的银行做组织级敏捷转型时,经常被问到这样的问题: “Scrum Master 究竟是干什么的?什么样的人适合当 Scrum Master?” 要回答这个问题,我们需要先了解 “什么是 Scrum Master” ?这是个在 Scrum 框架中,最让人困惑的角色。目前为止,Scrum Master 一直没有很好的中文译名 (不像 PO 翻译成产品负责人那般自然) 。如果要一定要翻译 Scrum Master,似乎只有直译成 Scrum 大师最为贴切。按照经典 Scrum 的定义,Scrum Master 是 Scrum 三个角色之一,是负责帮助团队理解接受 Scrum 的价值观,原则和实践。 曾经有一位在业界颇具影响力的敏捷专家曾提到,Scrum Master 这个词本身充满了矛盾的色彩。一方面,这个词暗示 Scrum Master 是团队内部唯一的权威;而另一方面,Scrum Master 并没有任何行政上被赋予的权力。他不像部门经理,或是以往的 team leader,原则上他并不对项目的成功负责 (现实中确实有一些 Scrum Master 沿袭了 team leader 或 manager 的权力) 。所以这些经常导致 Scrum Master 究竟是不是权威的争论。除此,还有人提出,Scrum Master 是否表现出色,可以用团队是否需要 Scrum Master 来衡量 (这方面可以参照 Spotify 的组织内没有 Scrum Master) 。于是我们面临的悖论是" 好的 Scrum Master 就是不存在的 Scrum Master"!! ...

2019-04-21 · 2 min · 347 words · -

Scrum

Scrum scrum guide https://www.scrumguides.org/scrum-guide.html Scrum是一种敏捷软件开发的方法学,用于迭代式增量软件开发过程。 Scrum is a simple yet incredibly powerful set of principles and practices that helps teams deliver products in short cycles, enabling fast feedback, continual improvement, and rapid adaptation to change. Scrum是一套简单但功能强大的原则和实践,可帮助团队在短周期内交付产品,实现快速反馈,持续改进和快速适应变化。 Scrum是一个遵循敏捷宣言价值观,基于12条敏捷原则的敏捷过程,它是一种采用迭代式、增量开发的软件开发过程。Scrum在英语的意思是橄榄球里的争球。 Scrum是一个框架,它定义了高层次的管理流程,如下图所示。它并不涉及具体开发方法或者人员的有效沟通技巧等。这些没有涉及的领域需要和其他理论和技能互为补充,以确保项目的成功。 https://desert3.iteye.com/blog/1693360 Scrum是一种敏捷软件开发的方法学,用于迭代式增量软件开发过程。Scrum在英语是橄榄球运动中列阵争球的意思。 https://zh.wikipedia.org/wiki/Scrum 处理复杂的事情,要用框架 处理复杂的事情,如果有框架指导,就能保证最终结果的完整性、系统性及正确性。另外,通过框架,将复杂的事情切分成较小块、把工作流程标准化,从而将大问题变成一个个小问题,大大减少工作难度。 软件开发是一项复杂的活动,敏捷开发也有自己的一种框架: Scrum。 Scrum是什么? Scrum是基于敏捷思想的开发框架,用于迭代式增量软件开发过程。 它基于经验型流程控制理论,所以Scrum框架的坚信: 知识源于经验 决策基于已知的事物 透明性、检视、调整是经验型流程的三大支柱 采用迭代增量式的方法来优化可预测性和管理风险 https://www.jianshu.com/p/fff49687ebf2 Scrum概述 按照Scrum官方联盟的定义,Scrum是一个完成复杂项目的敏捷框架。最初是用以指导软件开发,目前已经延伸到更多复杂和创新的工作领域中。 Scrum为软件开发提供了一个迭代增量的过程框架: 在Scrum中,整个开发周期包括若干个小的迭代周期,这样的小迭代周期称为Sprint,每个Sprint的建议长度2到 4周。 Product Owner(产品负责人)会创建一个具有优先级的需求列表,称之为Product Backlog (产品待办事项) 。产品待办事项的表现形式通常为User Story(用户故事)。 Scrum开发团队通过Sprint Planning (Sprint计划会) ,从Product Backlog中挑选最有价值的需求进行开发。经过Sprint计划会议上的分析、讨论和估算得到任务列表,称为为Sprint backlog 。 ...

2019-04-21 · 2 min · 249 words · -

敏捷 Agile

敏捷 Agile 敏捷宣言 个体和互动 高于 流程和工具 工作的软件 高于 详尽的文档 客户合作 高于 合同谈判 响应变化 高于 遵循计划 也就是说,尽管右项有其价值, 我们更重视左项的价值。 # Kent Beck, James Grenning, Robert C. Martin # Mike Beedle, Jim Highsmith, Steve Mellor # Arie van Bennekum, Andrew Hunt, Ken Schwaber # Alistair Cockburn, Ron Jeffries, Jeff Sutherland # Ward Cunningham, Jon Kern, Dave Thomas # Martin Fowler, Brian Marick 著作权为上述作者所有,2001年 ,此宣言可以任何形式自由地复制, 但其全文必须包含上述申明在内。 Agile 12 Principle Our Highest Priority Is To Satisfy Customer through Early and Continuous Delivery Welcome-Changing Requirements Even Late In Development. Agile Processes Harnesses Change for Customer Competitive Advantage Deliver Working Software Frequently (Weekly or Monthly) With Focus on Shorter Timescale Business People and Developers Should Work Together Daily Build Projects around Motivated Individual. Provide Them the Environment and Support They Need and Trust Them The Most Efficient Way to Convey Information to Your Development Team is Face To Face Conversation Working Software Is a Primary Measure of Success Agile Process Promotes Sustainable Development. Sponsors, Developers and Users Should Maintain a Constant Pace Continuous Attention to Technical Excellence and Good Design Boosts Agility Simplicity—The Art of Maximizing The Amount of Work Not Done but Is Essential The Best Requirements, Architecture, and Design Emerge From Self Organizing Teams At Regular Interval, Team Reflects on How to Become More Effective and Tweak Behavior Accordingly 敏捷开发十二原则 我们的最高目标是,通过尽早和持续地交付有价值的软件来满足客户。 欢迎对需求提出变更——即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势。 要不断交付可用的软件,周期从几周到几个月不等,且越短越好 项目过程中,业务人员与开发人员必须在一起工作。 要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。 无论是团队内还是团队间,最有效的沟通方法是面对面的交谈。 可用的软件是衡量进度的主要指标。 敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。 对技术的精益求精以及对设计的不断完善将提升敏捷性。 要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术。 最佳的架构、需求和设计出自于自组织的团队。 团队要定期反省如何能够做到更有效,并相应地调整团队的行为。 敏捷的核心可以归纳成四个字: “渐进增强”。 ...

2019-04-21 · 2 min · 277 words · -

Apache HttpClient 4.5 How to Get Server Certificates

Apache HttpClient 4.5 How to Get Server Certificates package com.memorynotfound.httpclient; import org.apache.http.HttpResponseInterceptor; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.utils.DateUtils; import org.apache.http.conn.ManagedHttpClientConnection; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.protocol.BasicHttpContext; import org.apache.http.protocol.HttpContext; import org.apache.http.protocol.HttpCoreContext; import javax.net.ssl.SSLSession; import java.io.IOException; import java.security.cert.Certificate; import java.security.cert.X509Certificate; /** * This example demonstrates how to obtain server certificates {@link X509Certificate}. */ public class HttpClientGetServerCertificate { public static final String PEER_CERTIFICATES = "PEER_CERTIFICATES"; public static void main(String... args) throws IOException { // create http response certificate interceptor HttpResponseInterceptor certificateInterceptor = (httpResponse, context) -> { ManagedHttpClientConnection routedConnection = (ManagedHttpClientConnection)context.getAttribute(HttpCoreContext.HTTP_CONNECTION); SSLSession sslSession = routedConnection.getSSLSession(); if (sslSession != null) { // get the server certificates from the {@Link SSLSession} Certificate[] certificates = sslSession.getPeerCertificates(); // add the certificates to the context, where we can later grab it from context.setAttribute(PEER_CERTIFICATES, certificates); } }; // create closable http client and assign the certificate interceptor CloseableHttpClient httpClient = HttpClients .custom() .addInterceptorLast(certificateInterceptor) .build(); try { // make HTTP GET request to resource server HttpGet httpget = new HttpGet("https://google.com"); System.out.println("Executing request " + httpget.getRequestLine()); // create http context where the certificate will be added HttpContext context = new BasicHttpContext(); httpClient.execute(httpget, context); // obtain the server certificates from the context Certificate[] peerCertificates = (Certificate[])context.getAttribute(PEER_CERTIFICATES); // loop over certificates and print meta-data for (Certificate certificate : peerCertificates){ X509Certificate real = (X509Certificate) certificate; System.out.println("----------------------------------------"); System.out.println("Type: " + real.getType()); System.out.println("Signing Algorithm: " + real.getSigAlgName()); System.out.println("IssuerDN Principal: " + real.getIssuerX500Principal()); System.out.println("SubjectDN Principal: " + real.getSubjectX500Principal()); System.out.println("Not After: " + DateUtils.formatDate(real.getNotAfter(), "dd-MM-yyyy")); System.out.println("Not Before: " + DateUtils.formatDate(real.getNotBefore(), "dd-MM-yyyy")); } } finally { // close httpclient httpClient.close(); } } }

2019-04-18 · 2 min · 251 words · -

reveal.js, markdown > PPT

‘reveal.js, markdown > PPT’ 快捷键 全屏 f , 退出全屏 Esc 上一页 p, 下一页 n/空格 首页 Home, 末页 End 缩略图 Esc 或 o 黑屏 b 演讲提示模式 s vi导航键: h, j, k, l 帮助页面: ? 字号 reveal.js的markdown支持4种字号#,##,###,#### 安装nodejs sudo pacman -S nodejs 安装npm sudo pacman -S npm git clone reveal.js git clone https://github.com/hakimel/reveal.js.git cd reveal.js npm install mv index.html index.html.bak ln -s scrum/index.html index.html npm start npm start – –port=8001 ```xml 内容左对齐 .reveal .slides { text-align: left; } .reveal .slides section>* { margin-left: 0; margin-right: 0; } </style> 插入图片并控制样式 路径是相对于index.html的路径 ...

2019-04-16 · 1 min · 91 words · -

idea config, 配置

idea config, 配置 intellij idea 设置显示空格 View>Active Editor>show whitespaces 在IDEA里输入中文,fcitx vim /sbin/idea export XMODIFIERS="@im=fcitx" export GTK_IM_MODULE="fcitx" export QT_IM_MODULE="fcitx" https://blog.csdn.net/shiyibodec/article/details/73549501 java compiler File > Settings > Build, Execution, Deployment > Compiler > Java Compiler Change Target bytecode version to 1.8 of the module that you are working for. https://yangbingdong.com/2017/note-of-learning-idea-under-ubuntu/ font JetBrain推出了一个新的字体 JetBrain Mono. 号称是最适合程序员的编码的字体 terminal 字体 Setting->Editor->Color Scheme->Console Font openjdk source Go to Project Structure dialog, select the “SDKs” node, select your JDK, ...

2019-04-14 · 1 min · 161 words · -

docker btrfs

docker btrfs 镜像分层与Btrfs共享 Docker利用Btrfs subvolumes和快照来管理镜像和容器数据层的硬盘组件(on-disk components)。Btrfs subvolumes看起来像一个正常的Unix文件系统。因此,他们可以有自己的内部目录结构,挂钩到更广泛的Unix文件系统。 subvolumes更新文件时涉及写时拷贝操作,写入新文件时涉及从一个底层存储池来按需分配空间的操作。它们既能嵌套也能做快照。下图显示了4个subvolumes。“subvolume 2″和"subvloume 3″是嵌套的,而"subvolume 4"显示它自己的内部目录树。 使用btrfs驱动的Docker主机创建镜像和容器的过程如下: 1.镜像的基础数据层存储在/var/lib/docker/btrfs/subvolumes的Btrfs subvloume中。 2.后续的镜像数据层存储为subvolume或快照的父级数据层的一个Btrfs快照中。 https://www.centos.bz/2016/12/docker-and-btrfs-in-practice/

2019-04-14 · 1 min · 16 words · -

btrfs command

btrfs command # 安装 btrfs 的用户空间工具 pacman -S btrfs-progs # 像 df 这样的用户空间工具可能不会准确的计算剩余空间 (因为并没有分别计算文件和元数据的使用情况) 。推荐使用 btrfs filesystem usage 来查看使用情况 btrfs filesystem usage / #列出当前路径 (path) 下的子卷: btrfs subvolume list -p path # 碎片整理 btrfs filesystem defragment -r /

2019-04-14 · 1 min · 38 words · -

linux 查看 SATA 速度, 版本

linux 查看 SATA 速度, 版本 https://www.cyberciti.biz/faq/linux-command-to-find-sata-harddisk-link-speed/ sudo pacman -S smartmontools sudo smartctl -a /dev/DEVICE-NAME-HERE sudo smartctl -i /dev/DEVICE-NAME-HERE sudo smartctl -a /dev/sda | grep "^SATA" sudo smartctl -i /dev/sdb | grep "^SATA" sudo smartctl -a /dev/sda sudo smartctl -i /dev/sdb dmesg | grep -i sata | grep 'link up'

2019-04-14 · 1 min · 49 words · -

SSD

SSD TRIM #检查 SSD 是否支持 TRIM lsblk --discard # 或者用 hdparm sudo pacman -S hdparm sudo hdparm -I /dev/sda | grep TRIM Linux 文件系统对于删除操作,只标记为未使用,实际并没有清零,底层存储如 SSD 和传统机械磁盘并不知道哪些数据块可用,哪些数据块可以 Erase。所以对于非空的 page,SSD 在写入前必须先进行一次 Erase,则写入过程为 read-erase-modify-write: 将整个 block 的内容读取到 cache 中,整个 block 从 SSD 中 Erase, 要覆写的 page 写入到 cache 的 block 中,将 cache 中更新的 block 写入闪存介质,这个现象称之为写入放大( write amplification)。 SSD中提供了一个TRIM命令,操作系统在删除文件时可以通过向SSD发送TRIM命令告诉它哪些数据块中的数据已经不再使用了。SSD在收到TRIM命令后,通常会在定期的垃圾收集操作中重新组织这些区块,为将来写入数据做好准备,不过每一款SSD在底层对TRIM命令的执行机制都不尽相同,但无论如何,通过TRIM能够显著改善SSD的性能和寿命。 https://www.guokr.com/blog/483475/ https://zhuanlan.zhihu.com/p/34683444 SSD 检测工具 Crystal Dick Info Crystal Disk Mark Samsung_Magician_Installer_Official_7.0.1.630 https://semiconductor.samsung.com/consumer-storage/support/tools/

2019-04-14 · 1 min · 67 words · -

GraphViz

GraphViz pacman -S graphviz GraphViz是什么? GraphViz是一个开源的图像可视化的软件,是贝尔实验室开发的一个开源的工具包,它使用一个特定的 DSL(领域特定语言): dot 作为脚本语言,然后使用布局引擎来解析此脚本,并完成自动布局。graphviz 提供丰富的导出格式,如常用的图片格式,SVG,PDF 格式等。 Graphviz由一种被称为DOT语言的图形描述语言[3] 与一组可以生成和/或处理DOT文件的工具组成: dot 一个用来将生成的图形转换成多种输出格式的命令行工具。其输出格式包括PostScript,PDF,SVG,PNG,含注解的文本等等。 neato 用于 sprint model 的生成 (在Mac OS版本中称为energy minimized) 。 twopi 用于放射状图形的生成 circo 用于圆形图形的生成。 fdp 另一个用于生成无向图的工具。 dotty 一个用于可视化与修改图形的图形用户界面程序。 lefty 一个可编程的(使用一种被EZ影响的语言[4])控件,它可以显示DOT图形,并允许用户用鼠标在图上执行操作。Lefty可以作为MVC模型的使用图形的GUI程序中的视图部分。 作者: 疯狂的小托马斯 链接: https://www.jianshu.com/p/8e88b2a5dc03 来源: 简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

2019-04-13 · 1 min · 41 words · -

win10 onedrive cpu

win10 onedrive cpu https://mingjiejian.github.io/2017/09/15/onedrive/ 推荐且不怎么伤的办法 从解决方法来说原因应该是Onedrive的log出错了,一直以为没有更新所以卡在更新/安装上,所以一个比较简单的解决办法就是删掉错误的log。这两个log是 C:\Users\用户名\AppData\Local\Microsoft\OneDrive\setup\logs\userTelemetryCache.otc C:\Users\用户名\AppData\Local\Microsoft\OneDrive\setup\logs\userTelemetryCache.otc.session 在Onedrive打开而且用户没有注销登录的情况下在任务管理器中结束OneDriveSetup.exe进程 将上述的两个log文件删除 运行C:\Users\用户名\AppData\Local\Microsoft\OneDrive\Update\OneDriveSetup.exe 应该就可以了 有的时候可能自己觉得太烦想重装,已经将Onedrive卸载了 (我就是这么做的) ;这个时候只需要做上面的第2步然后双击安装文件就行了,不会再卡在安装那。不过之后要重新登录一下自己的账户。

2019-04-11 · 1 min · 15 words · -

bspwm

bspwm https://wiki.archlinux.org/title/bspwm https://zhuanlan.zhihu.com/p/568211941 mkdir ~/.config install -Dm755 /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/bspwmrc install -Dm644 /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/sxhkdrc 快捷键 win + enter: 打开 urxvt win + space: dmenu_run

2019-04-10 · 1 min · 23 words · -

TProxy

TProxy net.ipv4.ip_forward 这条命令的作用是开启 Linux 系统的 IPv4 协议栈的数据包转发功能。 sudo sysctl net.ipv4.ip_forward = 1 ip_forward = 0 如果目标 IP 地址是本机拥有的某个 IP 地址,系统就会接收并处理这个数据包(例如,交给某个正在监听端口的应用程序)。 如果目标 IP 地址不是本机的,系统会默认将该数据包丢弃。这是普通主机(Host)的正常行为。 ip_forward = 1 如果目标 IP 地址是本机的,处理方式不变。 如果目标 IP 地址不是本机的,系统不会丢弃它。而是会查询自己的路由表,根据路由规则将这个数据包从合适的网络接口转发出去,发送给下一个路由器或者目标主机。这时,这台机器就扮演了路由器(Router)的角色。 TPROXY 的作用 TPROXY(Transparent Proxy)用来做 透明代理,可以拦截特定的流量,并强制把它交给本地某个 socket(通常是代理进程),而 不改变包的目标地址/端口(和 REDIRECT 不一样,REDIRECT 会改成本机 IP)。 TPROXY 依赖内核的 nf_tproxy_core 模块,它会在路由决策阶段之前决定:这个包是否交给本地 socket TPROXY 能拦截哪些流量 来自外部的流量 在 mangle/PREROUTING 链,TPROXY 可以截获所有进入本机的包 —— 不论目标 IP 是本机,还是本来应该转发出去的其它主机,都可以“强行”转给本地代理进程。 这就是它相比 REDIRECT 的强大之处: REDIRECT 只能改成本机 IP,所以只适合本机为目标的流量; TPROXY 不改变目标 IP,能“假装”这个包还是发往原地址,同时又让本地代理进程接收。 本地产生的流量 在 mangle/OUTPUT 链,TPROXY 可以截获本机应用发出的连接,再转交给代理进程。 哪些流量不能被 TPROXY 拦截? 内核绕过 Netfilter 的流量:例如某些特殊协议或 raw socket 直接发出的包。 ...

2019-04-10 · 3 min · 458 words · -

golang, cgo, CGO_ENABLED

golang, cgo, CGO_ENABLED go build CGO_ENABLED=0 GOOS=linux go build -v -a -o name0 main.go cgo CGO 提供了 golang 和 C 语言相互调用的机制。某些第三方库可能只有 C/C++ 的实现,完全用纯 golang 的实现可能工程浩大,这时候 CGO 就派上用场了。 可以通 CGO 在 golang 在调用 C 的接口,C++ 的接口可以用 C 包装一下提供给 golang 调用。 被调用的 C 代码可以直接以源代码形式提供或者打包静态库或动态库在编译时链接。 推荐使用静态库的方式,这样方便代码隔离,编译的二进制也没有动态库依赖方便发布也符合 golang 的哲学。 CGO_ENABLED=0 的情况下,Go 采用纯静态编译; CGO_ENABLED=1 go build 编译时会添加一些动态库链接 如 glibc cgo,允许你在 Go 代码中调用C代码 我们以os/user为例,在 CGO_ENABLED=1,即 cgo 开启的情况下,os/user 包中的 lookupUserxxx 系列函数采用了 c 版本的实现,我们看到在 $GOROOT/src/os/user/lookup_unix.go 中的 build tag 中包含了 build cgo。这样一来,在 CGO_ENABLED=1,该文件将被编译,该文件中的c版本实现的lookupUser将被使用 ...

2019-04-05 · 1 min · 87 words · -

linux nm

linux nm nm 目标文件格式分析 nm 命令显示关于指定 File 中符号的信息,文件可以是对象文件、可执行文件或对象文件库。如果文件没有包含符号信息,nm 命令报告该情况,但不把它解释为出错条件。 nm 命令缺省情况下报告十进制符号表示法下的数字值。 nm nm命令主要是列出目标文件的符号 (说白了就是一些函数和全局变量等) 。 如果你编译出来的程序没有经过 strip ,那么 nm 命令可以挖掘出隐含在可执行文件中的重大秘密。它可以帮你列出文件中的变量及函数,这对于我们进行反向操作具有重大意义。 下面我们通过一小段简单的程序来讲解 nm 命令的用途。在编译这个程序时,我们加上了 -g 选项,这个选项可以使编译出来的文件包含更多有效信息。 nm /path/to/foo nm命令 功能:列出.o、.a、.so中的符号信息,包括符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等 https://blog.csdn.net/mayue_web/article/details/115919693 使用: nm [option(s)] [file(s)] 1 示例: 查看静态库或动态库定义了哪些函数 nm -n –defined-only xxxx.a nm -g -C –defined-only xxxx.so nm -D xxxx.so 显示hello.a 中的未定义符号,需要和其他对象文件进行链接 nm -u hello.o 在 ./ 目录下找出哪个库文件定义了close_socket函数 nm -A ./* 2>/dev/null | grep “T close_socket” ———————————————— 版权声明:本文为CSDN博主「mayue_csdn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/mayue_web/article/details/103879976 https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/nm.html

2019-04-05 · 1 min · 71 words · -

win11 ssh agent

win11 ssh agent https://www.cnblogs.com/sparkdev/p/10166061.html https://davidaugustat.com/windows/windows-11-setup-ssh making sure that the OpenSSH client is installed Settings -> Apps -> Optional Features Scroll to “OpenSSH Client” and click on the item If it shows an “Uninstall” button, then OpenSSH is already installed, and you can skip to the next section. open Windows service, win + R “services.msc” Enabling the SSH Authentication Agent scroll to “OpenSSH Authentication Agent” and set to Automatic Delayed Start Generating the SSH key add private key into ssh-agent ...

2019-04-05 · 1 min · 100 words · -

hyperv archlinux

hyperv archlinux hyper v 禁用安全启动 虚拟机>设置>安全>启用安全启动(去掉勾选) network 在虚拟机栏中右键点击虚拟机>设置>添加硬件 选择"网络适配器" 点击添加按钮 添加 Default switch. Default switch默认会做nat,添加 后虚拟机可以正常访问网络.但Default switch的ip/网段每次重启会变,如果 需要 固定ip,需要另外手动新建一个交换机sw0 新建虚拟交换机 Hyper-V 管理器>右侧操作栏>虚拟交换机管理器>新建虚拟交换机>内部>新建虚拟交换机 名称: sw0 连接类型: 内部网络 在windows中打开网络适配器设置,手动设置sw的 ip为 192.168.80.1 网关可以不填 dns: 192.168.1.xxx linux里 手动测试sw0的ip : 192.168.80.2 Gateway 不要设置, 两个网卡 对应default switch的设置默认网关,sw0不设置 DNS: 192.168.1.xxx 问题 遇到过一次虚拟机不能访问外网, 确认linux网络 配置没有问题, 重启windows解决了. install VcXsrv GUI VSOCK + x410 https://x410.dev/cookbook/hyperv/using-x410-with-hyper-v-linux-virtual-machines-via-vsock/ 卸载 xrdp yay -R xrdp 修改win10注册表,配置vsock x410-display-0-only.reg Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\GuestCommunicationServices\00001770-facb-11e6-bd58-64006a7986d3] "ElementName"="X410 Display 0" 启动x410 并 开启vsock x410 /listen hyperv /desktop xfce4 桌面启动脚本 sudo vim /usr/bin/start-xfce4-desktop.sh export XDG_SESSION_TYPE=x11 export XDG_CURRENT_DESKTOP=“XFCE” exec startxfce4 ...

2019-04-01 · 2 min · 262 words · -

KVM 的-nographic与-display选项

KVM 的-nographic与-display选项 KVM的-nographic与-display选项 http://openwares.net/2014/03/10/kvm_nographic_display/ KVM的-nographic与-display选项& http://openwares.net/2014/03/10/kvm_nographic_display/embed/#?secret=cEd7rLTTHt KVM客户机正常运行时是不需要在主机上显示图形界面的,以前都是使用-nographic和-daemoniz选项来使客户机后台运行。 但是从qemu-kvm 1.4开始,这招不灵了,会有这样的错误提示: -nographic can not be used with -daemonize 这提示过于简单的,新版本的kvm不再允许-nographic和-daemonize一起使用了,应该使用-display none参数来代替-nographic,这样: kvm … -display none -daemonize -display参数用于替代老风格的显示类型选项,如-sdl,-curses,-vnc,其语法如下: -display [sdl | curses | vnc=] 其中,vnc=中的display与显示环境变量$DISPLAY的含义一致,格式为hostname: displaynumber.screennumber(X服务器主机名/地址:显示号.屏幕号)。一般设置为vnc=:0即可,如果有多台虚拟机在同一台主机上需要同时使用VNC,则每台客户机的显示号顺延就可,比如:1,:2,:3等,而通过vnc客户端连接客户机的端口号则分别为5900,5901,5902,5903。5900是默认的vnc端口,对应显示设备:0。 使用-display none选项时,客户机仍然会看到模拟的显卡,但是其显示不会输出给用户。 -display none与-nographic的区别是,-display none仅仅影响显示输出,而-nographic同时还会影响串行口和并行口的输出。 -nographic和-daemonize组合一直以来存在一个小问题,kvm客户机启动后,主机虚拟终端后续的命令回显会被关闭,但命令的输出会显示,只能退出重新登录终端才会恢复正常,这是个很明显的bug,却很久都没有修复。改用-display none参数后就没有此问题了。 kvm更详细的用法,请自行 man qemu

2019-03-31 · 1 min · 42 words · -

nftables trace

nftables trace nhttps://wiki.nftables.org/wiki-nftables/index.php/Ruleset_debug/tracing nft add rule nat post ip saddr 192.168.60.0/24 meta nftrace set 1 oif wlp3s0 masquerade nft add rule nat post ip protocol icmp icmp type echo-request meta nftrace set 1 accept nft insert rule nat post ip protocol icmp icmp type echo-request meta nftrace set 1 accept nft add rule nat post ip protocol icmp icmp type echo-request meta nftrace set 1 log nft monitor trace

2019-03-30 · 1 min · 69 words · -