w1100n
This site is best viewed in Google Chrome
wiloon, 1/27/2018 16:35

docker run 创建一个新的容器并运行一个命令 docker run [OPTIONS] IMAGE [COMMAND] [ARG…] -d: 后台运行容器,并返回容器ID; –name=”nginx-lb”: 为容器指定一个名称;

wiloon, 1/25/2018 12:42

https://stackoverflow.com/questions/28347717/how-to-create-an-empty-file-with-ansible

wiloon, 1/23/2018 0:01

https://segmentfault.com/a/1190000008836467 https://segmentfault.com/a/1190000008926093 https://segmentfault.com/a/1190000009249039

wiloon, 1/22/2018 12:10

REST Representational State Transfer

wiloon, 1/22/2018 10:19

在Windows系统下IPconfig命令,后面带/release和 /renew参数可以实现从DHCP服务器重新获取IP地址: 1、ipconfig /release 释放当前网卡获取的IP地址,使用该命令后,网卡(IPv4地址)此时IP地址为空。 2、ipconfig /renew 为网卡重新从DHCP服务器上面获取新的IP地址。

wiloon, 1/21/2018 15:47

https://blog.csdn.net/future_fighter/article/details/3862795 lsmod 功能:列出内核已载入模块的状态 用法:lsmod 描述: lsmod 以美观的方式列出/proc/modules的内容。 输出为: Module(模块名) Size(模块大小) Used by(被…使用) https://wiki.archlinux.org/index.php/Kernel_modules_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

wiloon, 1/20/2018 14:03

隧道技术的实质是用一种网络层的协议来传输另一种网络层协议,其基本功能是封装和加密,主要利用网络隧道来实现。 https://en.wikipedia.org/wiki/Tunneling_protocol https://baike.baidu.com/item/%E9%9A%A7%E9%81%93%E5%8D%8F%E8%AE%AE/5927649

wiloon, 1/19/2018 23:20

用户态:Ring3运行于用户态的代码则要受到处理器的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中I/O许可位图(I/O Permission Bitmap)中规定的可访问端口进行直接访问。 内核态:Ring0在处理器的存储保护中,核心态,或者特权态(与之相对应的是用户态),是操作系统内核所运行的模式。运行在该模式的代码,可以无限制地对系统存储、外部设备进行访问。 内核态和用户态 核心态和用户态是操作系统两种运行级别。 核心态就是拥有资源较多的状态,或者说访问资源多的状态,也称之为特权态;相对来说,用户态就是非特权态,访问资源将受到限制。 核心态下CPU可执行任何指令,而用户态下CPU只能执行非特权指令。当CPU处于核心态时可随意进入用户态;而处于用户态时,切换到核心态只有在系统调用和中断时才能发生。一般程序一开始都是运行与用户态,当程序需要系统资源时,就必须通过中断进入核心态。 1)用户态切换到内核态的3种方式 a. 系统调用 这是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统提供的服务程序完成工作,比如fork()实际上就是执行了一个创建新进程的系统调用。而系统调用的机制其核心还是使用了操作系统为用户特别开放的一个中断来实现,例如Linux的int 80h中断。 b. 异常 当CPU在执行运行在用户态下的程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态,比如缺页异常。 c. 外围设备的中断 当外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序,如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了由用户态到内核态的切换。比如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续操作等。 这3种方式是系统在运行时由用户态转到内核态的最主要方式,其中系统调用可以认为是用户进程主动发起的,异常和外围设备中断则是被动的。 核心态和用户态各有优势:运行在核心态的程序可访问的资源多,但可靠性、安全性要求高,维护管理比较复杂。一个程序运行在哪取决于其对资源和效率的需求。 用户栈和内核栈 内核在创建进程的时候,会为进程创建相对于的堆栈。每个进程有两个栈,一个用户栈,存在于用户空间;一个内核栈,存在于内核空间。当进程运行在用户态时,CPU堆栈指针寄存器里的内容是用户堆栈地址,使用用户栈;在核心态时,同理。 当进程因为中断或系统调用而进入内核态时,进程所使用的堆栈也要有用户栈转到内核栈。进程陷入内核态后,先把用户堆栈的地址保存到内核栈之中,然后设置堆栈指针寄存器的内容为内核栈的地址;当恢复到用户态时,把内核栈中保存的用户栈的地址恢复到堆栈指针寄存器即可。 进程从用户态转到内核态时,进程的内核栈总是空的,所以进程陷入内核的时候,直接把栈顶地址给堆栈指针寄存器即可。 http://www.cnblogs.com/balingybj/p/4783119.html http://www.cnblogs.com/Allen-rg/p/7171105.html http://blog.csdn.net/xifeijian/article/details/9080895 https://www.zhihu.com/question/40147261 https://www.jianshu.com/p/255c6c7603d0

wiloon, 1/19/2018 20:23

在大部分情况下,我们认为内核态是一种CPU的特权态,这个特权态下,CPU可以执行这个特权态才允许执行的指令,访问这个特权态才运行访问的资源。这和当前的进程无关。OS通过控制不同的特权态来控制资源分配。一般有两种方法切换特权态,一种是特殊的指令,比如x86的软中断指令,或者大部分RISC系统的系统调用指令(比如SC),第二种是执行异常或者外部中断。发生切换后,现在到底是哪个进程,其实是无所谓的。现在说说现代LINUX如何定义线程和进程。我倾向于这样解释线程和进程:线程本质就是堆栈,当一段程序在执行,能代表它的是他的过去和现在。”过去”在堆栈中,”现在”则是CPU的所有寄存器,如果我们要挂起一个线程,我们把寄存器也保存到堆栈中,我们就具有它的所有状态,可以随时恢复它。这是线程。当我们切换线程的时候,同时切换它的地址空间(通过修改MMU即可),则我们认为发生了进程切换。所以进程的本质是地址空间,我们可以认为地址空间决定了进程是否发生切换。回到最初的问题,当CPU的特权级刚刚发生切换的时候,显然和进程,线程的切换是无关的,但之后调度器是否切换线程和进程,则和具体的情形相关了。 作者:in nek 链接:https://www.zhihu.com/question/40147261/answer/84963238 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 进程的创建涉及到系统调用,内存管理,文件管理等系统的主要方面 https://zhidao.baidu.com/question/73715555.html

wiloon, 1/19/2018 14:45

Create a file with a .repo extension (for example, elastic.repo) in your /etc/yum.repos.d/ directory and add the following lines: [elastic-6.x] name=Elastic repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md Your repository is ready to use. For example, you … Continue reading

wiloon, 1/19/2018 10:05

archlinux 路由表中只存储网络信息而不是主机信息,这样可以大大简化路由表。 路由表中包含一系列被称为路由的规则,可用于判断网络流量的导向目的地。 路由表是指路由器或者其他互联网网络设备上存储的一张路由信息表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。 查看 Linux 内核路由表 使用下面的 route 命令可以查看 Linux 内核路由表。 route route -n -c 显示更多信息 -n 不解析名字 -v 显示详细的处理信息 -F 显示发送信息 -C 显示路由缓存 -f 清除所有网关入口的路由表。 -p 与 add 命令一起使用时使路由具有永久性。 Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 … Continue reading

wiloon, 1/18/2018 16:22

https://www.google.com/chrome/browser/thankyou.html?standalone=1&platform=win&installdataindex=defaultbrowser standalone=1 :确认下载离线安装包 platform=win :适用平台为windows installdataindex=defaultbrowser :安装后设chrome为当前默认浏览器 extra=stablechannel :指定版本为稳定版(候选列表同上) 作者:DevNull 链接:https://www.zhihu.com/question/19981495/answer/83273865 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

wiloon, 1/18/2018 13:34

交叉编译 Go是一门编译型语言,所以在不同平台上,需要编译生成不同格式的二进制包。 由于Go 1.5对跨平台编译有了一些改进,包括统一了编译器、链接器等。 编译时候只需要指定两个参数:GOOS和GOARCH即可。 示例: 编译到 linux 64bit $ GOOS=linux GOARCH=amd64 go build 或者可以使用 -o 选项指定生成二进制文件名字 $ GOOS=linux GOARCH=amd64 go build -o app.linux 编译到 linux 32bit $ GOOS=linux GOARCH=386 go build 编译到 windows 64bit $ GOOS=windows GOARCH=amd64 go build … Continue reading

wiloon, 1/18/2018 10:51

https://answers.microsoft.com/zh-hans/ie/forum/ie11-windows_7/win7%E5%8D%B8%E8%BD%BDie11%E6%8A%A5%E5%8F%91/27187a51-f17e-42bd-9502-ae0c2bfcaed2 1.尝试以管理身份运行cmd,在出现的命令行提示符中复制并输入下面的代码,按下Enter FORFILES /P %WINDIR%\servicing\Packages /M Microsoft-Windows-InternetExplorer-11..mum /c “cmd /c echo Uninstalling package @fname && start /w pkgmgr /up:@fname /norestart” 3. 然后会开始卸载,并会出现几个错误信息,我们不用理会,按下确定。 4. 最后命令运行停止以后重启电脑。

wiloon, 1/17/2018 16:50

.ssh/authorized_keys #Port 22 ##port用来设置sshd监听的端口,为了安全起见,建议更改默认的22端口为5位以上陌生端口 AddressFamily 指定 sshd(8) 应当使用哪种地址族。取值范围是:”any”(默认)、”inet”(仅IPv4)、”inet6″(仅IPv6)。 #ListenAddress 0.0.0.0 #ListenAddress用来设置sshd服务器绑定的IP地址 Protocol 指定 sshd(8) 支持的SSH协议的版本号。 ‘1’和’2’表示仅仅支持SSH-1和SSH-2协议。”2,1″表示同时支持SSH-1和SSH-2协议。 HostKey 主机私钥文件的位置。如果权限不对,sshd(8) 可能会拒绝启动。 SSH-1默认是 /etc/ssh/ssh_host_key 。 SSH-2默认是 /etc/ssh/ssh_host_rsa_key 和 /etc/ssh/ssh_host_dsa_key 。 一台主机可以拥有多个不同的私钥。”rsa1″仅用于SSH-1,”dsa”和”rsa”仅用于SSH-2。 PermitRootLogin 是否允许 root 登录。可用值如下: “yes”(默认) 表示允许。”no”表示禁止。 “without-password”表示禁止使用密码认证登录。 “forced-commands-only”表示只有在指定了 command 选项的情况下才允许使用公钥认证登录。同时其它认证方法全部被禁止。这个值常用于做远程备份之类的事情。 AuthorizedKeysFile 存放该用户可以用来登录的 … Continue reading

wiloon, 1/17/2018 13:54

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。 create user git and su git install from source https://gogs.io/docs/installation/install_from_source MySql /Mariadb error: max key length is 767 byte https://github.com/gogits/gogs/issues/4907 gogs patch https://github.com/m2nlight/gogs/releases/tag/v0.11.34_patch

wiloon, 1/16/2018 15:30

https://my.oschina.net/alchemystar/blog/1603817

wiloon, 1/16/2018 13:10

把内存当硬盘,提速你的linux系统 场景:电脑内存太大用不了那么多,空着浪费,所以利用起来。内存读写速度高用来缓存或者编译,甚至存临时文件最好不过了~~ Windows下有一种叫法叫做内存盘,Linux自然也有,看了Linux中ramdisk,tmpfs,ramfs比较与说明这篇文章后,决定使用tmpfs文件系统。 关于tmpfs和VM linux的内存(VM),包括ram和swap两部分。 ram就是你的物理内存,swap就是在装系统的时候划分的swap分区(在win下叫做页面文件,默认位于C:\pagefiles.sys)。 VM也是程序所能使用的最大内存上限,tmpfs本质上也是VM,tmpfs划出VM的部分页面作为一个文件系统. 关于tmpfs和ramdisk linux下的ramdisk是由内核提供的,要使用之,mount命令挂载即可。不需要第三方工具。但因为它会被视为块设备,所以仍然需要格式化该文件系统。 ramdisk一旦创建就会占用固定大小的物理内存,tmpfs则是动态分配。 tmpfs的优点 因为tmpfs是建立在VM上的,而不是物理磁盘上,所以不需要格式化就可以使用,所以不用尝试mkfs.tmpfs了,没有这条命令。 tmpfs的大小是动态的,用多少才分配多少,删除文件则会释放相应的VM空间,=.=这一点非常令人激动。 当您的物理内存不足以支撑分配为tmpfs的大小时,它会自动使用swap的页面。 tmpfs大部分时间是驻留在物理内存中,这使得其读写速度超快。 tmpfs的缺点: tmpfs的先天优势变成了他的先天劣势: 内存的特性导致位于tmpfs上的数据断电会丢失。 相比较硬盘的价格来说,内存无疑还是很昂贵的,所以用tmpfs的目录不要放太大的东西。 tmpfs的用途 程序运行产生的临时文件,我觉得tmpfs天生就是为tmp目录设计的。 编译时的缓存目录,用内存来做真是再好不过。 tmpfs的用法 mount tmpfs /tmp -t tmpfs -o size=1024m 1024不是固定的,实际大小根据你的实际情况定,比如可以在系统开了很长时间很大负载的时候看看(空闲的内存和swap)一共还有多少,最好不要超过这个值。 这里必须有mount权限,可以用sudo来获得权限,’size=’指定tmpfs动态大小的上限,如果/tmp目录(即将使用的)大小超过指定大小,一样会提示你空间不足。 之所以不推荐这样做,是因为mount之后/tmp会被立即清空,如果你有程序有在/tmp中打开的文件(比如socket),会出错,而且每次都要手动挂载,多麻烦(=.=#)。 基于以上原因,最好还是编辑/etc/fstab文件来让系统启动时帮你搞定。 推荐方法如下: sudo gedit /etc/fstab 在最后添加如下内容: mount … Continue reading

next page
辽ICP备14012896