好物优选点击查看详情 京东购买

暂无内容

配置 Ubuntu 开发环境

wangjianfeng@pc:~/source$ <span class="token function">uname</span> <span class="token parameter variable">-a</span> Linux pc <span class="token number">5.11</span>.0-36-generic
wangjianfeng@pc:~/source$ <span class="token function">uname</span> <span class="token parameter variable">-a</span> Linux pc <span class="token number">5.11</span>.0-36-generic  
wangjianfeng@pc:~/source$ uname -a Linux pc 5.11.0-36-generic

1 基础软件

包括常用办公工具,Android系统构建阶段的依赖库

<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token parameter variable">-y</span> git-core gnupg flex bison gperf build-essential <span class="token function">zip</span> <span class="token function">curl</span> zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc <span class="token function">unzip</span> libssl-dev libssl-dev openssl autoconf m4 libxml2-utils <span class="token function">bc</span> libxml-simple-perl <span class="token function">ssh</span> terminator minicom tree net-tools <span class="token function">vim</span>
<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token parameter variable">-y</span> git-core gnupg flex bison gperf build-essential <span class="token function">zip</span> <span class="token function">curl</span> zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc <span class="token function">unzip</span> libssl-dev libssl-dev openssl autoconf m4 libxml2-utils <span class="token function">bc</span> libxml-simple-perl <span class="token function">ssh</span> terminator minicom tree net-tools <span class="token function">vim</span> 
sudo apt-get install -y git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip libssl-dev libssl-dev openssl autoconf m4 libxml2-utils bc libxml-simple-perl ssh terminator minicom tree net-tools vim

2 共享: Samba

通过samba服务,实现文件资源共享。

<span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">..</span>. <span class="token punctuation">[</span>serverA<span class="token punctuation">]</span> workgroup <span class="token operator">=</span> my_domain comment <span class="token operator">=</span> wangjianfeng path <span class="token operator">=</span> /home/wangjianfeng/source directory mask <span class="token operator">=</span> 0775 create mask <span class="token operator">=</span> 0775 browseable <span class="token operator">=</span> <span class="token function">yes</span> public <span class="token operator">=</span> <span class="token function">yes</span> available <span class="token operator">=</span> <span class="token function">yes</span> writable <span class="token operator">=</span> <span class="token function">yes</span> admin <span class="token function">users</span> <span class="token operator">=</span> hinzer <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> hinzer@pc:~/source$ <span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token parameter variable">-y</span> cifs-utils hinzer@pc:~/source$ <span class="token function">cat</span> /etc/auth.smb <span class="token punctuation">..</span>. <span class="token assign-left variable">username</span><span class="token operator">=</span>hinzer <span class="token assign-left variable">password</span><span class="token operator">=</span><span class="token number">1</span> <span class="token assign-left variable">domain</span><span class="token operator">=</span>my_domain hinzer@pc:~/source$ <span class="token function">sudo</span> <span class="token function">vim</span> /etc/fstab <span class="token punctuation">..</span>. //10.2.5.133/serverA /home/hinzer/source/server cifs <span class="token assign-left variable">credentials</span><span class="token operator">=</span>/etc/auth.smb,gid<span class="token operator">=</span><span class="token number">1000</span>,uid<span class="token operator">=</span><span class="token number">1000</span>,iocharset<span class="token operator">=</span>utf8,rw <span class="token number">0</span> <span class="token number">0</span> hinzer@pc:~/source$ <span class="token function">mkdir</span> /home/hinzer/source/server hinzer@pc:~/source$ <span class="token function">sudo</span> <span class="token function">mount</span> <span class="token parameter variable">-a</span> hinzer@pc:~/source/server$ ll total <span class="token number">144</span> drwxr-xr-x <span class="token number">2</span> hinzer hinzer <span class="token number">0</span> <span class="token number">10</span>月 <span class="token number">14</span> <span class="token number">20</span>:07 ./ drwxrwxr-x <span class="token number">12</span> hinzer hinzer <span class="token number">4096</span> <span class="token number">10</span>月 <span class="token number">14</span> <span class="token number">20</span>:06 <span class="token punctuation">..</span>/ -rwxr-xr-x <span class="token number">1</span> hinzer hinzer <span class="token number">1305</span> <span class="token number">10</span>月 <span class="token number">11</span> <span class="token number">19</span>:38 build.sh* -rwxr-xr-x <span class="token number">1</span> hinzer hinzer <span class="token number">137352</span> <span class="token number">10</span>月 <span class="token number">11</span> <span class="token number">19</span>:23 .config*
 <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">..</span>. <span class="token punctuation">[</span>serverA<span class="token punctuation">]</span> workgroup <span class="token operator">=</span> my_domain comment <span class="token operator">=</span> wangjianfeng path <span class="token operator">=</span> /home/wangjianfeng/source directory mask <span class="token operator">=</span> 0775 create mask <span class="token operator">=</span> 0775 browseable <span class="token operator">=</span> <span class="token function">yes</span> public <span class="token operator">=</span> <span class="token function">yes</span> available <span class="token operator">=</span> <span class="token function">yes</span> writable <span class="token operator">=</span> <span class="token function">yes</span>    admin <span class="token function">users</span> <span class="token operator">=</span> hinzer <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span> <span class="token punctuation">[</span>root@10_2_5_133 ~<span class="token punctuation">]</span>  hinzer@pc:~/source$ <span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> <span class="token parameter variable">-y</span> cifs-utils hinzer@pc:~/source$ <span class="token function">cat</span> /etc/auth.smb <span class="token punctuation">..</span>. <span class="token assign-left variable">username</span><span class="token operator">=</span>hinzer <span class="token assign-left variable">password</span><span class="token operator">=</span><span class="token number">1</span> <span class="token assign-left variable">domain</span><span class="token operator">=</span>my_domain hinzer@pc:~/source$ <span class="token function">sudo</span> <span class="token function">vim</span> /etc/fstab <span class="token punctuation">..</span>. //10.2.5.133/serverA /home/hinzer/source/server cifs <span class="token assign-left variable">credentials</span><span class="token operator">=</span>/etc/auth.smb,gid<span class="token operator">=</span><span class="token number">1000</span>,uid<span class="token operator">=</span><span class="token number">1000</span>,iocharset<span class="token operator">=</span>utf8,rw <span class="token number">0</span> <span class="token number">0</span> hinzer@pc:~/source$ <span class="token function">mkdir</span> /home/hinzer/source/server hinzer@pc:~/source$ <span class="token function">sudo</span> <span class="token function">mount</span> <span class="token parameter variable">-a</span>  hinzer@pc:~/source/server$ ll total <span class="token number">144</span> drwxr-xr-x <span class="token number">2</span> hinzer hinzer <span class="token number">0</span> <span class="token number">10</span>月 <span class="token number">14</span> <span class="token number">20</span>:07 ./ drwxrwxr-x <span class="token number">12</span> hinzer hinzer <span class="token number">4096</span> <span class="token number">10</span>月 <span class="token number">14</span> <span class="token number">20</span>:06 <span class="token punctuation">..</span>/ -rwxr-xr-x <span class="token number">1</span> hinzer hinzer <span class="token number">1305</span> <span class="token number">10</span>月 <span class="token number">11</span> <span class="token number">19</span>:38 build.sh* -rwxr-xr-x <span class="token number">1</span> hinzer hinzer <span class="token number">137352</span> <span class="token number">10</span>月 <span class="token number">11</span> <span class="token number">19</span>:23 .config* 
[root@10_2_5_133 ~] [root@10_2_5_133 ~] [root@10_2_5_133 ~] [root@10_2_5_133 ~] ... [serverA] workgroup = my_domain comment = wangjianfeng path = /home/wangjianfeng/source directory mask = 0775 create mask = 0775 browseable = yes public = yes available = yes writable = yes admin users = hinzer [root@10_2_5_133 ~] [root@10_2_5_133 ~] [root@10_2_5_133 ~] [root@10_2_5_133 ~] hinzer@pc:~/source$ sudo apt-get install -y cifs-utils hinzer@pc:~/source$ cat /etc/auth.smb ... username=hinzer password=1 domain=my_domain hinzer@pc:~/source$ sudo vim /etc/fstab ... //10.2.5.133/serverA /home/hinzer/source/server cifs credentials=/etc/auth.smb,gid=1000,uid=1000,iocharset=utf8,rw 0 0 hinzer@pc:~/source$ mkdir /home/hinzer/source/server hinzer@pc:~/source$ sudo mount -a hinzer@pc:~/source/server$ ll total 144 drwxr-xr-x 2 hinzer hinzer 0 1014 20:07 ./ drwxrwxr-x 12 hinzer hinzer 4096 1014 20:06 ../ -rwxr-xr-x 1 hinzer hinzer 1305 1011 19:38 build.sh* -rwxr-xr-x 1 hinzer hinzer 137352 1011 19:23 .config*
  • samba用户不属于系统用户,但添加samba用户时需要系统存在同名用户;
  • samba配置指定samba用户对共享资源的权限,客户端凭借该身份访问共享资源;
  • 共享资源的权限同时受客户端约束,在挂载时可以配置共享文件的uid gid等属性;

3 文档: GitBook

公司wiki不方便编辑,导入/导出,检索和维护。个人/团队的经验、技术、文档比较难形成沉淀。

本地编辑:markdown编辑器 + git工具
服务器:gitlab + git/repo工具 + gitbook服务器
团队协同:通过gitlab来实现公共文档的权限管理,文档编辑

持续集成和持续渲染:服务器上lixnux执行定时任务,来实现源码的同步,渲染页面

hinzer@pc:~$ <span class="token function">sudo</span> <span class="token function">npm</span> <span class="token function">install</span> gitbook-cli <span class="token parameter variable">-g</span> hinzer@pc:~$ gitbook <span class="token parameter variable">-V</span> hinzer@pc:~$ <span class="token function">git</span> clone git@gitlab.loongnix.org:wangjianfeng/repositories.git hinzer@pc:~$ gitbook init hinzer@pc:~$ <span class="token function">vim</span> book.json hinzer@pc:~$ gitbook <span class="token function">install</span>
 hinzer@pc:~$ <span class="token function">sudo</span> <span class="token function">npm</span> <span class="token function">install</span> gitbook-cli <span class="token parameter variable">-g</span> hinzer@pc:~$ gitbook <span class="token parameter variable">-V</span>   hinzer@pc:~$ <span class="token function">git</span> clone git@gitlab.loongnix.org:wangjianfeng/repositories.git  hinzer@pc:~$ gitbook init  hinzer@pc:~$ <span class="token function">vim</span> book.json  hinzer@pc:~$ gitbook <span class="token function">install</span>  
hinzer@pc:~$ sudo npm install gitbook-cli -g hinzer@pc:~$ gitbook -V hinzer@pc:~$ git clone git@gitlab.loongnix.org:wangjianfeng/repositories.git hinzer@pc:~$ gitbook init hinzer@pc:~$ vim book.json hinzer@pc:~$ gitbook install

book.json

<span class="token punctuation">{<!-- --></span> <span class="token string-property property">"plugins"</span><span class="token operator">:</span> <span class="token punctuation">[</span> <span class="token string">"expandable-chapters-small"</span><span class="token punctuation">,</span> <span class="token string">"-lunr"</span><span class="token punctuation">,</span> <span class="token string">"-search"</span><span class="token punctuation">,</span> <span class="token string">"search-plus"</span><span class="token punctuation">,</span> <span class="token string">"-sharing"</span><span class="token punctuation">,</span> <span class="token string">"splitter"</span><span class="token punctuation">,</span> <span class="token string">"anchor-navigation-ex-toc"</span><span class="token punctuation">,</span> <span class="token string">"hide-element"</span><span class="token punctuation">,</span> <span class="token string">"-insert-logo"</span><span class="token punctuation">,</span> <span class="token string">"code"</span><span class="token punctuation">,</span> <span class="token string">"summary"</span><span class="token punctuation">,</span> <span class="token string">"simple-page-toc"</span><span class="token punctuation">,</span> <span class="token string">"copy-code-button"</span><span class="token punctuation">,</span> <span class="token string">"edit-link"</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string-property property">"pluginsConfig"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"hide-element"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"elements"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">".gitbook-link"</span><span class="token punctuation">]</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string-property property">"insert-logo"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"url"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span> <span class="token string-property property">"style"</span><span class="token operator">:</span> <span class="token string">"background: none; max-height: 120px; min-height: 120px"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string-property property">"simple-page-toc"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"maxDepth"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token string-property property">"skipFirstH1"</span><span class="token operator">:</span> <span class="token boolean">true</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string-property property">"edit-link"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"base"</span><span class="token operator">:</span> <span class="token string">"http://gitlab.loongnix.org/wangjianfeng/gsgpu-docs/-/tree/master"</span><span class="token punctuation">,</span> <span class="token string-property property">"label"</span><span class="token operator">:</span> <span class="token string">"Edit This Page"</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span>
<span class="token punctuation">{<!-- --></span> <span class="token string-property property">"plugins"</span><span class="token operator">:</span> <span class="token punctuation">[</span> <span class="token string">"expandable-chapters-small"</span><span class="token punctuation">,</span> <span class="token string">"-lunr"</span><span class="token punctuation">,</span> <span class="token string">"-search"</span><span class="token punctuation">,</span> <span class="token string">"search-plus"</span><span class="token punctuation">,</span> <span class="token string">"-sharing"</span><span class="token punctuation">,</span> <span class="token string">"splitter"</span><span class="token punctuation">,</span> <span class="token string">"anchor-navigation-ex-toc"</span><span class="token punctuation">,</span> <span class="token string">"hide-element"</span><span class="token punctuation">,</span> <span class="token string">"-insert-logo"</span><span class="token punctuation">,</span> <span class="token string">"code"</span><span class="token punctuation">,</span> <span class="token string">"summary"</span><span class="token punctuation">,</span> <span class="token string">"simple-page-toc"</span><span class="token punctuation">,</span> <span class="token string">"copy-code-button"</span><span class="token punctuation">,</span> <span class="token string">"edit-link"</span> <span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string-property property">"pluginsConfig"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"hide-element"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"elements"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">".gitbook-link"</span><span class="token punctuation">]</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string-property property">"insert-logo"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"url"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span> <span class="token string-property property">"style"</span><span class="token operator">:</span> <span class="token string">"background: none; max-height: 120px; min-height: 120px"</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string-property property">"simple-page-toc"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"maxDepth"</span><span class="token operator">:</span> <span class="token number">3</span><span class="token punctuation">,</span> <span class="token string-property property">"skipFirstH1"</span><span class="token operator">:</span> <span class="token boolean">true</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token string-property property">"edit-link"</span><span class="token operator">:</span> <span class="token punctuation">{<!-- --></span> <span class="token string-property property">"base"</span><span class="token operator">:</span> <span class="token string">"http://gitlab.loongnix.org/wangjianfeng/gsgpu-docs/-/tree/master"</span><span class="token punctuation">,</span> <span class="token string-property property">"label"</span><span class="token operator">:</span> <span class="token string">"Edit This Page"</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> <span class="token punctuation">}</span> 
{ "plugins": [ "expandable-chapters-small", "-lunr", "-search", "search-plus", "-sharing", "splitter", "anchor-navigation-ex-toc", "hide-element", "-insert-logo", "code", "summary", "simple-page-toc", "copy-code-button", "edit-link" ], "pluginsConfig": { "hide-element": { "elements": [".gitbook-link"] }, "insert-logo": { "url": "", "style": "background: none; max-height: 120px; min-height: 120px" }, "simple-page-toc": { "maxDepth": 3, "skipFirstH1": true }, "edit-link": { "base": "http://gitlab.loongnix.org/wangjianfeng/gsgpu-docs/-/tree/master", "label": "Edit This Page" } } }
<span class="token function">mkdir</span> <span class="token parameter variable">-p</span> /var/log/gitbook <span class="token function">nohup</span> gitbook serve <span class="token parameter variable">--port</span> <span class="token number">4000</span> <span class="token parameter variable">--lrport</span> <span class="token number">35730</span> <span class="token parameter variable">--watch</span> <span class="token operator">&</span> <span class="token function">nohup</span> gitbook serve <span class="token parameter variable">--port</span> <span class="token number">3000</span> <span class="token parameter variable">--lrport</span> <span class="token number">35731</span> <span class="token parameter variable">--watch</span> <span class="token operator">&</span> <span class="token function">ps</span> <span class="token parameter variable">-aux</span> <span class="token operator">|</span> <span class="token function">grep</span> gitbook
<span class="token function">mkdir</span> <span class="token parameter variable">-p</span> /var/log/gitbook <span class="token function">nohup</span> gitbook serve <span class="token parameter variable">--port</span> <span class="token number">4000</span> <span class="token parameter variable">--lrport</span> <span class="token number">35730</span> <span class="token parameter variable">--watch</span> <span class="token operator">&</span> <span class="token function">nohup</span> gitbook serve <span class="token parameter variable">--port</span> <span class="token number">3000</span> <span class="token parameter variable">--lrport</span> <span class="token number">35731</span> <span class="token parameter variable">--watch</span> <span class="token operator">&</span> <span class="token function">ps</span> <span class="token parameter variable">-aux</span> <span class="token operator">|</span> <span class="token function">grep</span> gitbook 
mkdir -p /var/log/gitbook nohup gitbook serve --port 4000 --lrport 35730 --watch & nohup gitbook serve --port 3000 --lrport 35731 --watch & ps -aux | grep gitbook
hinzer@pc:~/source/gitbook$ <span class="token function">crontab</span> <span class="token parameter variable">-l</span> */5 * * * * /usr/bin/bash /home/hinzer/source/gitbook/reposync.sh hinzer@pc:~/source/gitbook$ <span class="token function">cat</span> /home/hinzer/source/gitbook/reposync.sh <span class="token assign-left variable">SHELL_FOLDER</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token builtin class-name">cd</span> <span class="token string">"<span class="token variable"><span class="token variable">$(</span><span class="token function">dirname</span> <span class="token string">"<span class="token variable">$0</span>"</span><span class="token variable">)</span></span>"</span><span class="token punctuation">;</span>/usr/bin/pwd<span class="token variable">)</span></span> <span class="token builtin class-name">cd</span> <span class="token variable">${SHELL_FOLDER}</span> /home/hinzer/bin/repo <span class="token function">sync</span> --force-sync <span class="token operator">>></span> <span class="token variable">${SHELL_FOLDER}</span>/reposync.log
 hinzer@pc:~/source/gitbook$ <span class="token function">crontab</span> <span class="token parameter variable">-l</span>  */5 * * * * /usr/bin/bash /home/hinzer/source/gitbook/reposync.sh hinzer@pc:~/source/gitbook$ <span class="token function">cat</span> /home/hinzer/source/gitbook/reposync.sh    <span class="token assign-left variable">SHELL_FOLDER</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token builtin class-name">cd</span> <span class="token string">"<span class="token variable"><span class="token variable">$(</span><span class="token function">dirname</span> <span class="token string">"<span class="token variable">$0</span>"</span><span class="token variable">)</span></span>"</span><span class="token punctuation">;</span>/usr/bin/pwd<span class="token variable">)</span></span> <span class="token builtin class-name">cd</span> <span class="token variable">${SHELL_FOLDER}</span> /home/hinzer/bin/repo <span class="token function">sync</span> --force-sync <span class="token operator">>></span> <span class="token variable">${SHELL_FOLDER}</span>/reposync.log 
hinzer@pc:~/source/gitbook$ crontab -l */5 * * * * /usr/bin/bash /home/hinzer/source/gitbook/reposync.sh hinzer@pc:~/source/gitbook$ cat /home/hinzer/source/gitbook/reposync.sh SHELL_FOLDER=$(cd "$(dirname "$0")";/usr/bin/pwd) cd ${SHELL_FOLDER} /home/hinzer/bin/repo sync --force-sync >> ${SHELL_FOLDER}/reposync.log
hinzer@pc:~/source/gitbook$ <span class="token function">crontab</span> <span class="token parameter variable">-l</span> */5 * * * * /usr/bin/bash /home/hinzer/source/gitbook/reposync.sh */5 * * * * /usr/bin/bash /home/hinzer/source/gitbook/book-update.sh hinzer@pc:~/source/gitbook$ <span class="token function">cat</span> /home/hinzer/source/gitbook/book-update.sh <span class="token assign-left variable">SHELL_FOLDER</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token builtin class-name">cd</span> <span class="token string">"<span class="token variable"><span class="token variable">$(</span><span class="token function">dirname</span> <span class="token string">"<span class="token variable">$0</span>"</span><span class="token variable">)</span></span>"</span><span class="token punctuation">;</span>/usr/bin/pwd<span class="token variable">)</span></span> <span class="token builtin class-name">cd</span> <span class="token variable">${SHELL_FOLDER}</span> /home/hinzer/bin/repo forall <span class="token parameter variable">-c</span> <span class="token string">"/usr/bin/gitbook init && /usr/bin/gitbook build"</span> <span class="token operator">>></span> <span class="token variable">${SHELL_FOLDER}</span>/book-update.log
hinzer@pc:~/source/gitbook$ <span class="token function">crontab</span> <span class="token parameter variable">-l</span>  */5 * * * * /usr/bin/bash /home/hinzer/source/gitbook/reposync.sh */5 * * * * /usr/bin/bash /home/hinzer/source/gitbook/book-update.sh hinzer@pc:~/source/gitbook$ <span class="token function">cat</span> /home/hinzer/source/gitbook/book-update.sh    <span class="token assign-left variable">SHELL_FOLDER</span><span class="token operator">=</span><span class="token variable"><span class="token variable">$(</span><span class="token builtin class-name">cd</span> <span class="token string">"<span class="token variable"><span class="token variable">$(</span><span class="token function">dirname</span> <span class="token string">"<span class="token variable">$0</span>"</span><span class="token variable">)</span></span>"</span><span class="token punctuation">;</span>/usr/bin/pwd<span class="token variable">)</span></span> <span class="token builtin class-name">cd</span> <span class="token variable">${SHELL_FOLDER}</span> /home/hinzer/bin/repo forall <span class="token parameter variable">-c</span> <span class="token string">"/usr/bin/gitbook init && /usr/bin/gitbook build"</span> <span class="token operator">>></span> <span class="token variable">${SHELL_FOLDER}</span>/book-update.log 
hinzer@pc:~/source/gitbook$ crontab -l */5 * * * * /usr/bin/bash /home/hinzer/source/gitbook/reposync.sh */5 * * * * /usr/bin/bash /home/hinzer/source/gitbook/book-update.sh hinzer@pc:~/source/gitbook$ cat /home/hinzer/source/gitbook/book-update.sh SHELL_FOLDER=$(cd "$(dirname "$0")";/usr/bin/pwd) cd ${SHELL_FOLDER} /home/hinzer/bin/repo forall -c "/usr/bin/gitbook init && /usr/bin/gitbook build" >> ${SHELL_FOLDER}/book-update.log

4 源码: OpenGrok

搭建一个源码阅读环境,opengrok方便我在浏览器上直接对源码进行检索和查看。

<span class="token function">sudo</span> <span class="token function">apt</span> <span class="token function">install</span> docker.io <span class="token function">docker-compose</span>
<span class="token function">sudo</span> <span class="token function">apt</span> <span class="token function">install</span> docker.io <span class="token function">docker-compose</span> 
sudo apt install docker.io docker-compose
root@pc:~ root@pc:~ root@pc:~ root@pc:~/opengrok-etc root@pc:~/opengrok-etc root@pc:~/opengrok-etc root@pc:~ root@pc:~ root@pc:~ root@a5f0b9ae784a:/usr/local/tomcat
 root@pc:~  root@pc:~ root@pc:~ root@pc:~/opengrok-etc  root@pc:~/opengrok-etc root@pc:~/opengrok-etc  root@pc:~ root@pc:~  root@pc:~  root@a5f0b9ae784a:/usr/local/tomcat 
root@pc:~ root@pc:~ root@pc:~ root@pc:~/opengrok-etc root@pc:~/opengrok-etc root@pc:~/opengrok-etc root@pc:~ root@pc:~ root@pc:~ root@a5f0b9ae784a:/usr/local/tomcat
<span class="token key atrule">version</span><span class="token punctuation">:</span> <span class="token string">"3"</span> <span class="token key atrule">services</span><span class="token punctuation">:</span> <span class="token key atrule">opengrok</span><span class="token punctuation">:</span> <span class="token key atrule">container_name</span><span class="token punctuation">:</span> flower <span class="token key atrule">image</span><span class="token punctuation">:</span> opengrok/docker<span class="token punctuation">:</span>latest <span class="token key atrule">ports</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> <span class="token string">"4001:8080/tcp"</span> <span class="token key atrule">environment</span><span class="token punctuation">:</span> <span class="token key atrule">SYNC_PERIOD_MINUTES</span><span class="token punctuation">:</span> <span class="token string">'60'</span> <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> <span class="token string">'~/opengrok-src/:/opengrok/src/'</span> <span class="token punctuation">-</span> <span class="token string">'~/opengrok-etc/:/opengrok/etc/'</span> <span class="token punctuation">-</span> <span class="token string">'~/opengrok-data/:/opengrok/data/'</span>
<span class="token key atrule">version</span><span class="token punctuation">:</span> <span class="token string">"3"</span>  <span class="token key atrule">services</span><span class="token punctuation">:</span> <span class="token key atrule">opengrok</span><span class="token punctuation">:</span> <span class="token key atrule">container_name</span><span class="token punctuation">:</span> flower <span class="token key atrule">image</span><span class="token punctuation">:</span> opengrok/docker<span class="token punctuation">:</span>latest <span class="token key atrule">ports</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> <span class="token string">"4001:8080/tcp"</span> <span class="token key atrule">environment</span><span class="token punctuation">:</span> <span class="token key atrule">SYNC_PERIOD_MINUTES</span><span class="token punctuation">:</span> <span class="token string">'60'</span>  <span class="token key atrule">volumes</span><span class="token punctuation">:</span> <span class="token punctuation">-</span> <span class="token string">'~/opengrok-src/:/opengrok/src/'</span>  <span class="token punctuation">-</span> <span class="token string">'~/opengrok-etc/:/opengrok/etc/'</span>  <span class="token punctuation">-</span> <span class="token string">'~/opengrok-data/:/opengrok/data/'</span>  
version: "3" services: opengrok: container_name: flower image: opengrok/docker:latest ports: - "4001:8080/tcp" environment: SYNC_PERIOD_MINUTES: '60' volumes: - '~/opengrok-src/:/opengrok/src/' - '~/opengrok-etc/:/opengrok/etc/' - '~/opengrok-data/:/opengrok/data/'

5 References

N/A

原文链接:https://blog.csdn.net/feit2417/article/details/128442943

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享