安装ubuntu docker完整版

安装ubuntu docker完整版 困扰了很久怎么安装ubuntu docker的完整版,后来发现从ssh登陆进docker镜像的时候有提示,可以用一条命令完美安装ubuntu的完整版。 命令 unminimize 执行效果 ➜ ~ unminimize This system has been minimized by removing packages and content that are not required on a system that users do not log into. This script restores content and packages that are found on a default Ubuntu server system in order to make this system more suitable for interactive use. Reinstallation of packages may fail due to changes to the system configuration, the presence of third-party packages, or for other reasons....

三月 16, 2020 · 3 分钟 · M2kar

SSH访问内网/内网穿透的几种情景详解

SSH访问内网/内网穿透的几种情景详解 @[TOC] 0x01 背景 疫情期间远程办公,自然少不了需要连接到公司内网的服务器跑程序。SSH是一种常用的连接到内网的方式,几乎能做到所有连接内网的操作。下面作者将对几种常用或者不常用的连接到内网的使用情况做一些示例。 0x02 网络拓扑 下面将对网络中的几台机器的网络拓扑做说明。 IP均作匿名化处理 个人笔记本1 主机名:PC1 位置: 公网 IP:不重要 跳板机 主机名:proxy.test.com ssh: 端口: 5022 用户名: user IP/域名 公网: proxy.test.com 内网: 192.168.8.10 服务器1 主机名: srv1 ssh 端口: 818 用户名: user IP 内网:192.168.8.18 0x03 基础知识 ssh ssh 端口转发 ssh config文件配置 ssh 密钥设置 代理服务器 0x04 工具列表 0x041 本地PC 如果是windows 安装git-bash并使用它提供的ssh功能 如果是MacOS或者是Linux 使用本地自带的ssh 0x042 企业服务器 需要配置好SSH服务器 0x05 ssh端口转发的基本操作以及通过企业网络访问网站 0x051 适用情况 本方法可以适用于访问 企业内部搭建的网站 必须企业IP授权才能访问的网站(如论文检索网站) 0x052 步骤 1. 执行ssh动态转发命令 # 在PC1上执行 ssh -D 10824 user@proxy....

三月 14, 2020 · 3 分钟 · M2kar

ES遍历所有搜索结果(Python实现)

ES遍历所有搜索结果(Python实现) ES的搜索是有数量限制的,因此利用官方提供是scroll API实现了一个对全量数据处理的函数。 def travel_es(es,process_func, **kwargs): """ 遍历es的搜索结果,并使用process_func处理返回的item process_func: function to process item. kwargs: arguments same as elasticsearch search api. """ kwargs.setdefault("scroll","2m") kwargs.setdefault("size",1000) res = es.search(**kwargs) sid = res['_scroll_id'] scroll_size = len(res['hits']['hits']) total_size=scroll_size while scroll_size > 0: "Scrolling..." # Before scroll, process current batch of hits process_func(res['hits']['hits']) data = es.scroll(scroll_id=sid, scroll='4m') # Update the scroll ID sid = data['_scroll_id'] # Get the number of results that returned in the last scroll scroll_size = len(data['hits']['hits']) total_size+=scroll_size print(total_size) return scroll_size 示例用法 下面是把所有的结果存到item_list中...

三月 13, 2020 · 1 分钟 · M2kar

Tmux快速使用

背景 很多时候我们需要通过SSH连接服务器进行一些操作,费了好长时间调好了程序,一顿饭的功夫SSH超时了(broken pipe),重新连上去正在运行的程序也都没了,一切又得从头再来。这个时候你就非常需要用到tmux了,用tmux在服务器上创建一个会话(Session),在该会话中进行操作,你可以随时随地断开和重新连接会话(Session),即便是SSH中断了你在远程服务器上的工作状态也可以持久化地保存。 安装 ubuntu 操作系统 sudo apt-get install tmux # 同时安装Oh My Tmux组件包 cd git clone https://github.com/gpakosz/.tmux.git ln -s -f .tmux/.tmux.conf cp .tmux/.tmux.conf.local . 快捷键和常用命令 创建和重新连接 tmux new -s <session> tmux a -t <session> 全局键 Tmux 官方默认时C-b. .tmux 额外添加了C-a 下面用<prefix>代指示全局键 <prefix> 然后:可以输入指令。 会话操作(session) 快捷键 操作 指令 <preix> s session 列表 <preix> d 退出并在后台执行 <preix> D 选择并退出所有其他的session <preix> m 鼠标操作 窗口操作(window) 快捷键 操作 指令 <preix> c 创建新窗口 <preix> 0...9 切换 <preix> & 关闭当前窗口 <preix> , 重命名 面板操作(Panes) 快捷键 操作 指令 <preix> % 纵向分割 <preix> “ 水平分割 <preix> ←↑↓→ 切换 参考 Oh My Tmux 参考: gpakosz/....

三月 13, 2020 · 1 分钟 · M2kar

批量迁移Gitee仓库到Github

背景 虽然Gitee仓库蓬勃发展,趋势很好,但是客观来讲,和Github的易用性还是有一定差距的。 当初由于Github私有仓库数量的限制,所以把很多私有的小项目的仓库都放到了gitee。 最近随着Github的免费仓库不再限制数量,所以把私有仓库和公有仓库都挪到一起放到github挪上了日程。 由于建的仓库有些多,所以手动逐个挪比较费时间,而且学习一下GitHub的API操作,对以后的工作可能会有帮助,所以我采取了脚本的方式完成这个事情。 下面分享我做这个事情的几个步骤。 步骤 获取项目列表 克隆 github创建项目API 上传 归档 获取Gitee项目列表: 没有找到gitee的API,所以采取手动浏览器解析网页的方式获得仓库列表,这里主要获得了仓库名和仓库的描述。 在gitee网站执行JS脚本 l=[] $.each($("#search-projects-ulist div.list-warpper"),function(i,v){ dl=$(".description",v); console.log(dl); des=dl.length>0?dl[0].textContent:""; j={ "path":v.attributes["data-path"].value, "des":des+" https://gitee.com/"+v.attributes['data-path'].value }; l.push(j); }) 其中除了l=[],需要手动翻页,每次翻页都要执行一次。 得到的l是所有项目列表。 JSON.stringfy(l); 输出所有。 然后导入到python。 import json j=json.loads(s) l=[] for i,v in enumerate(j): l.append({ "name":os.path.split(v["path"])[1], "path":v["path"], "des":v["des"], }) 处理后示例 [{'name': 'repo1', 'path': 'username/repo1', 'des': ' https://gitee.com/username/repo1'}, {'name': 'repo2', 'path': 'username/repo2', 'des': ' https://gitee.com/username/repo2'}] 克隆项目 这里使用python调用linux 下 git客户端完成 for i,v in enumerate(l): os.system(f"git clone git@gitee....

十二月 6, 2019 · 2 分钟 · M2kar