<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>All on Jermineの博客 </title>
    <link>https://Jermine.vdo.pub/categories/all/</link>
    <description>Recent content in All on Jermineの博客 </description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <lastBuildDate>Sun, 15 Mar 2026 09:12:34 +0800</lastBuildDate>
    <atom:link href="https://Jermine.vdo.pub/categories/all/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Set Mirrors for Pi - 树莓派配置加速镜像</title>
      <link>https://Jermine.vdo.pub/raspberry-pi/set-mirrors-for-pi/</link>
      <pubDate>Mon, 21 Aug 2017 16:09:28 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/raspberry-pi/set-mirrors-for-pi/</guid>
      <description>&lt;h2 id=&#34;执行如下命令完成配置&#34;&gt;执行如下命令完成配置&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;root@raspi:/home/pi# cat &amp;gt; /etc/apt/sources.list&#xA;deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi&#xA;#deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;然后执行&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt update&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Sub System Linux for Win10 - Win10设置Linux子系统</title>
      <link>https://Jermine.vdo.pub/win10/sub-system-linux-for-win10/</link>
      <pubDate>Thu, 07 Sep 2017 10:29:47 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/win10/sub-system-linux-for-win10/</guid>
      <description>&lt;p&gt;按如下步骤进行安装：&lt;/p&gt;&#xA;&lt;h1 id=&#34;设置win10开启linux&#34;&gt;设置win10开启Linux&lt;/h1&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/win10/1836534-05d8e85c3ba54a60.png&#34; alt=&#34;linux子系统&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/win10/1836534-780f6423bd5160f2.png&#34; alt=&#34;linux子系统&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/win10/1836534-05bbfeca9c2f7aae.png&#34; alt=&#34;linux子系统&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;系统升级到一周年正式版及以上(1607)&lt;/p&gt;&#xA;&lt;p&gt;依次在 设置 - 更新与安全 - 针对开发人员 选项中，启用&amp;quot;开发人员模式&amp;quot;&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Config for Alive - 解决ssh经常断开的问题</title>
      <link>https://Jermine.vdo.pub/linux/sshd-config-for-alive/</link>
      <pubDate>Thu, 12 May 2016 09:54:32 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/sshd-config-for-alive/</guid>
      <description>&lt;p&gt;SSH连接总是隔一段时间没有输入时就断开，解决办法如下：&lt;/p&gt;&#xA;&lt;h3 id=&#34;服务端配置&#34;&gt;服务端配置&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo vi /etc/ssh/sshd_config&#xA;ClientAliveInterval 60     #服务端主动向客户端请求响应的间隔&#xA;ClientAliveCountMax 10    #服务器发出请求后客户端没有响应的次数达到一定值就自动断开&#xA;sudo restart ssh&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;客户端配置&#34;&gt;客户端配置&lt;/h3&gt;&#xA;&lt;p&gt;sudo vi /etc/ssh/ssh_config  #或~/.ssh/config&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用buildah在容器中构建镜像</title>
      <link>https://Jermine.vdo.pub/cloud-native/k8s-build-images-by-buildah/</link>
      <pubDate>Sun, 15 Mar 2026 09:12:34 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/cloud-native/k8s-build-images-by-buildah/</guid>
      <description>&lt;h1 id=&#34;背景&#34;&gt;背景&lt;/h1&gt;&#xA;&lt;p&gt;多年来， Kaniko一直是构建镜像的首选方案，它是谷歌专为在非特权容器内构建镜像而开发的工具，无需 Docker 守护进程。然而在 2025 年 6 月，谷歌将该代码库归档，现在它已变为只读。GitLab 也已移除 Kaniko 的相关文档，并推荐使用 Buildah 或 Podman 等替代工具。&lt;/p&gt;</description>
    </item>
    <item>
      <title>跨平台音乐播放器</title>
      <link>https://Jermine.vdo.pub/tools/%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE%E5%99%A8/</link>
      <pubDate>Sun, 11 May 2025 11:02:31 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/tools/%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE%E5%99%A8/</guid>
      <description>&lt;h1 id=&#34;musicfree下载安装&#34;&gt;MusicFree下载安装&lt;/h1&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;项目地址：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;手机端：https://github.com/maotoumao/MusicFree&lt;/li&gt;&#xA;&lt;li&gt;桌面端：https://github.com/maotoumao/MusicFreeDesktop&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;插件地址：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://musicfreepluginshub.2020818.xyz/plugins.json&#34;&gt;https://musicfreepluginshub.2020818.xyz/plugins.json&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>git通过https协议使用仓库时如何记住token?</title>
      <link>https://Jermine.vdo.pub/tools/git%E9%80%9A%E8%BF%87https%E5%8D%8F%E8%AE%AE%E4%BD%BF%E7%94%A8%E4%BB%93%E5%BA%93%E6%97%B6%E5%A6%82%E4%BD%95%E8%AE%B0%E4%BD%8Ftoken/</link>
      <pubDate>Thu, 18 Feb 2021 11:02:31 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/tools/git%E9%80%9A%E8%BF%87https%E5%8D%8F%E8%AE%AE%E4%BD%BF%E7%94%A8%E4%BB%93%E5%BA%93%E6%97%B6%E5%A6%82%E4%BD%95%E8%AE%B0%E4%BD%8Ftoken/</guid>
      <description>&lt;h1 id=&#34;git通过https协议使用仓库时如何记住token&#34;&gt;git通过https协议使用仓库时如何记住token?&lt;/h1&gt;&#xA;&lt;p&gt;通过配置 Git 的凭据助手（credential helper），可以记住 HTTPS 访问时需要的用户名和 Token（作为密码），避免重复输入。&lt;/p&gt;&#xA;&lt;h3 id=&#34;常用方法按安全性便捷性排序&#34;&gt;常用方法（按安全性/便捷性排序）&lt;/h3&gt;&#xA;&lt;h4 id=&#34;1-临时缓存适合短期使用&#34;&gt;1. 临时缓存（适合短期使用）&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;git config --global credential.helper cache&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 默认缓存 15 分钟，可修改超时（秒）：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;git config --global credential.helper &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;cache --timeout=3600&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;2-永久存储到文件明文安全性低&#34;&gt;2. 永久存储到文件（明文，安全性低）&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;git config --global credential.helper store&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 凭据会保存在 ~/.git-credentials，首次输入后永久生效&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;3-使用操作系统安全存储推荐&#34;&gt;3. 使用操作系统安全存储（推荐）&lt;/h4&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Windows&lt;/strong&gt;（Git for Windows 自带）&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;git config --global credential.helper manager-core&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 或旧版：git config --global credential.helper wincred&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;macOS&lt;/strong&gt;（钥匙串）&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;git config --global credential.helper osxkeychain&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Linux&lt;/strong&gt;（需要安装 &lt;code&gt;libsecret&lt;/code&gt;）&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;sudo apt-get install libsecret-1-0 libsecret-1-dev&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&lt;/span&gt;&lt;span&gt;sudo make -C /usr/share/doc/git/contrib/credential/libsecret&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&lt;/span&gt;&lt;span&gt;git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;或者使用 &lt;code&gt;gnome-keyring&lt;/code&gt; 等。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;4-直接在远程-url-中嵌入-token一次性配置url-变更&#34;&gt;4. 直接在远程 URL 中嵌入 Token（一次性配置，URL 变更）&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&lt;/span&gt;&lt;span&gt;git remote set-url origin https://你的用户名:你的token@github.com/用户名/仓库.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;⚠️ Token 会明文存储在 &lt;code&gt;.git/config&lt;/code&gt; 中，且 &lt;code&gt;git remote -v&lt;/code&gt; 会暴露 Token。&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何在手机终端上使用claude-code？</title>
      <link>https://Jermine.vdo.pub/tools/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%89%8B%E6%9C%BA%E7%BB%88%E7%AB%AF%E4%B8%8A%E4%BD%BF%E7%94%A8claude-code/</link>
      <pubDate>Thu, 18 Feb 2021 11:02:31 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/tools/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%89%8B%E6%9C%BA%E7%BB%88%E7%AB%AF%E4%B8%8A%E4%BD%BF%E7%94%A8claude-code/</guid>
      <description>&lt;h1 id=&#34;在termux中使用proot-distro运行ubuntu&#34;&gt;在Termux中使用proot-distro运行ubuntu&lt;/h1&gt;&#xA;&lt;p&gt;直接在termux中安装claude code会遇到下面错误：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;bun -version&#xA;error: &amp;#34;/data/data/com.termux/files/home/.bun/bin/bun&amp;#34; has unexpected e_type: 2&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这个错误是因为bun是为标准Linux环境（依赖&lt;code&gt;glibc&lt;/code&gt;库）编译的,和Termux的Android环境（&lt;code&gt;bionic libc&lt;/code&gt;）不兼容。&lt;/p&gt;</description>
    </item>
    <item>
      <title>处理git无法显示中文的问题</title>
      <link>https://Jermine.vdo.pub/tools/%E5%A4%84%E7%90%86git%E6%97%A0%E6%B3%95%E6%98%BE%E7%A4%BA%E4%B8%AD%E6%96%87%E7%9A%84%E9%97%AE%E9%A2%98/</link>
      <pubDate>Mon, 18 Jan 2021 11:02:31 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/tools/%E5%A4%84%E7%90%86git%E6%97%A0%E6%B3%95%E6%98%BE%E7%A4%BA%E4%B8%AD%E6%96%87%E7%9A%84%E9%97%AE%E9%A2%98/</guid>
      <description>&lt;h1 id=&#34;git-pull-遇到乱码&#34;&gt;git pull 遇到乱码&lt;/h1&gt;&#xA;&lt;p&gt;执行git pull 输出好多编码非中文的字符：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 1&lt;/span&gt;&lt;span&gt;remote: Enumerating objects: 42, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 2&lt;/span&gt;&lt;span&gt;remote: Counting objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;42/42&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 3&lt;/span&gt;&lt;span&gt;remote: Compressing objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;18/18&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 4&lt;/span&gt;&lt;span&gt;remote: Total &lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 9&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, reused &lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;delta 9&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, pack-reused &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;from 0&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 5&lt;/span&gt;&lt;span&gt;Unpacking objects: 100% &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;32/32&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;, 4.17 KiB | 8.00 KiB/s, &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 6&lt;/span&gt;&lt;span&gt;From github.com:JermineHu/jerminehu.github.io&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 7&lt;/span&gt;&lt;span&gt;   08d9ec6..9c5c1ec  master     -&amp;gt; origin/master&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 8&lt;/span&gt;&lt;span&gt;Updating 08d9ec6..9c5c1ec&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 9&lt;/span&gt;&lt;span&gt;Fast-forward&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;10&lt;/span&gt;&lt;span&gt; .../29&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;46&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;27&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;45/&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;45&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;05&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;63&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;44&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;72&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;16claude code&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;44&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;75&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;77&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;47&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;24&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;50.md&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; | 39 +++++++++++++++++++++++++++++++++++++++&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;11&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; .../30\346\227\245/\346\210\220\344\270\272\350\207\252\345\267\261.md&amp;#34;&lt;/span&gt;            |  &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;12&lt;/span&gt;&lt;span&gt; .../03&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;46&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;27&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;45/&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;45&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;05&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;63&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;44&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;72&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;16&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;47&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;35&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;41&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;47&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;34&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;40.md&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;            | 21 +++++++++++++++++++++&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;13&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; ...203\345\271\263\350\203\275\346\204\210\344\270\211\345\215\203\347\226\276.md&amp;#34;&lt;/span&gt; | &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt; +++++++++++++++&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;14&lt;/span&gt;&lt;span&gt; ...214&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;45&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;22&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;14&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;46&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;03&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;63&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;46&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;10&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;20&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;44&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;70&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;72&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;47&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;32&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;04&lt;span style=&#34;color:#ae81ff&#34;&gt;\3&lt;/span&gt;44&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;72&lt;span style=&#34;color:#ae81ff&#34;&gt;\2&lt;/span&gt;72.md&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34; | 14 ++++++++++++++&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;15&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; .../05\346\227\245/\346\234\235\350\212\261\345\244\225\346\213\276.md&amp;#34;&lt;/span&gt;            |  &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt; ++++++&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;16&lt;/span&gt;&lt;span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt; files changed, &lt;span style=&#34;color:#ae81ff&#34;&gt;96&lt;/span&gt; insertions&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;+&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;17&lt;/span&gt;&lt;span&gt; create mode &lt;span style=&#34;color:#ae81ff&#34;&gt;100644&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/03\346\227\245/\345\205\263\344\272\216\347\235\241\347\234\240.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;18&lt;/span&gt;&lt;span&gt; create mode &lt;span style=&#34;color:#ae81ff&#34;&gt;100644&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/05\346\227\245/\345\277\203\345\271\263\350\203\275\346\204\210\344\270\211\345\215\203\347\226\276.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;19&lt;/span&gt;&lt;span&gt; create mode &lt;span style=&#34;color:#ae81ff&#34;&gt;100644&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/05\346\227\245/\346\210\221\344\273\254\347\273\210\345\205\266\344\270\200\347\224\237\345\257\273\346\211\276\347\232\204\357\274\214\345\272\224\350\257\245\346\230\257\350\207\252\345\267\261\345\226\234\346\254\242\347\232\204\347\224\237\346\264\273\346\226\271\345\274\217\357\274\214\345\222\214\346\203\263\346\210\220\344\270\272\347\232\204\344\272\272.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;20&lt;/span&gt;&lt;span&gt; create mode &lt;span style=&#34;color:#ae81ff&#34;&gt;100644&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;6. \350\241\250\350\276\276/\345\215\241\347\211\207/2026\345\271\264/2\345\255\243\345\272\246/05\346\234\210/05\346\227\245/\346\234\235\350\212\261\345\244\225\346\213\276.md&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;解决方案&#34;&gt;解决方案：&lt;/h1&gt;&#xA;&lt;p&gt;遇到的问题是 Git 默认将非 ASCII 路径名（如中文）转义为 &lt;code&gt;\nnn&lt;/code&gt; 形式的八进制编码，这是为了确保在老旧或非 UTF-8 环境中输出不会乱码。解决办法很简单：关闭路径转义。&lt;/p&gt;</description>
    </item>
    <item>
      <title>解决GPU显存未释放问题</title>
      <link>https://Jermine.vdo.pub/python/%E8%A7%A3%E5%86%B3gpu%E6%98%BE%E5%AD%98%E6%9C%AA%E9%87%8A%E6%94%BE%E9%97%AE%E9%A2%98/</link>
      <pubDate>Thu, 21 Mar 2019 15:53:29 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/python/%E8%A7%A3%E5%86%B3gpu%E6%98%BE%E5%AD%98%E6%9C%AA%E9%87%8A%E6%94%BE%E9%97%AE%E9%A2%98/</guid>
      <description>&lt;h2 id=&#34;定位问题&#34;&gt;定位问题&lt;/h2&gt;&#xA;&lt;p&gt;我们在使用&lt;code&gt;tensorflow+pycharm或者PyTorch&lt;/code&gt;写程序的时候,　有时候会在控制台终止掉正在运行的程序，但是有时候程序已经结束了，nvidia-smi也看到没有程序了，但是GPU的内存并没有释放，这是怎么回事呢？&lt;/p&gt;</description>
    </item>
    <item>
      <title>Openshift Setup</title>
      <link>https://Jermine.vdo.pub/cloud-native/openshift-setup/</link>
      <pubDate>Fri, 15 Mar 2019 09:12:34 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/cloud-native/openshift-setup/</guid>
      <description>&lt;h1 id=&#34;介绍&#34;&gt;介绍：&lt;/h1&gt;&#xA;&lt;p&gt;OpenShift是红帽的云开发平台即服务（PaaS）。自由和开放源码的云计算平台使开发人员能够创建、测试和运行他们的应用程序，并且可以把它们部署到云中。Openshift广泛支持多种编程语言和框架，如Java，Ruby和PHP等。另外它还提供了多种集成开发工具如Eclipse integration，JBoss Developer Studio和 Jenkins等。OpenShift 基于一个开源生态系统为移动应用，数据库服务等，提供支持。&#xA;OpenShift Online服务构建在Red Hat Enterprise Linux上。Red Hat Enterprise Linux提供集成应用程序，运行库和一个配置可伸缩的多用户单实例的操作系统，以满足企业级应用的各种需求。&lt;/p&gt;</description>
    </item>
    <item>
      <title>基于Docker部署ceph分布式文件系统[MImic13.2</title>
      <link>https://Jermine.vdo.pub/ceph/%E5%9F%BA%E4%BA%8Edocker%E9%83%A8%E7%BD%B2ceph%E5%88%86%E5%B8%83%E5%BC%8F%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9Fmimic13.2.4%E7%89%88%E6%9C%AC/</link>
      <pubDate>Thu, 24 Jan 2019 15:32:11 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/ceph/%E5%9F%BA%E4%BA%8Edocker%E9%83%A8%E7%BD%B2ceph%E5%88%86%E5%B8%83%E5%BC%8F%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9Fmimic13.2.4%E7%89%88%E6%9C%AC/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;本文记录了基于docker部署最新ceph版本的多节点高可用测试详尽过程，切身体会比ceph-deploy方便得多，希望能给初次接触ceph的同学提供些许参考。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux安装Nvidia Docker</title>
      <link>https://Jermine.vdo.pub/linux/linux%E5%AE%89%E8%A3%85nvidia-docker/</link>
      <pubDate>Wed, 26 Dec 2018 18:14:00 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/linux%E5%AE%89%E8%A3%85nvidia-docker/</guid>
      <description>&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt; 由于程序运行于容器之中，所以镜像中一般都是带有CUDA、CUDNN库的，因此只需要在docker所在的主机上安装显卡驱动即可，无需费太大力气去安装cuda、cuddn之类的东西。&lt;/p&gt;</description>
    </item>
    <item>
      <title>2018-12-24、2018-12-24武汉大学课程大纲</title>
      <link>https://Jermine.vdo.pub/train/whdx/</link>
      <pubDate>Mon, 24 Dec 2018 18:57:10 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/train/whdx/</guid>
      <description>&lt;h1 id=&#34;关于武汉大学的课程&#34;&gt;关于武汉大学的课程&lt;/h1&gt;&#xA;&lt;p&gt;2018年12月24-12月25第一次登上武汉大学讲台，讲了两天课，一共12个课时，分4部分，涵盖了DevOps的大多数内容（课程内容见: &lt;a href=&#34;http://t.cn/EMAjtPw&#34;&gt;http://t.cn/EMAjtPw&lt;/a&gt; 提取码: iigw ），总体来说效果很好，做了这么久技术，出来讲讲课真的很过瘾!现在我有60名左右的学生，手下还带了几批实习生，有些实习生很优秀，实习之前申请了国外的学校准备去国外深造前途不可限量。&lt;/p&gt;</description>
    </item>
    <item>
      <title>本地服务器搭建Harbor</title>
      <link>https://Jermine.vdo.pub/docker/%E6%9C%AC%E5%9C%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BAharbor/</link>
      <pubDate>Mon, 10 Dec 2018 17:38:45 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/%E6%9C%AC%E5%9C%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BAharbor/</guid>
      <description>&lt;h2 id=&#34;unix下安装harbor镜像仓库&#34;&gt;Unix下安装Harbor镜像仓库&lt;/h2&gt;&#xA;&lt;p&gt;harbor的&lt;a href=&#34;https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md&#34;&gt;官方安装指南&lt;/a&gt;介绍了harbor有三种安装方式，分别是在线安装、离线安装和OVA安装，本文主要采用离线安装的方式。&lt;/p&gt;&#xA;&lt;p&gt;官方文档上面说明需要依赖Python 2.7或以上版本，Docker引擎1.10以上，还有Docker Compose 1.6.0或以上版本，openssl。&lt;/p&gt;</description>
    </item>
    <item>
      <title>LDAP集成多个系统配置截图</title>
      <link>https://Jermine.vdo.pub/devops/ldap%E9%9B%86%E6%88%90%E5%A4%9A%E4%B8%AA%E7%B3%BB%E7%BB%9F%E9%85%8D%E7%BD%AE%E6%88%AA%E5%9B%BE/</link>
      <pubDate>Fri, 07 Dec 2018 09:47:45 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/devops/ldap%E9%9B%86%E6%88%90%E5%A4%9A%E4%B8%AA%E7%B3%BB%E7%BB%9F%E9%85%8D%E7%BD%AE%E6%88%AA%E5%9B%BE/</guid>
      <description>&lt;h1 id=&#34;多个系统基于ldap用户认证&#34;&gt;多个系统基于LDAP用户认证&lt;/h1&gt;&#xA;&lt;p&gt;OpenLDAP是一个集中的用户账号管理系统。使用轻量级目录访问协议（LDAP）构建集中的身份验证系统可以减少管理成本，增强安全性，避免数据复制的问题，并提高数据的一致性。&lt;/p&gt;</description>
    </item>
    <item>
      <title>关于Docker远程连接</title>
      <link>https://Jermine.vdo.pub/docker/%E5%85%B3%E4%BA%8Edocker_%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5/</link>
      <pubDate>Thu, 29 Nov 2018 11:24:37 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/%E5%85%B3%E4%BA%8Edocker_%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5/</guid>
      <description>&lt;h2 id=&#34;非安全的连接方式&#34;&gt;非安全的连接方式&lt;/h2&gt;&#xA;&lt;p&gt;先介绍 &lt;code&gt;非安全&lt;/code&gt; 的连接方式。&lt;/p&gt;&#xA;&lt;h3 id=&#34;服务端配置&#34;&gt;服务端配置&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;CoreOS &lt;/code&gt;请使用第二种方法，其他 Linux 系统配置时选择以下两种方法之一&lt;/p&gt;&#xA;&lt;h3 id=&#34;通常的配置方法&#34;&gt;通常的配置方法&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;docker.service&lt;/code&gt; 中 &lt;code&gt;dockerd&lt;/code&gt; 的&lt;code&gt; -H&lt;/code&gt; 参数不能与 &lt;code&gt;daemon.json&lt;/code&gt; 中的 &lt;code&gt;hosts &lt;/code&gt;键值对冲突。(其他参数同理)&lt;/p&gt;&#xA;&lt;p&gt;新建 &lt;code&gt;/etc/systemd/system/docker.service.d/docker.conf&lt;/code&gt; 文件。&lt;/p&gt;</description>
    </item>
    <item>
      <title>使用dotnet core通过docker部署一个基于微服务的demo应用</title>
      <link>https://Jermine.vdo.pub/microservice/%E4%BD%BF%E7%94%A8dotnet-core%E9%80%9A%E8%BF%87docker%E9%83%A8%E7%BD%B2%E4%B8%80%E4%B8%AA%E5%9F%BA%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84demo%E5%BA%94%E7%94%A8/</link>
      <pubDate>Tue, 27 Nov 2018 13:25:20 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/microservice/%E4%BD%BF%E7%94%A8dotnet-core%E9%80%9A%E8%BF%87docker%E9%83%A8%E7%BD%B2%E4%B8%80%E4%B8%AA%E5%9F%BA%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84demo%E5%BA%94%E7%94%A8/</guid>
      <description>&lt;h2 id=&#34;使用dotcore通过docker部署一个基于微服务的demo应用&#34;&gt;使用dotcore通过docker部署一个基于微服务的demo应用&lt;/h2&gt;&#xA;&lt;h3 id=&#34;架构概述&#34;&gt;架构概述&lt;/h3&gt;&#xA;&lt;p&gt;这个参考应用程序在服务器和客户端是跨平台的，这要归功于.NET Core服务能够在Linux或Windows容器上运行，具体取决于您的Docker主机，以及Xamarin用于在Android，iOS或Windows / UWP plus上运行的移动应用程序客户端Web应用程序的任何浏览器。该体系结构提出了一种面向微服务的体系结构实现，具有多个自治微服务（每个都拥有自己的数据库/ db），并在每个微服务中实现不同的方法（简单的CRUD与DDD / CQRS模式），使用Http作为客户端应用程序之间的通信协议。微服务和支持异步通信，用于基于集成事件和事件总线（轻量级消息代理，在RabbitMQ或Azure Service Bus之间进行选择，跨多个服务）进行数据更新传播。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nvidia Docker可以指定GPU以及数量</title>
      <link>https://Jermine.vdo.pub/docker/nvidia-docker/</link>
      <pubDate>Fri, 23 Nov 2018 18:17:44 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/nvidia-docker/</guid>
      <description>&lt;h2 id=&#34;docker可以指定gpu以及数量操作如下&#34;&gt;docker可以指定GPU以及数量操作如下：&lt;/h2&gt;&#xA;&lt;p&gt;docker调用GPU时可以明确指定用哪一张显卡，同时也可以指定数量&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/docker/1.png&#34; alt=&#34;1&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ubuntu18.04修改DNS</title>
      <link>https://Jermine.vdo.pub/linux/ubuntu18.04%E4%BF%AE%E6%94%B9dns/</link>
      <pubDate>Thu, 22 Nov 2018 14:56:29 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/ubuntu18.04%E4%BF%AE%E6%94%B9dns/</guid>
      <description>&lt;h2 id=&#34;ubuntu1804修改dns&#34;&gt;Ubuntu18.04修改DNS&lt;/h2&gt;&#xA;&lt;h3 id=&#34;问题描述&#34;&gt;问题描述&lt;/h3&gt;&#xA;&lt;p&gt;最近使用了最新版的&lt;code&gt;ubuntu 18.04&lt;/code&gt;运行一些服务，然后发现服务器经常出现网络不通的情况，主要是一些域名无法解析。&lt;/p&gt;&#xA;&lt;p&gt;检查&lt;code&gt;/etc/resolv.conf&lt;/code&gt;，发现之前修改的nameserver总是会被修改为&lt;code&gt;127.0.0.53&lt;/code&gt;，无论是改成啥，过段时间，总会变回来。&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenStack下利用passthrough对GPU实现虚拟化</title>
      <link>https://Jermine.vdo.pub/openstack/openstack%E4%B8%8B%E5%88%A9%E7%94%A8passthrough%E5%AF%B9gpu%E5%AE%9E%E7%8E%B0%E8%99%9A%E6%8B%9F%E5%8C%96/</link>
      <pubDate>Sat, 27 Oct 2018 17:51:33 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/openstack/openstack%E4%B8%8B%E5%88%A9%E7%94%A8passthrough%E5%AF%B9gpu%E5%AE%9E%E7%8E%B0%E8%99%9A%E6%8B%9F%E5%8C%96/</guid>
      <description>&lt;p&gt;Tips：默认已安装好OpenStack相关必要组件并可以正常运行的情况下，本文只涉及GPU 虚拟化的相关配置说明。&lt;/p&gt;&#xA;&lt;h2 id=&#34;配置gpu-passthrough的系统相关设置&#34;&gt;配置GPU Passthrough的系统相关设置&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;在&lt;code&gt;BIOS&lt;/code&gt;中enable &lt;code&gt;VT-x&lt;/code&gt;, &lt;code&gt;VT-d&lt;/code&gt;, &lt;code&gt;Onboard VGA.&lt;/code&gt; &lt;code&gt;Onboard VGA&lt;/code&gt; 的enable可以避免一些错误的出现，具体参考&lt;code&gt;Not only for miners GPU integration in Nova environment.&lt;/code&gt; &lt;a href=&#34;https://www.youtube.com/watch?v=1tdvz3ejokM&#34;&gt;https://www.youtube.com/watch?v=1tdvz3ejokM&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何在虚拟机上配置PCI直通</title>
      <link>https://Jermine.vdo.pub/server/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%8A%E9%85%8D%E7%BD%AEpci%E7%9B%B4%E9%80%9A/</link>
      <pubDate>Sat, 27 Oct 2018 17:26:14 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/server/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%8A%E9%85%8D%E7%BD%AEpci%E7%9B%B4%E9%80%9A/</guid>
      <description>&lt;h2 id=&#34;问题描述&#34;&gt;问题描述&lt;/h2&gt;&#xA;&lt;p&gt;我想要分配一块物理网卡到用KVM创建的虚拟机上。我打算为这台虚拟机启用网卡的PCI直通。请问，我如何才能在virt-manager里面通过PCI直通方式来增加一个PCI设备到虚拟机上？_&lt;/p&gt;</description>
    </item>
    <item>
      <title>Surf the Net on Linux Host by Notebook－把笔记本的无线网络通过网线共享给台式机</title>
      <link>https://Jermine.vdo.pub/win10/surf-the-net-on-linux-host-by-notebook/</link>
      <pubDate>Sat, 27 Oct 2018 16:45:22 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/win10/surf-the-net-on-linux-host-by-notebook/</guid>
      <description>&lt;h1 id=&#34;如何把笔记本的无线网络通过网线共享给台式机&#34;&gt;如何把笔记本的无线网络通过网线共享给台式机&lt;/h1&gt;&#xA;&lt;h2 id=&#34;问题描述&#34;&gt;问题描述&lt;/h2&gt;&#xA;&lt;p&gt;之前有去XX所,由于内网限制，不能上外网，然而安装软件又需要从网上下载，Linux的软件大多又有很多依赖库,离线安装太麻烦了，于是就想能否让电脑在安装软件的时候连上外网呢？答案是肯定的。操作详情如下：&lt;/p&gt;</description>
    </item>
    <item>
      <title>如何为Debian系统打deb包</title>
      <link>https://Jermine.vdo.pub/linux/%E5%A6%82%E4%BD%95%E4%B8%BAdebian%E7%B3%BB%E7%BB%9F%E6%89%93.deb%E5%8C%85/</link>
      <pubDate>Thu, 27 Sep 2018 18:23:38 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/%E5%A6%82%E4%BD%95%E4%B8%BAdebian%E7%B3%BB%E7%BB%9F%E6%89%93.deb%E5%8C%85/</guid>
      <description>&lt;h2 id=&#34;源码编译安装&#34;&gt;源码编译安装&lt;/h2&gt;&#xA;&lt;p&gt;以dropwatch为例子，将其打成deb包。源码地址 ：https://github.com/pavel-odintsov/drop_watch&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux服务器丢包故障的解决</title>
      <link>https://Jermine.vdo.pub/linux/linux%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%A2%E5%8C%85%E6%95%85%E9%9A%9C%E7%9A%84%E8%A7%A3%E5%86%B3/</link>
      <pubDate>Thu, 27 Sep 2018 17:27:23 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/linux%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%A2%E5%8C%85%E6%95%85%E9%9A%9C%E7%9A%84%E8%A7%A3%E5%86%B3/</guid>
      <description>&lt;p&gt;我们使用Linux作为服务器操作系统时，为了达到高并发处理能力，充分利用机器性能，经常会进行一些内核参数的调整优化，但不合理的调整常常也会引起意想不到的其他问题，本文就一次Linux服务器丢包故障的处理过程，结合Linux内核参数说明和TCP/IP协议栈相关的理论，介绍一些常见的丢包故障定位方法和解决思路。&lt;/p&gt;</description>
    </item>
    <item>
      <title>KVM基本使用介绍</title>
      <link>https://Jermine.vdo.pub/server/kvm%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D/</link>
      <pubDate>Wed, 26 Sep 2018 11:27:37 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/server/kvm%E5%9F%BA%E6%9C%AC%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D/</guid>
      <description>&lt;h2 id=&#34;kvm是什么&#34;&gt;KVM是什么？&lt;/h2&gt;&#xA;&lt;p&gt;KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine)，它是一个 Linux 的一个内核模块，该内核模块使得 Linux 变成了一个 Hypervisor：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;它由 Quramnet 开发，该公司于 2008年被 Red Hat 收购。&lt;/li&gt;&#xA;&lt;li&gt;它支持 x86 (32 and 64 位), s390, Powerpc 等 CPU。&lt;/li&gt;&#xA;&lt;li&gt;它从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中。&lt;/li&gt;&#xA;&lt;li&gt;它需要支持虚拟化扩展的 CPU。&lt;/li&gt;&#xA;&lt;li&gt;它是完全开源的。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;kvm架构&#34;&gt;KVM架构&lt;/h3&gt;&#xA;&lt;p&gt;　　KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中，虚拟机被实现为常规的 Linux 进程，由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。&lt;/p&gt;</description>
    </item>
    <item>
      <title>管理kvm常用命令总结</title>
      <link>https://Jermine.vdo.pub/server/%E7%AE%A1%E7%90%86kvm%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E6%80%BB%E7%BB%93/</link>
      <pubDate>Wed, 26 Sep 2018 10:18:25 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/server/%E7%AE%A1%E7%90%86kvm%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E6%80%BB%E7%BB%93/</guid>
      <description>&lt;h2 id=&#34;查看虚拟机列表及状态&#34;&gt;查看虚拟机列表及状态&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@kvm01 ~]# virsh list --all &#xA;Id    Name                           State&#xA;---------------------------------------------------- &#xA;-     vm1                            shut off&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;启动虚拟机系统&#34;&gt;启动虚拟机系统&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@kvm01 ~]# virsh start vm1&#xA;Domain vm1 started&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;停止虚拟机系统&#34;&gt;停止虚拟机系统&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@kvm01 ~]# virsh shutdown vm1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;停止虚拟机要求虚拟机开启acpid服务&lt;/p&gt;&#xA;&lt;h2 id=&#34;重启虚拟机系统&#34;&gt;重启虚拟机系统&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@kvm01 ~]# virsh reboot vm1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;强制关机虚拟机系统&#34;&gt;强制关机虚拟机系统&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@kvm01 ~]# virsh destroy vm1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;设置虚拟机随宿主机开机自启&#34;&gt;设置虚拟机随宿主机开机自启&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@kvm01 ~]# virsh autostart vm1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;取消虚拟机随宿主机开机自启&#34;&gt;取消虚拟机随宿主机开机自启&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@kvm01 ~]# virsh autostart --disable vm1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;挂起及恢复虚拟机&#34;&gt;挂起及恢复虚拟机&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;挂起：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@kvm01 ~]# virsh suspend vm1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;恢复：&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>设置kvm中的虚拟机随宿主机自启动</title>
      <link>https://Jermine.vdo.pub/server/%E8%AE%BE%E7%BD%AEkvm%E4%B8%AD%E7%9A%84%E8%99%9A%E6%8B%9F%E6%9C%BA%E9%9A%8F%E5%AE%BF%E4%B8%BB%E6%9C%BA%E8%87%AA%E5%90%AF%E5%8A%A8/</link>
      <pubDate>Wed, 26 Sep 2018 10:10:50 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/server/%E8%AE%BE%E7%BD%AEkvm%E4%B8%AD%E7%9A%84%E8%99%9A%E6%8B%9F%E6%9C%BA%E9%9A%8F%E5%AE%BF%E4%B8%BB%E6%9C%BA%E8%87%AA%E5%90%AF%E5%8A%A8/</guid>
      <description>&lt;h2 id=&#34;图形化方式&#34;&gt;图形化方式&lt;/h2&gt;&#xA;&lt;p&gt;在kvm图形化管理工具里面可以设置，让kvm虚拟机随着宿主虚拟机一起启动。（&lt;strong&gt;必须在关机状态下做&lt;/strong&gt;）&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/kvm/28.png&#34; alt=&#34;image1&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/kvm/29.png&#34; alt=&#34;image2&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;设置好以后会像Windows一样创建一个快捷方式&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>设置服务器通电自启动</title>
      <link>https://Jermine.vdo.pub/server/%E8%AE%BE%E7%BD%AE%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%80%9A%E7%94%B5%E8%87%AA%E5%90%AF%E5%8A%A8/</link>
      <pubDate>Thu, 20 Sep 2018 11:09:18 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/server/%E8%AE%BE%E7%BD%AE%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%80%9A%E7%94%B5%E8%87%AA%E5%90%AF%E5%8A%A8/</guid>
      <description>&lt;ol&gt;&#xA;&lt;li&gt;进入&lt;code&gt;bios&lt;/code&gt;，一般是在开机后出现主板画面是按&lt;code&gt;Delete&lt;/code&gt;这个键，部分品牌机可能按&lt;code&gt;F2&lt;/code&gt;，&lt;code&gt;F1&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/server/1.png&#34; alt=&#34;image&#34;&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;选择&lt;code&gt;IntegratedPeripharals&lt;/code&gt;（外围设备设置）中的`SuperIO Device&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Integrated [ˈɪntɪgreɪtɪd]&lt;code&gt;  集成  ；&lt;/code&gt; Peripharals [pəˈrɪfərəl]` 外围&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gerrit使用介绍</title>
      <link>https://Jermine.vdo.pub/devops/gerrit%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D/</link>
      <pubDate>Wed, 19 Sep 2018 13:56:48 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/devops/gerrit%E4%BD%BF%E7%94%A8%E4%BB%8B%E7%BB%8D/</guid>
      <description>&lt;h1 id=&#34;参照网址&#34;&gt;参照网址&lt;/h1&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://gerrit.rockbox.org/r/Documentation/config-gerrit.html#addreviewer&#34;&gt;http://gerrit.rockbox.org/r/Documentation/config-gerrit.html#addreviewer&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://blog.csdn.net/ujm7418529631/article/details/79226621&#34;&gt;https://blog.csdn.net/ujm7418529631/article/details/79226621&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.cnblogs.com/kevingrace/p/5651447.html&#34;&gt;http://www.cnblogs.com/kevingrace/p/5651447.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;gerrit-权限设置&#34;&gt;Gerrit 权限设置&lt;/h1&gt;&#xA;&lt;h2 id=&#34;gerrit-tag上传权限&#34;&gt;Gerrit Tag上传权限&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;选择要编辑的项目&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/devops/gerrit/1.png&#34; alt=&#34;选择要编辑的项目&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;选择Access选项卡，编辑项目权限&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/devops/gerrit/2.png&#34; alt=&#34;项目Access选项卡&#34;&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;添加Reference&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://Jermine.vdo.pub/img/devops/gerrit/3.png&#34; alt=&#34;Add Reference第一步&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>LDAP与Harbor集成</title>
      <link>https://Jermine.vdo.pub/devops/ldap%E4%B8%8Eharbor%E9%9B%86%E6%88%90/</link>
      <pubDate>Wed, 19 Sep 2018 13:56:48 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/devops/ldap%E4%B8%8Eharbor%E9%9B%86%E6%88%90/</guid>
      <description>&lt;h1 id=&#34;ldap与harbor集成&#34;&gt;LDAP与Harbor集成&lt;/h1&gt;&#xA;&lt;h6 id=&#34;openldap是一个集中的用户账号管理系统使用轻量级目录访问协议ldap构建集中的身份验证系统可以减少管理成本增强安全性避免数据复制的问题并提高数据的一致性&#34;&gt;OpenLDAP是一个集中的用户账号管理系统；使用轻量级目录访问协议（LDAP）构建集中的身份验证系统可以减少管理成本，增强安全性，避免数据复制的问题，并提高数据的一致性。&lt;/h6&gt;&#xA;&lt;h2 id=&#34;修改harborcfg&#34;&gt;修改harbor.cfg&lt;/h2&gt;&#xA;&lt;p&gt;Harbor默认是使用mysql数据库进行用户管理，那么我们需要修改Harbor的配置文件。&lt;/p&gt;&#xA;&lt;p&gt;在&lt;em&gt;harbor&lt;/em&gt;目录下，执行：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vi harbor.cfg&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;auth_mode = ldap_auth&lt;/strong&gt; ：验证模式&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ldap_url = ldap://192.168.16.196&lt;/strong&gt;：openldap  server&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ldap_basedn = ou=dev,dc=xinktech,dc=com&lt;/strong&gt;：同上&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ldap_filter = (objectClass=person)&lt;/strong&gt;：默认&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ldap_group_basedn = ou=dev,dc=xinktech,dc=com&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ldap_group_filter = objectclass=posixGroup&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;生成自签名证书&#34;&gt;生成自签名证书&lt;/h2&gt;&#xA;&lt;p&gt;首先，把自己的IP地址(192.168.16.85)域名设置为: test.harbor.com:&lt;/p&gt;</description>
    </item>
    <item>
      <title>启用或关闭图形化</title>
      <link>https://Jermine.vdo.pub/linux/%E5%90%AF%E7%94%A8%E6%88%96%E5%85%B3%E9%97%AD%E5%9B%BE%E5%BD%A2%E5%8C%96/</link>
      <pubDate>Tue, 18 Sep 2018 13:47:58 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/%E5%90%AF%E7%94%A8%E6%88%96%E5%85%B3%E9%97%AD%E5%9B%BE%E5%BD%A2%E5%8C%96/</guid>
      <description>&lt;h1 id=&#34;centos-或者-rhel-开启关闭图形化设置&#34;&gt;Centos 或者 RHEL 开启关闭图形化设置&lt;/h1&gt;&#xA;&lt;h2 id=&#34;centos-7-关闭图形界面&#34;&gt;CentOS 7 关闭图形界面&lt;/h2&gt;&#xA;&lt;p&gt;查看&lt;code&gt;/etc/inittab&lt;/code&gt;如下：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# systemd uses &amp;#39;targets&amp;#39; instead of runlevels.   &#xA;# by default, there are two main targets:  &#xA;#  &#xA;# multi-user.target: analogous to runlevel 3  &#xA;# graphical.target: analogous to runlevel 5  &#xA;#  &#xA;# To view current default target, run:  &#xA;# systemctl get-default  &#xA;#  &#xA;# To set a default target, run:  &#xA;# systemctl set-default TARGET.target  &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;新版本的&lt;code&gt;CentOS&lt;/code&gt; 系统里使用&lt;code&gt;’targets’&lt;/code&gt; 取代了运行级别的概念。系统有两种默认的&lt;code&gt;’targets’&lt;/code&gt;: &lt;code&gt;multi-user.target.target&lt;/code&gt; 对应之前版本的3 运行级别； 而&lt;code&gt;graphical.target&lt;/code&gt;对应之前的5运行级别。&lt;/p&gt;</description>
    </item>
    <item>
      <title>关于DevOps落地方案的个人观点</title>
      <link>https://Jermine.vdo.pub/devops/%E5%85%B3%E4%BA%8Edevops%E8%90%BD%E5%9C%B0%E6%96%B9%E6%A1%88%E7%9A%84%E4%B8%AA%E4%BA%BA%E8%A7%82%E7%82%B9/</link>
      <pubDate>Thu, 13 Sep 2018 18:14:57 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/devops/%E5%85%B3%E4%BA%8Edevops%E8%90%BD%E5%9C%B0%E6%96%B9%E6%A1%88%E7%9A%84%E4%B8%AA%E4%BA%BA%E8%A7%82%E7%82%B9/</guid>
      <description>&lt;h2 id=&#34;引言&#34;&gt;引言：&lt;/h2&gt;&#xA;&lt;p&gt;DevOps（Development和Operations的组合词）是一组过程、方法与系统的统称，用于促进开发（应用程序/软件工程）、技术运营和质量保障（QA）部门之间的沟通、协作与整合。&lt;/p&gt;</description>
    </item>
    <item>
      <title>为什么Sed命令在自动化运维中如此重要</title>
      <link>https://Jermine.vdo.pub/linux/sed%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3/</link>
      <pubDate>Tue, 11 Sep 2018 12:56:04 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/sed%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3/</guid>
      <description>&lt;h2 id=&#34;介绍&#34;&gt;介绍&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;sed：Stream Editor文本流编辑，sed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件多行的内容，可以不对原文件改动，把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。还可以对原文件改动，但是不会再屏幕上返回结果。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux 常用命令收集</title>
      <link>https://Jermine.vdo.pub/linux/linux-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E6%94%B6%E9%9B%86/</link>
      <pubDate>Tue, 11 Sep 2018 09:43:59 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/linux-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E6%94%B6%E9%9B%86/</guid>
      <description>&lt;h2 id=&#34;查找指定目录下符合条件的文件&#34;&gt;查找指定目录下符合条件的文件&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ls -lh $(find /home -type f -size +100M) #查找指定目录下文件的大小&#xA;&#xA;ls -lh $(find /home -type f -size +10M -a -size -100M）# 查找大于10M且小于100M的文件&#xA;&#xA;find / -name &amp;#34;*.mp3&amp;#34; -type f -size +100M |xargs rm -rf #删除单个文件超过100M的MP3文件&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;获取指定目录信息&#34;&gt;获取指定目录信息&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;获取指定目录的绝对地址&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>实时数据库InfluxDB的使用</title>
      <link>https://Jermine.vdo.pub/database/%E5%AE%9E%E6%97%B6%E6%95%B0%E6%8D%AE%E5%BA%93influxdb%E7%9A%84%E4%BD%BF%E7%94%A8/</link>
      <pubDate>Fri, 07 Sep 2018 14:00:54 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/database/%E5%AE%9E%E6%97%B6%E6%95%B0%E6%8D%AE%E5%BA%93influxdb%E7%9A%84%E4%BD%BF%E7%94%A8/</guid>
      <description>&lt;h2 id=&#34;influxdb介绍&#34;&gt;InfluxDB介绍：&lt;/h2&gt;&#xA;&lt;p&gt;InfluxDB是一个开源的时序数据库，使用GO语言开发，特别适合用于处理和分析资源监控数据这种时序相关数据。而InfluxDB自带的各种特殊函数如求标准差，随机取样数据，统计数据变化比等，使数据统计和实时分析变得十分方便。在我们的容器资源监控系统中，就采用了InfluxDB存储cadvisor的监控数据。本文对InfluxDB的基本概念和一些特色功能做一个详细介绍，内容主要是翻译整理自官网文档，如有错漏，请指正。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Htop的安装和使用</title>
      <link>https://Jermine.vdo.pub/linux/htop%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8/</link>
      <pubDate>Fri, 07 Sep 2018 13:19:47 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/htop%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8/</guid>
      <description>&lt;h3 id=&#34;一htop的使用简介&#34;&gt;一．Htop的使用简介&lt;/h3&gt;&#xA;&lt;p&gt;大家可能对top监控软件比较熟悉，今天我为大家介绍另外一个监控软件Htop，姑且称之为top的增强版，相比top其有着很多自身的优势。如下：&lt;/p&gt;</description>
    </item>
    <item>
      <title>解决TensorFlow：ImportError: libcudnn.so.*: cannot open shared object file: No such file or dictionary</title>
      <link>https://Jermine.vdo.pub/deeplearn/tensorflow/%E8%A7%A3%E5%86%B3importerror_libcudnn.so.-cannot-open-shared-object-file/</link>
      <pubDate>Wed, 05 Sep 2018 15:18:21 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/deeplearn/tensorflow/%E8%A7%A3%E5%86%B3importerror_libcudnn.so.-cannot-open-shared-object-file/</guid>
      <description>&lt;h3 id=&#34;环境&#34;&gt;环境&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Ubuntu16.04&#xA;Nvidia 384&#xA;CUDA 8.0&#xA;cuDNN 5&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;错误&#34;&gt;错误&lt;/h3&gt;&#xA;&lt;p&gt;TensorFlow、CUDA、cuDNN的版本关系我时常懵懵的，经常出现各种不支持的情况，比如今天安装了TensorFlow1.10.1，报错:&lt;code&gt;ImportError: libcudnn.so.7: cannot open shared object file: No such file or dictionary&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redhat7解决This system is not registered to Red Hat Subscription Management.</title>
      <link>https://Jermine.vdo.pub/linux/redhat7%E8%A7%A3%E5%86%B3this-system-is-not-registered-to-redhat-subscription-management/</link>
      <pubDate>Wed, 05 Sep 2018 14:38:41 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/redhat7%E8%A7%A3%E5%86%B3this-system-is-not-registered-to-redhat-subscription-management/</guid>
      <description>&lt;h2 id=&#34;错误描述&#34;&gt;错误描述：&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;解决步骤&#34;&gt;解决步骤:&lt;/h2&gt;&#xA;&lt;h3 id=&#34;删除redhat原有的yum&#34;&gt;删除redhat原有的yum&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;rpm -aq|grep yum|xargs rpm -e --nodeps &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;下载yum安装文件&#34;&gt;下载yum安装文件&lt;/h3&gt;&#xA;&lt;p&gt;到这个网站去下载如下RPM包 ：http://mirrors.163.com/centos/7/os/x86_64/Packages/&lt;/p&gt;</description>
    </item>
    <item>
      <title>基于JIRA的Scrum敏捷开发的项目管理</title>
      <link>https://Jermine.vdo.pub/jira/%E5%9F%BA%E4%BA%8Ejira%E7%9A%84scrum%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/</link>
      <pubDate>Tue, 28 Aug 2018 15:44:21 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/jira/%E5%9F%BA%E4%BA%8Ejira%E7%9A%84scrum%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91%E7%9A%84%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/</guid>
      <description>&lt;h1 id=&#34;scrum开发的步骤及准备&#34;&gt;Scrum开发的步骤及准备&lt;/h1&gt;&#xA;&lt;p&gt;Scrum敏捷开发的关键字就是增量、迭代，他更重视项目团队之间的现场沟通，不向传统瀑布式开发那样需要万事具备，才开始开发，Scrum在大方向和小故事点确认好了后，团队就可以开动了。&lt;/p&gt;</description>
    </item>
    <item>
      <title>How engineers learn efficiently? - 工程师如何高效学习？</title>
      <link>https://Jermine.vdo.pub/efficiency/how-can-engineers-improve-efficiency/</link>
      <pubDate>Mon, 27 Aug 2018 13:06:58 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/efficiency/how-can-engineers-improve-efficiency/</guid>
      <description>&lt;h1 id=&#34;介绍&#34;&gt;介绍&lt;/h1&gt;&#xA;&lt;p&gt;最近团队内经常有工程师(尤其是工作经验浅的)会问我同一个问题：如何快速高效学习？大家似乎都很焦虑，渴望通过高效学习来提升自己，快速成长。基于自己的实践和思考，我总结了这篇文章，在周会上给团队分享，希望对大家有所启发。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux [re]install CUDA - Linux 安装和使用 CUDA</title>
      <link>https://Jermine.vdo.pub/linux/linux-reinstall-cuda/</link>
      <pubDate>Fri, 24 Aug 2018 13:48:25 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/linux-reinstall-cuda/</guid>
      <description>&lt;h1 id=&#34;简便安装方法&#34;&gt;简便安装方法&lt;/h1&gt;&#xA;&lt;p&gt;&lt;strong&gt;此文档来源于Jermine的个人blog ：&lt;/strong&gt; &lt;a href=&#34;https://jermine.vdo.pub/linux/ubuntu-16.04-reinstall-cuda/&#34;&gt;https://jermine.vdo.pub/linux/ubuntu-16.04-reinstall-cuda/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;推荐两种玩法&#34;&gt;推荐两种玩法：&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt; ： 由于tensorflow的GPU版本依赖nvidia的cuda、cudnn库，因此一般需要包含cuda和cudnn的链接库文件，普遍做法是通过主机安装cudnn、cuda的方式。这里还有另外两种方式可以选择：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vscode Markdown Shortcut Keys</title>
      <link>https://Jermine.vdo.pub/tools/vscode-markdown-shortcut-keys/</link>
      <pubDate>Wed, 22 Aug 2018 14:38:19 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/tools/vscode-markdown-shortcut-keys/</guid>
      <description>&lt;p&gt;使用VS Code的&lt;code&gt;Markdown Shortcut&lt;/code&gt;插件，可以方便快捷的编辑Markdown文档，并且已经与上下文的菜单集成，右键即可使用。下面将介绍安装和使用。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Windows下python3.7安装tensorflow1</title>
      <link>https://Jermine.vdo.pub/python/windows%E4%B8%8Bpython3.7%E5%AE%89%E8%A3%85tensorflow1.9/</link>
      <pubDate>Sun, 29 Jul 2018 17:49:08 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/python/windows%E4%B8%8Bpython3.7%E5%AE%89%E8%A3%85tensorflow1.9/</guid>
      <description>&lt;h1 id=&#34;准备文件&#34;&gt;准备文件：&lt;/h1&gt;&#xA;&lt;p&gt;从&lt;a href=&#34;https://download.lfd.uci.edu/pythonlibs/o4uhg4xd/tensorflow-1.9.0-cp37-cp37m-win_amd64.whl&#34;&gt;这里下载windows的python3.7的tensorflow1.9安装包。&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;*注: &lt;a href=&#34;https://www.lfd.uci.edu/~gohlke/pythonlibs/&#34;&gt;这个网站&lt;/a&gt;的whl文件是非python官方的windows二进制扩展包。&lt;/p&gt;&#xA;&lt;h1 id=&#34;执行安装命令&#34;&gt;执行安装命令&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;PS C:\Users\Husee\Desktop&amp;gt; pip install .\tensorflow-1.9.0-cp37-cp37m-win_amd64.whl&#xA;Looking in indexes: http://mirrors.aliyun.com/pypi/simple&#xA;Processing c:\users\husee\desktop\tensorflow-1.9.0-cp37-cp37m-win_amd64.whl&#xA;Collecting termcolor&amp;gt;=1.1.0 (from tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz&#xA;Requirement already satisfied: setuptools&amp;lt;=39.1.0 in c:\users\husee\appdata\local\programs\python\python37\lib\site-packages (from tensorflow==1.9.0) (39.0.1)&#xA;Collecting astor&amp;gt;=0.6.0 (from tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/35/6b/11530768cac581a12952a2aad00e1526b89d242d0b9f59534ef6e6a1752f/astor-0.7.1-py2.py3-none-any.whl&#xA;Collecting protobuf&amp;gt;=3.4.0 (from tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/77/78/a7f1ce761e2c738e209857175cd4f90a8562d1bde32868a8cd5290d58926/protobuf-3.6.1-py2.py3-none-any.whl (390kB)&#xA;    100% |████████████████████████████████| 399kB 12.8MB/s&#xA;Collecting grpcio&amp;gt;=1.8.6 (from tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/b1/0b/f46b579e65e11a1ddb0d2a19f458cac91ed71841fed39322e980fd58be44/grpcio-1.14.1-cp37-cp37m-win_amd64.whl (1.5MB)&#xA;    100% |████████████████████████████████| 1.5MB 13.7MB/s&#xA;Collecting absl-py&amp;gt;=0.1.6 (from tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/cc/e6/6cc5c834023685dd83a28bdb5c1826d9340111493a447e9a9230269defa8/absl-py-0.4.0.tar.gz (88kB)&#xA;    100% |████████████████████████████████| 92kB 13.1MB/s&#xA;Collecting tensorboard&amp;lt;1.10.0,&amp;gt;=1.9.0 (from tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/9e/1f/3da43860db614e294a034e42d4be5c8f7f0d2c75dc1c428c541116d8cdab/tensorboard-1.9.0-py3-none-any.whl (3.3MB)&#xA;    100% |████████████████████████████████| 3.3MB 25.7MB/s&#xA;Requirement already satisfied: wheel&amp;gt;=0.26 in c:\users\husee\appdata\local\programs\python\python37\lib\site-packages (from tensorflow==1.9.0) (0.31.1)&#xA;Collecting numpy&amp;gt;=1.13.3 (from tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/90/ca/fac7871a7c7d78beb78d7d9562b8d5bfce9ff316dc6c2a7ac34927895609/numpy-1.15.1-cp37-none-win_amd64.whl (13.5MB)&#xA;    100% |████████████████████████████████| 13.5MB 12.6MB/s&#xA;Requirement already satisfied: six&amp;gt;=1.10.0 in c:\users\husee\appdata\local\programs\python\python37\lib\site-packages (from tensorflow==1.9.0) (1.11.0)&#xA;Collecting gast&amp;gt;=0.2.0 (from tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/5c/78/ff794fcae2ce8aa6323e789d1f8b3b7765f601e7702726f430e814822b96/gast-0.2.0.tar.gz&#xA;Collecting werkzeug&amp;gt;=0.11.10 (from tensorboard&amp;lt;1.10.0,&amp;gt;=1.9.0-&amp;gt;tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/20/c4/12e3e56473e52375aa29c4764e70d1b8f3efa6682bef8d0aae04fe335243/Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)&#xA;    100% |████████████████████████████████| 327kB 34.2MB/s&#xA;Collecting markdown&amp;gt;=2.6.8 (from tensorboard&amp;lt;1.10.0,&amp;gt;=1.9.0-&amp;gt;tensorflow==1.9.0)&#xA;  Downloading http://mirrors.aliyun.com/pypi/packages/6d/7d/488b90f470b96531a3f5788cf12a93332f543dbab13c423a5e7ce96a0493/Markdown-2.6.11-py2.py3-none-any.whl (78kB)&#xA;    100% |████████████████████████████████| 81kB 4.8MB/s&#xA;Building wheels for collected packages: termcolor, absl-py, gast&#xA;  Running setup.py bdist_wheel for termcolor ... done&#xA;  Stored in directory: C:\Users\Husee\AppData\Local\pip\Cache\wheels\65\c8\98\8361afe9bafba434b7acf14c08627560d63018272226ff3e10&#xA;  Running setup.py bdist_wheel for absl-py ... done&#xA;  Stored in directory: C:\Users\Husee\AppData\Local\pip\Cache\wheels\50\6f\41\ae7dbb65f38f6e607b399117e4cb959977e016d12b6166a67f&#xA;  Running setup.py bdist_wheel for gast ... done&#xA;  Stored in directory: C:\Users\Husee\AppData\Local\pip\Cache\wheels\17\0a\dc\bb6d7b129029482a8d55901d66b65e756a681f6a1da7297a9b&#xA;Successfully built termcolor absl-py gast&#xA;Installing collected packages: termcolor, astor, protobuf, grpcio, absl-py, numpy, werkzeug, markdown, tensorboard, gast, tensorflow&#xA;Successfully installed absl-py-0.4.0 astor-0.7.1 gast-0.2.0 grpcio-1.14.1 markdown-2.6.11 numpy-1.15.1 protobuf-3.6.1 tensorboard-1.9.0 tensorflow-1.9.0 termcolor-1.1.0 werkzeug-0.14.1&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;查看安装列表&#34;&gt;查看安装列表&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;PS C:\Users\Husee\Desktop&amp;gt; pip list&#xA;Package           Version&#xA;----------------- -------&#xA;absl-py           0.4.0&#xA;astor             0.7.1&#xA;astroid           1.6.5&#xA;colorama          0.3.9&#xA;gast              0.2.0&#xA;grpcio            1.14.1&#xA;isort             4.3.4&#xA;lazy-object-proxy 1.3.1&#xA;Markdown          2.6.11&#xA;mccabe            0.6.1&#xA;numpy             1.15.1&#xA;pip               18.0&#xA;protobuf          3.6.1&#xA;pylint            1.9.2&#xA;setuptools        39.0.1&#xA;six               1.11.0&#xA;tensorboard       1.9.0&#xA;tensorflow        1.9.0&#xA;termcolor         1.1.0&#xA;torch             0.4.1&#xA;Werkzeug          0.14.1&#xA;wheel             0.31.1&#xA;wrapt             1.10.11&#xA;PS C:\Users\Husee\Desktop&amp;gt; pip -V&#xA;pip 18.0 from c:\users\husee\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)&#xA;PS C:\Users\Husee\Desktop&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;通过python调用tensorflow查看版本&#34;&gt;通过python调用tensorflow查看版本&lt;/h1&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;python&#xA;Python 3.7.0b5 (v3.7.0b5:abb8802389, May 31 2018, 01:54:01) [MSC v.1913 64 bit (AMD64)] on win32&#xA;Type &amp;#34;help&amp;#34;, &amp;#34;copyright&amp;#34;, &amp;#34;credits&amp;#34; or &amp;#34;license&amp;#34; for more information.&#xA;&amp;gt;&amp;gt;&amp;gt; import tensorflow as tf&#xA;Traceback (most recent call last):&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow.py&amp;#34;, line 58, in &amp;lt;module&amp;gt;&#xA;    from tensorflow.python.pywrap_tensorflow_internal import *&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py&amp;#34;, line 35, in &amp;lt;module&amp;gt;&#xA;    _pywrap_tensorflow_internal = swig_import_helper()&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py&amp;#34;, line 30, in swig_import_helper&#xA;    _mod = imp.load_module(&amp;#39;_pywrap_tensorflow_internal&amp;#39;, fp, pathname, description)&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\imp.py&amp;#34;, line 243, in load_module&#xA;    return load_dynamic(name, filename, file)&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\imp.py&amp;#34;, line 343, in load_dynamic&#xA;    return _load(spec)&#xA;ImportError: DLL load failed: 找不到指定的模块。&#xA;&#xA;During handling of the above exception, another exception occurred:&#xA;&#xA;Traceback (most recent call last):&#xA;  File &amp;#34;&amp;lt;stdin&amp;gt;&amp;#34;, line 1, in &amp;lt;module&amp;gt;&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\__init__.py&amp;#34;, line 22, in &amp;lt;module&amp;gt;&#xA;    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\__init__.py&amp;#34;, line 49, in &amp;lt;module&amp;gt;&#xA;    from tensorflow.python import pywrap_tensorflow&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow.py&amp;#34;, line 74, in &amp;lt;module&amp;gt;&#xA;    raise ImportError(msg)&#xA;ImportError: Traceback (most recent call last):&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow.py&amp;#34;, line 58, in &amp;lt;module&amp;gt;&#xA;    from tensorflow.python.pywrap_tensorflow_internal import *&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py&amp;#34;, line 35, in &amp;lt;module&amp;gt;&#xA;    _pywrap_tensorflow_internal = swig_import_helper()&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py&amp;#34;, line 30, in swig_import_helper&#xA;    _mod = imp.load_module(&amp;#39;_pywrap_tensorflow_internal&amp;#39;, fp, pathname, description)&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\imp.py&amp;#34;, line 243, in load_module&#xA;    return load_dynamic(name, filename, file)&#xA;  File &amp;#34;C:\Users\Husee\AppData\Local\Programs\Python\Python37\lib\imp.py&amp;#34;, line 343, in load_dynamic&#xA;    return _load(spec)&#xA;ImportError: DLL load failed: 找不到指定的模块。&#xA;&#xA;&#xA;Failed to load the native TensorFlow runtime.&#xA;&#xA;See https://www.tensorflow.org/install/install_sources#common_installation_problems&#xA;&#xA;for some common reasons and solutions.  Include the entire stack trace&#xA;above this error message when asking for help.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;importerror-dll-load-failed找不到指定的模块-解决方案python&#34;&gt;ImportError： DLL load failed：找不到指定的模块 解决方案（Python）：&lt;/h3&gt;&#xA;&lt;p&gt;首先检查numpy、scipy、matplotlib、scikit-learn的版本是否更新到最新且符合当前Python版本： 如果出现不是最新的版本，先卸载该版本：（windows+&amp;quot;.&amp;quot;）pip uninstall numpy&#xA;再去http://www.lfd.uci.edu/~gohlke/pythonlibs/ 安装最新版本：（windows+&amp;quot;.&amp;quot;）pip install numpy&lt;/p&gt;</description>
    </item>
    <item>
      <title>通过Git规范和脚本自动生成release Notes</title>
      <link>https://Jermine.vdo.pub/git/%E9%80%9A%E8%BF%87git%E8%A7%84%E8%8C%83%E5%92%8C%E8%84%9A%E6%9C%AC%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90release-notes/</link>
      <pubDate>Sat, 30 Jun 2018 10:23:46 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/git/%E9%80%9A%E8%BF%87git%E8%A7%84%E8%8C%83%E5%92%8C%E8%84%9A%E6%9C%AC%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90release-notes/</guid>
      <description>&lt;h2 id=&#34;通过git规范和脚本自动生成release-notes&#34;&gt;通过Git规范和脚本自动生成release Notes&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;第一性原理告诉我们，我们不但要用工具，还要能自己创造工具，这样才能提升生产力！ 创造的工具可以开源，让社区强大和优秀的人一起完善，很多牛X的工具就是这么来的，好的工具总得有人先把概念和第一行代码写出来牵个头，linux 、docker 、Kubernetes、tensorflow 、Git 等等 都是从概念和第一个demo 开始的，然后在社区引起共鸣才发展起来的！从问题本身出发，抛开常理逻辑，不落入俗套（套路），就是第一性原理要表达的意思，其实创新也是这样来的，Elon Mask 那种从0 到 1 的创造力就是来源于第一性原理。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Build Opencv3.4 by docker in Raspberry pi - 在树莓派上通过docker编译opencv3.4.1</title>
      <link>https://Jermine.vdo.pub/raspberry-pi/build-opencv3.4.1-by-docker-in-pi/</link>
      <pubDate>Thu, 21 Jun 2018 15:31:01 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/raspberry-pi/build-opencv3.4.1-by-docker-in-pi/</guid>
      <description>&lt;h3 id=&#34;采用docker编译如下&#34;&gt;采用docker编译如下：&lt;/h3&gt;&#xA;&lt;p&gt;为了能在docker执行的时候加速，采用了&lt;code&gt;--build-arg&lt;/code&gt;参数，设定了代理地址&lt;/p&gt;&#xA;&lt;h4 id=&#34;在x86上编译如下&#34;&gt;在X86上编译如下：&lt;/h4&gt;&#xA;&lt;p&gt;docker build  &amp;ndash;build-arg HTTP_PROXY=http://192.168.16.254:1080 &amp;ndash;build-arg HTTPS_PROXY=http://192.168.16.254:1080 -t jermine/opencv:alpine -f Dockerfile.alpine .&lt;/p&gt;&#xA;&lt;h4 id=&#34;在arm64上编译操作如下&#34;&gt;在ARM64上编译操作如下&lt;/h4&gt;&#xA;&lt;p&gt;docker build -t jermine/opencv:alpine-arm64-3.4.1 -f Dockerfile.alpine &amp;ndash;build-arg HTTP_PROXY=http://192.168.16.254:1080 &amp;ndash;build-arg HTTPS_PROXY=http://192.168.16.254:1080 .&lt;/p&gt;&#xA;&lt;h3 id=&#34;环境变量配置如下&#34;&gt;环境变量配置如下：&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;export OPENCV_DIR=/opt/opencv&#xA;export LIBGPUARRAY_DIR=/opt/libgpuarray&#xA;export NUM_CORES=8&#xA;export NB_UID=1000&#xA;export CLONE_TAG=1.0&#xA;export OPENCV_VERSION=3.4.1&#xA;export OPENCL_ENABLED=OFF&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;需要的库如下&#34;&gt;需要的库如下：&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt install g++ python3 python3-dev build-essential cmake pkg-config libprotobuf-dev protobuf-compiler libopencv-dev&#xA;&#xA;&#xA;wget https://bootstrap.pypa.io/get-pip.py &#xA;&#xA;python3 get-pip.py&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;cmake的配置如下&#34;&gt;Cmake的配置如下：&lt;/h4&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;    &#xA;    -D BUILD_opencv_xfeatures2d=OFF \&#xA;    -D BUILD_opencv_world=OFF \&#xA;&#xA;    cmake \&#xA;    -D PYTHON_EXECUTABLE=$(which python3) \&#xA;    -D WITH_CUDA=OFF \&#xA;    -D CMAKE_BUILD_TYPE=RELEASE \&#xA;    -D BUILD_PYTHON_SUPPORT=ON \&#xA;    -D CMAKE_INSTALL_PREFIX=/usr/local \&#xA;    -D INSTALL_C_EXAMPLES=ON \&#xA;    -D INSTALL_PYTHON_EXAMPLES=ON \&#xA;    -D BUILD_PYTHON_SUPPORT=ON \&#xA;    -D BUILD_NEW_PYTHON_SUPPORT=ON \&#xA;    -D PYTHON_DEFAULT_EXECUTABLE=$(which python3) \&#xA;    -D PYTHON_INCLUDE_DIR=/usr/include/python3.5m \&#xA;    -D PYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so \&#xA;    -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \&#xA;    -D OPENCV_EXTRA_MODULES_PATH=$OPENCV_DIR/opencv_contrib-$OPENCV_VERSION/modules \&#xA;    -D WITH_TBB=ON \&#xA;    -D WITH_PTHREADS_PF=ON \&#xA;    -D WITH_OPENNI=OFF \&#xA;    -D WITH_OPENNI2=ON \&#xA;    -D WITH_EIGEN=ON \&#xA;    -D BUILD_DOCS=ON \&#xA;    -D BUILD_TESTS=ON \&#xA;    -D BUILD_PERF_TESTS=ON \&#xA;    -D BUILD_EXAMPLES=ON \&#xA;    -D WITH_OPENCL=$OPENCL_ENABLED \&#xA;    -D USE_GStreamer=ON \&#xA;    -D WITH_GDAL=ON \&#xA;    -D WITH_CSTRIPES=ON \&#xA;    -D ENABLE_FAST_MATH=1 \&#xA;    -D WITH_OPENGL=ON \&#xA;    -D WITH_QT=OFF \&#xA;    -D WITH_IPP=ON \&#xA;    -D WITH_FFMPEG=ON \&#xA;    -D WITH_V4L=ON .. &amp;amp;&amp;amp; \&#xA;    make -j4 &amp;amp;&amp;amp; \&#xA;    make install &amp;amp;&amp;amp; \&#xA;    ldconfig &amp;amp;&amp;amp; \&#xA;    &#xA;    &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;具体参照我的github源码&#34;&gt;具体参照我的Github源码&lt;/h4&gt;&#xA;&lt;p&gt;地址为：&#xA;&lt;a href=&#34;https://github.com/JermineHu/docker-opencv&#34;&gt;https://github.com/JermineHu/docker-opencv&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>记defer中的一些坑</title>
      <link>https://Jermine.vdo.pub/go/%E8%AE%B0defer%E4%B8%AD%E7%9A%84%E4%B8%80%E4%BA%9B%E5%9D%91/</link>
      <pubDate>Wed, 29 Nov 2017 13:51:36 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/go/%E8%AE%B0defer%E4%B8%AD%E7%9A%84%E4%B8%80%E4%BA%9B%E5%9D%91/</guid>
      <description>&lt;p&gt;什么是 defer？如何理解 defer 关键字？Go 中使用 defer 的一些坑。&lt;/p&gt;&#xA;&lt;p&gt;defer 意为延迟，在 golang 中用于延迟执行一个函数。它可以帮助我们处理容易忽略的问题，如资源释放、连接关闭等。但在实际使用过程中，有一些需要注意的地方（坑），下面我们一一道来。&lt;/p&gt;</description>
    </item>
    <item>
      <title>远程桌面协议对比</title>
      <link>https://Jermine.vdo.pub/linux/%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E5%8D%8F%E8%AE%AE%E5%AF%B9%E6%AF%94/</link>
      <pubDate>Thu, 31 Aug 2017 11:01:13 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E5%8D%8F%E8%AE%AE%E5%AF%B9%E6%AF%94/</guid>
      <description>&lt;h2 id=&#34;远程桌面协议对比&#34;&gt;远程桌面协议对比&lt;/h2&gt;&#xA;&lt;p&gt;最近在学习虚拟化相关的知识，遇到远程桌面协议，就简单整理了下找到的资料，目前常用的协议有VNC/SPICE/RDP三种，就在这里做一个简单的介绍。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker中使用深度学习框架并支持GPU加速</title>
      <link>https://Jermine.vdo.pub/docker/docker%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%A1%86%E6%9E%B6%E5%B9%B6%E6%94%AF%E6%8C%81gpu%E5%8A%A0%E9%80%9F/</link>
      <pubDate>Wed, 23 Aug 2017 15:40:16 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/docker%E4%B8%AD%E4%BD%BF%E7%94%A8%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%A1%86%E6%9E%B6%E5%B9%B6%E6%94%AF%E6%8C%81gpu%E5%8A%A0%E9%80%9F/</guid>
      <description>&lt;h2 id=&#34;docker中使用深度学习框架并支持gpu加速&#34;&gt;Docker中使用深度学习框架并支持GPU加速&lt;/h2&gt;&#xA;&lt;h3 id=&#34;启动一个支持gpu的容器&#34;&gt;启动一个支持gpu的容器&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker run --runtime=nvidia --restart=always --name tensorflow  -dit -v `pwd`:/app -w /app  nvidia/cuda:9.0-cudnn7-runtime-ubuntu16.04&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;进入容器&#34;&gt;进入容器&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker exec -it tensorflow bash&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;设置源&#34;&gt;设置源&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;Jermine@ubuntu:~$ cat &amp;gt; /etc/apt/sources.list&#xA;&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse&#xA;##测试版源&#xA;deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;更新源&#34;&gt;更新源&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get update &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;安装相关依赖&#34;&gt;安装相关依赖&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# 导入环境变量&#xA; TENSORFLOW_VERSION=1.7.0 &#xA; &#xA; apt-get update -y  &amp;amp;&amp;amp; apt-get install -y --no-install-recommends python3 python3-pip  protobuf-compiler;\&#xA;    pip3 install --upgrade pip ;\&#xA;    python3 -V &amp;amp;&amp;amp; pip3 -V ;\&#xA;    pip3  --no-cache-dir install setuptools  ;\&#xA;    pip3 --no-cache-dir install  \&#xA;    https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-${TENSORFLOW_VERSION}-cp35-cp35m-linux_x86_64.whl ;\&#xA;    apt-get autoremove &amp;amp;&amp;amp; apt-get autoclean ;\&#xA;    rm -rf /var/lib/apt/lists/*&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;测试程序&#34;&gt;测试程序&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import numpy as np&#xA;np.random.seed(0)&#xA;import tensorflow as tf&#xA;import time&#xA;&#xA;N,D = 6000,8000&#xA;&#xA;with tf.device(&amp;#39;/cpu:0&amp;#39;):&#xA;    x = tf.placeholder(tf.float32)&#xA;    y = tf.placeholder(tf.float32)&#xA;    z = tf.placeholder(tf.float32)&#xA;&#xA;    a = x * y&#xA;    b = a + z&#xA;    c = tf.reduce_sum(b)&#xA;&#xA;grad_x, grad_y, grad_z = tf.gradients(c, [x,y,z])&#xA;&#xA;start_time = time.time()&#xA;with tf.Session() as sess:&#xA;    values = {&#xA;        x: np.random.randn(N, D),&#xA;        y: np.random.randn(N, D),&#xA;        z: np.random.randn(N, D),&#xA;    }&#xA;    out = sess.run([c, grad_x, grad_y, grad_z],&#xA;                   feed_dict=values)&#xA;    c_val, grad_x_val, grad_y_val, grad_z_val = out&#xA;elapsed = time.time() - start_time&#xA;print(time.strftime(&amp;#34;%H:%M:%S&amp;#34;, time.gmtime(elapsed)))&#xA;print(&amp;#34;exit 0&amp;#34;)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;将其存为 test_gpu_for_tensorflow.py  ， 使用 &lt;code&gt;python3 test_gpu_for_tensorflow.py &lt;/code&gt; 执行结果如下：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Remmina一个Linux下功能丰富的远程桌面共享工具</title>
      <link>https://Jermine.vdo.pub/linux/remmina%E4%B8%80%E4%B8%AAlinux%E4%B8%8B%E5%8A%9F%E8%83%BD%E4%B8%B0%E5%AF%8C%E7%9A%84%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E5%85%B1%E4%BA%AB%E5%B7%A5%E5%85%B7/</link>
      <pubDate>Mon, 31 Jul 2017 12:26:34 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/remmina%E4%B8%80%E4%B8%AAlinux%E4%B8%8B%E5%8A%9F%E8%83%BD%E4%B8%B0%E5%AF%8C%E7%9A%84%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E5%85%B1%E4%BA%AB%E5%B7%A5%E5%85%B7/</guid>
      <description>&lt;p&gt;Remmina 是一款在 Linux 和其他类 Unix 系统下的自由开源、功能丰富、强大的远程桌面客户端，它用 GTK+ 3 编写而成。它适用于那些需要远程访问及使用许多计算机的系统管理员和在外出行人员。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setup Docker for Pi - 树莓派安装docker</title>
      <link>https://Jermine.vdo.pub/raspberry-pi/setup-docker-for-pi/</link>
      <pubDate>Tue, 11 Jul 2017 16:05:54 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/raspberry-pi/setup-docker-for-pi/</guid>
      <description>&lt;h2 id=&#34;安装步骤&#34;&gt;安装步骤&lt;/h2&gt;&#xA;&lt;h3 id=&#34;先下载对应的deb包&#34;&gt;先下载对应的deb包：&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;wget https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/arm64/docker-ce_18.06.0~ce~3-0~ubuntu_arm64.deb &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;通过dpkg进行安装&#34;&gt;通过dpkg进行安装&lt;/h3&gt;&#xA;&lt;p&gt;直接 &lt;code&gt;dpkg -i *.deb&lt;/code&gt; 进行安装&lt;/p&gt;&#xA;&lt;h3 id=&#34;然后设置开机启动&#34;&gt;然后设置开机启动&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl enable docker&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;配置镜像加速&#34;&gt;配置镜像加速：&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cat &amp;gt; /etc/docker/daemon.json&#xA;{&#xA;    &amp;#34;registry-mirrors&amp;#34;: [&#xA;        &amp;#34;https://2nmcv9vp.mirror.aliyuncs.com&amp;#34;&#xA;    ],&#xA;    &amp;#34;insecure-registries&amp;#34;: []&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;重启服务&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl restart docker&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Call Opencv Used Python3 - 通过docker在python3.6下调用opencv3.4.1</title>
      <link>https://Jermine.vdo.pub/raspberry-pi/call-opencv-used-python3.6-in-docker/</link>
      <pubDate>Wed, 21 Jun 2017 15:46:06 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/raspberry-pi/call-opencv-used-python3.6-in-docker/</guid>
      <description>&lt;h2 id=&#34;根据之前build好的镜像启动容器&#34;&gt;根据之前build好的镜像，启动容器&lt;/h2&gt;&#xA;&lt;p&gt;启动一个带有python3.6 和 opencv3.4.1的环境&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker run -itd --name cv -v `pwd`/app:/app --net host -w /app jermine/opencv:alpine-arm64&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;进入容器&#34;&gt;进入容器&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker exec -it cv sh&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Certificate Signed by Unknown Authority Error</title>
      <link>https://Jermine.vdo.pub/docker/certificate-signed-by-unknown-authority-error/</link>
      <pubDate>Sat, 13 May 2017 16:21:51 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/certificate-signed-by-unknown-authority-error/</guid>
      <description>&lt;h2 id=&#34;certificate-signed-by-unknown-authority-error&#34;&gt;Certificate signed by unknown authority error&lt;/h2&gt;&#xA;&lt;p&gt;x509: certificate signed by unknown authority&#xA;This error message means that you do not have a trusted certificate. You need to trust the default certificates generated during your Docker Trusted Registry (DTR) installation.&lt;/p&gt;&#xA;&lt;p&gt;You can do so by running these commands on the nodes from where you want to access your DTR (be sure to replace &lt;my-dtr-domain&gt; with your DTR Domain name.):&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;CentOS/RHEL&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;export DOMAIN_NAME=hub.fi.vdo.pub&#xA;export TCP_PORT=443&#xA;openssl s_client -connect $DOMAIN_NAME:$TCP_PORT -showcerts &amp;lt;/dev/null 2&amp;gt;/dev/null | openssl x509 -outform PEM | sudo tee /etc/pki/ca-trust/source/anchors/$DOMAIN_NAME.crt&#xA;update-ca-trust&#xA;systemctl restart docker.service&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Ubuntu&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git设置和取消代理</title>
      <link>https://Jermine.vdo.pub/git/git%E8%AE%BE%E7%BD%AE%E5%92%8C%E5%8F%96%E6%B6%88%E4%BB%A3%E7%90%86/</link>
      <pubDate>Thu, 30 Mar 2017 10:16:38 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/git/git%E8%AE%BE%E7%BD%AE%E5%92%8C%E5%8F%96%E6%B6%88%E4%BB%A3%E7%90%86/</guid>
      <description>&lt;h2 id=&#34;git-设置和取消代理&#34;&gt;git 设置和取消代理&lt;/h2&gt;&#xA;&lt;p&gt;本地开启VPN后，GIt也需要设置代理，才能正常略过GFW，访问goole code等网站&lt;/p&gt;&#xA;&lt;h3 id=&#34;代理设置如下可复制&#34;&gt;代理设置如下（可复制）：&lt;/h3&gt;&#xA;&lt;p&gt;注：git 设置 socks5 代理 加速。只对http，https生效，对ssh仍然无效&lt;/p&gt;</description>
    </item>
    <item>
      <title>Golang生成C/C&#43;&#43;可调用的动态库.so和静态库</title>
      <link>https://Jermine.vdo.pub/go/golang%E7%94%9F%E6%88%90c%E5%8F%AF%E8%B0%83%E7%94%A8%E7%9A%84%E5%8A%A8%E6%80%81%E5%BA%93.so%E5%92%8C%E9%9D%99%E6%80%81%E5%BA%93.a/</link>
      <pubDate>Wed, 29 Mar 2017 16:06:08 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/go/golang%E7%94%9F%E6%88%90c%E5%8F%AF%E8%B0%83%E7%94%A8%E7%9A%84%E5%8A%A8%E6%80%81%E5%BA%93.so%E5%92%8C%E9%9D%99%E6%80%81%E5%BA%93.a/</guid>
      <description>&lt;p&gt;Golang类似于C的静态语言，效率也接近于C，如果Golang也可以导出可供C调用的库，那可以和很多高级语言say goodbye了，goodbye似乎又有点武断，但至少说，Golang可以做很多事，而且效率优于很多高级语言，这样说应该没有问题。&#xA;接下来，就从三个方面分别来介绍Golang中关于库的使用。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux保存依赖安装包到指定目录(用于离线安装)</title>
      <link>https://Jermine.vdo.pub/linux/linux%E4%BF%9D%E5%AD%98%E4%BE%9D%E8%B5%96%E5%AE%89%E8%A3%85%E5%8C%85%E5%88%B0%E6%8C%87%E5%AE%9A%E7%9B%AE%E5%BD%95/</link>
      <pubDate>Tue, 21 Mar 2017 16:00:00 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/linux%E4%BF%9D%E5%AD%98%E4%BE%9D%E8%B5%96%E5%AE%89%E8%A3%85%E5%8C%85%E5%88%B0%E6%8C%87%E5%AE%9A%E7%9B%AE%E5%BD%95/</guid>
      <description>&lt;p&gt;经常与一些保密级别较高的企业打交道，他们使用的网络都是内部网络，根本无法访问到公网，但是部署一些项目时难免会有依赖包需要离线安装。遇到这种问题通常都是手动去下载依赖的库，然后离线安装，但是你无法判断下载的这个依赖库是否还依赖其他库，如果是手动去下载安装将耗费很长时间（他们导入任何文件都要走流程，一次就需要4h左右），为了改善这种情况，就需要将所有依赖都离线下载到本，本文将介绍如何将Centos和Ubuntu的依赖包保存到本地。&lt;/p&gt;</description>
    </item>
    <item>
      <title>GDB in Docker for Debug - 如何在Docker容器内部使用gdb进行debug</title>
      <link>https://Jermine.vdo.pub/docker/gdb-in-docker-for-debug/</link>
      <pubDate>Wed, 08 Mar 2017 10:02:33 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/gdb-in-docker-for-debug/</guid>
      <description>&lt;p&gt;安全计算模式（secure computing mode，seccomp）是 Linux 内核功能，可以使用它来限制容器内可用的操作。&lt;/p&gt;&#xA;&lt;p&gt;Docker 的默认 seccomp 配置文件是一个白名单，它指定了允许的调用。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Golang与C互用以及调用C的so动态库和a静态库</title>
      <link>https://Jermine.vdo.pub/go/golang%E4%B8%8Ec%E4%BA%92%E7%9B%B8%E8%B0%83%E7%94%A8%E4%BB%A5%E5%8F%8A%E8%B0%83%E7%94%A8c%E7%9A%84so%E5%8A%A8%E6%80%81%E5%BA%93%E5%92%8Ca%E9%9D%99%E6%80%81%E5%BA%93/</link>
      <pubDate>Thu, 23 Feb 2017 16:48:24 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/go/golang%E4%B8%8Ec%E4%BA%92%E7%9B%B8%E8%B0%83%E7%94%A8%E4%BB%A5%E5%8F%8A%E8%B0%83%E7%94%A8c%E7%9A%84so%E5%8A%A8%E6%80%81%E5%BA%93%E5%92%8Ca%E9%9D%99%E6%80%81%E5%BA%93/</guid>
      <description>&lt;p&gt;Golang与C的关系非常密切，下面主要介绍在Golang中使用C。&lt;/p&gt;&#xA;&lt;h2 id=&#34;golang中嵌入c代码&#34;&gt;Golang中嵌入C代码&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 1&lt;/span&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;package&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 2&lt;/span&gt;&lt;span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;//#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 3&lt;/span&gt;&lt;span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;//#include &amp;lt;stdlib.h&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 4&lt;/span&gt;&lt;span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;/*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 5&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; void Hello(char *str) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 6&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;     printf(&amp;#34;%s\n&amp;#34;, str);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 7&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 8&lt;/span&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt; */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 9&lt;/span&gt;&lt;span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;C&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;//假设把C当成包，其实有点类似C++的名字空间&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;10&lt;/span&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;unsafe&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;//C指针的使用，在C代码中申请的空间，GC垃圾回收机制不会管理，所以需要自己手动free申请的空间&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;11&lt;/span&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;func&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt;() {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;12&lt;/span&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;s&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Hello Cgo&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;13&lt;/span&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;cs&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;CString&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;s&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;14&lt;/span&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Hello&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;cs&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;15&lt;/span&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;free&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;unsafe&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Pointer&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;cs&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;16&lt;/span&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3,4行的注释也可以写/* */形式&#xA;第4行与第5行之间不能有空行，同样第9行与第10行之间也不&#xA;能有行，否则编译时cgo会报错：&lt;/p&gt;</description>
    </item>
    <item>
      <title>终端利器tmux不止完美替换nohup-&amp;-screen等进程守护命令 </title>
      <link>https://Jermine.vdo.pub/linux/%E7%BB%88%E7%AB%AF%E5%88%A9%E5%99%A8tmux%E4%B8%8D%E6%AD%A2%E5%AE%8C%E7%BE%8E%E6%9B%BF%E6%8D%A2nohup--screen%E7%AD%89%E8%BF%9B%E7%A8%8B%E5%AE%88%E6%8A%A4%E5%91%BD%E4%BB%A4/</link>
      <pubDate>Tue, 31 Jan 2017 12:49:08 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/%E7%BB%88%E7%AB%AF%E5%88%A9%E5%99%A8tmux%E4%B8%8D%E6%AD%A2%E5%AE%8C%E7%BE%8E%E6%9B%BF%E6%8D%A2nohup--screen%E7%AD%89%E8%BF%9B%E7%A8%8B%E5%AE%88%E6%8A%A4%E5%91%BD%E4%BB%A4/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;“君子生非异也，善假于物也” 。–语出《荀子·劝学》&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;如果记得没错的话，《荀子·劝学》我们这一代高中的时候应该都读过这篇文章。原意大概是君子的资质与一般人没有什么区别，君子之所以高于一般人，是因为他能善于利用外物。对于技术人来说，好工具的选择和使用往往可以省去很多不必要的麻烦，好的开源工具很多，看你如何去使用。对于终端复用工具这里推荐使用tmux，当然此类工具比较好的还有screen，不过相对screen 这里我更倾向于推荐tmux[强悍的分屏等]。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vs Code Hotkeys - vscode: Visual Studio Code 常用快捷键</title>
      <link>https://Jermine.vdo.pub/tools/vs-code-hotkeys/</link>
      <pubDate>Wed, 18 Jan 2017 11:02:31 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/tools/vs-code-hotkeys/</guid>
      <description>&lt;p&gt;灵活使用快捷键可以提高编程效率，在此特意记录，快捷键的整理参照了VS Code官网。&lt;/p&gt;&#xA;&lt;h3 id=&#34;主命令框&#34;&gt;主命令框&lt;/h3&gt;&#xA;&lt;p&gt;F1 或 Ctrl+Shift+P: 打开命令面板。在打开的输入框内，可以输入任何命令，例如：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Centos7.4升级内核到4</title>
      <link>https://Jermine.vdo.pub/linux/centos7.4%E5%8D%87%E7%BA%A7%E5%86%85%E6%A0%B8%E5%88%B04.x/</link>
      <pubDate>Mon, 12 Dec 2016 18:08:28 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/linux/centos7.4%E5%8D%87%E7%BA%A7%E5%86%85%E6%A0%B8%E5%88%B04.x/</guid>
      <description>&lt;h2 id=&#34;查看内核版本uname--r&#34;&gt;查看内核版本：uname -r&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@k8s-node02 ~]# uname -r&#xA;3.10.0-862.9.1.el7.x86_64&#xA;[root@k8s-node02 ~]# &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;内核版本为3.10.0&lt;/p&gt;&#xA;&lt;h2 id=&#34;导入elrepo的key然后安装elrepo的yum源&#34;&gt;导入elrepo的key，然后安装elrepo的yum源&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&#xA;rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org&#xA;&#xA;rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;使用以下命令列出可用的内核相关包&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;yum --disablerepo=&amp;#34;*&amp;#34; --enablerepo=&amp;#34;elrepo-kernel&amp;#34; list available&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@localhost ~]# yum --disablerepo=&amp;#34;*&amp;#34; --enablerepo=&amp;#34;elrepo-kernel&amp;#34; list available&#xA;Loaded plugins: fastestmirror&#xA;Loading mirror speeds from cached hostfile&#xA; * elrepo-kernel: hkg.mirror.rackspace.com&#xA;Available Packages&#xA;kernel-lt.x86_64                                                  4.4.166-1.el7.elrepo                                 elrepo-kernel&#xA;kernel-lt-devel.x86_64                                            4.4.166-1.el7.elrepo                                 elrepo-kernel&#xA;kernel-lt-doc.noarch                                              4.4.166-1.el7.elrepo                                 elrepo-kernel&#xA;kernel-lt-headers.x86_64                                          4.4.166-1.el7.elrepo                                 elrepo-kernel&#xA;kernel-lt-tools.x86_64                                            4.4.166-1.el7.elrepo                                 elrepo-kernel&#xA;kernel-lt-tools-libs.x86_64                                       4.4.166-1.el7.elrepo                                 elrepo-kernel&#xA;kernel-lt-tools-libs-devel.x86_64                                 4.4.166-1.el7.elrepo                                 elrepo-kernel&#xA;kernel-ml-doc.noarch                                              4.19.8-1.el7.elrepo                                  elrepo-kernel&#xA;kernel-ml-headers.x86_64                                          4.19.8-1.el7.elrepo                                  elrepo-kernel&#xA;kernel-ml-tools.x86_64                                            4.19.8-1.el7.elrepo                                  elrepo-kernel&#xA;kernel-ml-tools-libs.x86_64                                       4.19.8-1.el7.elrepo                                  elrepo-kernel&#xA;kernel-ml-tools-libs-devel.x86_64                                 4.19.8-1.el7.elrepo                                  elrepo-kernel&#xA;perf.x86_64                                                       4.19.8-1.el7.elrepo                                  elrepo-kernel&#xA;python-perf.x86_64                                                4.19.8-1.el7.elrepo                                  elrepo-kernel&#xA;[root@localhost ~]# &#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可以看出，长期维护版本lt为4.4，最新主线稳定版ml为4.19，我们需要安装最新的主线稳定内核，使用如下命令：&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSE技术详解 使用http将服务端数据推送到客户端  [可作为Websocket的轻量化替换]</title>
      <link>https://Jermine.vdo.pub/web/sse%E6%8A%80%E6%9C%AF%E8%AF%A6%E8%A7%A3-%E4%BD%BF%E7%94%A8http%E5%B0%86%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%95%B0%E6%8D%AE%E6%8E%A8%E9%80%81%E5%88%B0%E5%AE%A2%E6%88%B7%E7%AB%AF--%E5%8F%AF%E4%BD%9C%E4%B8%BAwebsocket%E7%9A%84%E8%BD%BB%E9%87%8F%E5%8C%96%E6%9B%BF%E6%8D%A2/</link>
      <pubDate>Mon, 21 Nov 2016 14:20:46 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/web/sse%E6%8A%80%E6%9C%AF%E8%AF%A6%E8%A7%A3-%E4%BD%BF%E7%94%A8http%E5%B0%86%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%95%B0%E6%8D%AE%E6%8E%A8%E9%80%81%E5%88%B0%E5%AE%A2%E6%88%B7%E7%AB%AF--%E5%8F%AF%E4%BD%9C%E4%B8%BAwebsocket%E7%9A%84%E8%BD%BB%E9%87%8F%E5%8C%96%E6%9B%BF%E6%8D%A2/</guid>
      <description>&lt;h1 id=&#34;sse技术详解-使用http将服务端数据推送到客户端&#34;&gt;SSE技术详解-使用http将服务端数据推送到客户端&lt;/h1&gt;&#xA;&lt;p&gt;SSE （ Server-sent Events ）是 WebSocket 的一种轻量代替方案，使用 HTTP 协议。&lt;/p&gt;&#xA;&lt;p&gt;　　严格地说，HTTP 协议是没有办法做服务器推送的，但是当服务器向客户端声明接下来要发送流信息时，客户端就会保持连接打开，SSE 使用的就是这种原理。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git clone直接提交用户名和密码</title>
      <link>https://Jermine.vdo.pub/git/git_clone%E7%9B%B4%E6%8E%A5%E6%8F%90%E4%BA%A4%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81/</link>
      <pubDate>Tue, 30 Aug 2016 10:20:07 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/git/git_clone%E7%9B%B4%E6%8E%A5%E6%8F%90%E4%BA%A4%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81/</guid>
      <description>&lt;h2 id=&#34;git使用用户名密码clone的方式&#34;&gt;git使用用户名密码clone的方式：&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;git clone http://username:password@remote&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;例如：我的用户名是&lt;code&gt;abc@qq.com&lt;/code&gt;,密码是&lt;code&gt;abc123456&lt;/code&gt;,git地址为&lt;code&gt;git@xxx.com/www.git&lt;/code&gt;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;git clone http://abc@qq.com:abc123456@git.xxx.com/www.git&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;执行报错：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;fatal: unable to access &amp;#39;http://abc@qq.com:abc123456@git.xxx.com/www.git/&amp;#39;: &#xA; Couldn&amp;#39;t resolve host &amp;#39;qq.com:abc123456@git.xxx.com&amp;#39;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;报错原因是因为用户名包含了@符号，所以需求要把@转码一下&lt;/p&gt;</description>
    </item>
    <item>
      <title>Go语言静态库的编译和使用</title>
      <link>https://Jermine.vdo.pub/go/go%E8%AF%AD%E8%A8%80%E9%9D%99%E6%80%81%E5%BA%93%E7%9A%84%E7%BC%96%E8%AF%91%E5%92%8C%E4%BD%BF%E7%94%A8/</link>
      <pubDate>Mon, 29 Aug 2016 16:37:16 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/go/go%E8%AF%AD%E8%A8%80%E9%9D%99%E6%80%81%E5%BA%93%E7%9A%84%E7%BC%96%E8%AF%91%E5%92%8C%E4%BD%BF%E7%94%A8/</guid>
      <description>&lt;p&gt;本文主要介绍go语言静态库的编译和使用方法，以windows平台为例，linux平台步骤一样，具体环境如下：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&amp;gt;echo %GOPATH%&#xA;E:\share\git\go_practice\&#xA;&#xA;&amp;gt;echo %GOROOT%&#xA;C:\Go\&#xA;&#xA;&amp;gt;tree /F %GOPATH%\src&#xA;卷 work 的文件夹 PATH 列表&#xA;卷序列号为 0009-D8C8&#xA;E:\SHARE\GIT\GO_PRACTICE\SRC&#xA;│  main.go&#xA;│&#xA;└─demo&#xA;        demo.go&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;在&lt;code&gt;%GOPATH%\src&lt;/code&gt;目录，有demo包和使用demo包的应用程序&lt;code&gt;main.go&lt;/code&gt;，&lt;code&gt;main.go&lt;/code&gt;代码如下：&lt;/p&gt;</description>
    </item>
    <item>
      <title>解决树莓派交换空间的问题</title>
      <link>https://Jermine.vdo.pub/raspberry-pi/raspberry-pi-set-swap/</link>
      <pubDate>Sun, 21 Aug 2016 15:19:10 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/raspberry-pi/raspberry-pi-set-swap/</guid>
      <description>&lt;p&gt;今天在树莓派编译一个较大的C项目时发现每次编译到43之后速度会特别慢并且死机，百度之后发现可能是交换空间不足，增加1G交换空间后才解决死机问题。&lt;/p&gt;</description>
    </item>
    <item>
      <title>浅谈Golang sync</title>
      <link>https://Jermine.vdo.pub/go/%E6%B5%85%E8%B0%88_golang_sync_/</link>
      <pubDate>Sat, 23 Jul 2016 16:37:16 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/go/%E6%B5%85%E8%B0%88_golang_sync_/</guid>
      <description>&lt;p&gt;尽管 Golang 推荐通过 channel 进行通信和同步，但在实际开发中 sync 包用得也非常的多。另外 sync 下还有一个 atomic 包，提供了一些底层的原子操作（这里不做介绍）。本篇文章主要介绍该包下的锁的一些概念及使用方法。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Make an Alpine Docker Image</title>
      <link>https://Jermine.vdo.pub/raspberry-pi/make-an-alpine-docker-image/</link>
      <pubDate>Sat, 21 May 2016 16:14:53 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/raspberry-pi/make-an-alpine-docker-image/</guid>
      <description>&lt;h2 id=&#34;步骤&#34;&gt;步骤：&lt;/h2&gt;&#xA;&lt;h3 id=&#34;运行如下代码获取基础镜像&#34;&gt;运行如下代码获取基础镜像&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker pull jermine/alpine&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Dockerfile 源码参考：https://github.com/JermineHu/docker-alpine-armhf&lt;/p&gt;&#xA;&lt;p&gt;基于基础镜像可以安装alpine是所有软件，然后构建一个运行环境，比如&lt;/p&gt;</description>
    </item>
    <item>
      <title>Golang Cross Compiled Config - go语言跨平台交叉编译</title>
      <link>https://Jermine.vdo.pub/go/go-cross-compiled-config/</link>
      <pubDate>Wed, 23 Mar 2016 14:14:13 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/go/go-cross-compiled-config/</guid>
      <description>&lt;h1 id=&#34;go在各个平台交叉编译的介绍&#34;&gt;go在各个平台交叉编译的介绍&lt;/h1&gt;&#xA;&lt;p&gt;&lt;code&gt;Golang&lt;/code&gt; 支持交叉编译，在一个平台上生成另一个平台的可执行程序，最近使用了一下，非常好用，这里备忘一下。&lt;/p&gt;&#xA;&lt;h3 id=&#34;mac-下的交叉编译&#34;&gt;Mac 下的交叉编译&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Mac&lt;/code&gt; 下编译 &lt;code&gt;Linux&lt;/code&gt; 和 &lt;code&gt;Windows 64&lt;/code&gt; 位可执行程序&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go &#xA;CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;linux-下的交叉编译&#34;&gt;Linux 下的交叉编译&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;Linux&lt;/code&gt; 下编译 &lt;code&gt;Mac&lt;/code&gt; 和 &lt;code&gt;Windows 64&lt;/code&gt;位可执行程序&lt;/p&gt;</description>
    </item>
    <item>
      <title>在docker中搭建Samba服务器</title>
      <link>https://Jermine.vdo.pub/docker/docker-samba/</link>
      <pubDate>Sun, 20 Mar 2016 12:13:19 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/docker/docker-samba/</guid>
      <description>&lt;h2 id=&#34;在docker中搭建samba服务器&#34;&gt;在docker中搭建Samba服务器&lt;/h2&gt;&#xA;&lt;p&gt;要是想把容器的权限与宿主主机的用户权限一致的话，则只需要把用户和组文件映射到容器里面即可：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;docker run --restart=always -d --name samba -p 139:139 -p 445:445 -v /data/samba_server:/share -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro dperson/samba -s &amp;#34;lnh;/share/;yes;no;no;all;none&amp;#34;&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果只是设置账户直接访问可以直接run：&lt;/p&gt;</description>
    </item>
    <item>
      <title>K8s on Raspberry Pi</title>
      <link>https://Jermine.vdo.pub/raspberry-pi/k8s-on-raspberry-pi/</link>
      <pubDate>Sat, 21 Oct 2017 16:20:55 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/raspberry-pi/k8s-on-raspberry-pi/</guid>
      <description>&lt;h2 id=&#34;配置环境步骤如下&#34;&gt;配置环境步骤如下：&lt;/h2&gt;&#xA;&lt;h3 id=&#34;安装kubeadm必要的软件&#34;&gt;安装kubeadm必要的软件&lt;/h3&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;apt install socat ebtables ethtool&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;安装相关的软件&#34;&gt;安装相关的软件&lt;/h3&gt;&#xA;&lt;p&gt;主要软件有：&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;kubeadm_1.10.2-00_arm64 、kubectl_1.10.2-00_arm64 、kubelet_1.10.2-00_arm64 、kubernetes-cni_0.6.0-00_arm64&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>关于我-Jermine</title>
      <link>https://Jermine.vdo.pub/about/</link>
      <pubDate>Sat, 21 Mar 2015 12:13:19 +0800</pubDate>
      <guid>https://Jermine.vdo.pub/about/</guid>
      <description>&lt;h2 id=&#34;关于我&#34;&gt;关于我&lt;/h2&gt;&#xA;&lt;h3 id=&#34;自报家门&#34;&gt;自报家门：&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;英文名 :&lt;/strong&gt;  Jermine（中文叫法应该为杰明，而我老婆第一次听到我的英文名她听成了“煎饼”，随后我就成了她的“煎饼”，在微信、QQ上找我，就直呼我”贱饼“ ！好好的一个高大上英文名，终究还是被玩坏了，不过慢慢反倒习惯她喊我”**饼“！）&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
