linux
风格色
这个作者很懒,什么都没留下…
展开
-
debain 安装python3
一、下载安装包wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz二、配置安装环境apt install -y libffi-dev 三、编译安装pythontar xvf Python-3.7.0.tar cd Python-3.7.0./configure --prefix=/usr/local/...原创 2020-04-23 10:29:01 · 765 阅读 · 0 评论 -
linux 设置开启自启动脚本或命令
修改 /etc/rc.d/rc.local 文件vi /etc/rc.d/rc.local添加执行的脚本# syncIp是自己写的用来同步本机ip地址的/root/sh/syncIp可以简写: echo /root/sh/syncIp >> /etc/rc.d/rc.local添加rc.local的执行权限chmod +x /etc/rc.d/rc....原创 2018-05-27 20:28:26 · 1126 阅读 · 0 评论 -
centos7(树莓派3B) 连接wifi
查看周围wifinmcli d wifi 连接wifiwifi名:fenggese wifi密码:meiyoumima nmcli d wifi connect fenggese password 'meiyoumima'wifi连接历史 UUID号nmcli c删除wifinmcli c del UUID号码...原创 2018-05-27 20:30:48 · 2968 阅读 · 0 评论 -
在mac上 树莓派3B/3B+安装linux(ubuntu centos)系统
官方文档https://wiki.centos.org/SpecialInterestGroup/AltArch/armhfp1. 查看分区df -h2. 卸载分区// 注意别卸载错了disk2s1是内存卡 diskutil unmount /dev/disk2s13. 确认设备diskutil list4. 写入系统镜像(http://mirror....原创 2018-05-27 20:37:48 · 3707 阅读 · 2 评论 -
Linux Network Namespace
创建两个network namespace并互相连接1. 创建Veth pair先创建两个netns(test1和test2)sudo ip netns add test1sudo ip netns add test2什么是veth pair Veth pair 是一对虚拟网卡,从一张veth网卡发出的数据包可以直接到达它的peer veth,两者之间存在着虚拟链路。s...原创 2018-06-28 23:14:57 · 394 阅读 · 0 评论 -
ssh 配置免密码登录
原理操作Client:ssh-keygen -t rsacat ~/.ssh/id_rsa.pubServer:vim authorized_keys追加client的id_rsa.pub到文件authorized_keys中chmod go-w ~/.ssh/authorized_keys authorized_keys的权限必须设置成除了属主vagrant...原创 2018-07-21 11:54:59 · 490 阅读 · 1 评论 -
linux 设置中国时区
centos 7$ timedatectl list-timezones |grep Shanghai #查找中国时区的完整名称Asia/Shanghai$ timedatectl set-timezone Asia/Shanghai #其他时区以此类推原创 2018-12-30 10:33:20 · 2885 阅读 · 0 评论 -
【fork/exec /proc/self/exe: no such file or directory】namespace里面mount /proc 后,退出后要重新mount
根据mydocker项目实现了简单的docker后,发现在容器中mount /proc 后, 结束程序,再执行就会报错:{"level":"error","msg":"fork/exec /proc/self/exe: no such file or directory","time":"2019-05-30T20:49:35+08:00"}水平有限,不知道问题出在哪,于是去github上找...转载 2019-05-30 21:08:14 · 3395 阅读 · 0 评论 -
【实现简单的容器】- goalng实现namespace隔离的容器
实现namespace隔离的容器继上一篇博客【实现简单的容器】- docker基础技术之namespace讲解和实现的5种namespace技术。 本文用简短的一段golang程序来实现6种namespace隔离后的容器。6种namespace 分别是syscall.CLONE_NEWUTS 隔离主机名和域名syscall.CLONE_NEWIPC 隔离进程间通信sy...原创 2019-05-31 00:18:52 · 1815 阅读 · 1 评论 -
【实现简单的容器】- docker基础技术之namespace
简介docker是一个是用来linux namespace 和 cgroups 的虚拟化工具。下面几个小节学习linux namespace技术,以及使用golang实现。环境:ubuntu 16.04 LTSgolang 1.12.5ps: mac系统的syscall和linux上的有些不同。一、UTS Namespace 主机名和域名隔离UTS namespace用来隔...原创 2019-05-29 10:28:12 · 1403 阅读 · 2 评论 -
【实现简单的容器】- namespace隔离和cgroup资源限制
上一篇 【实现简单的容器】- goalng实现namespace隔离的容器上一篇文章实现了六种namespace隔离的容器,本文将在这个基础上,使用cgroup给容器增加资源限制(内存和cpu时间片限制)。golang 实现package mainimport ( "bufio" "fmt" "io/ioutil" "os" "os/exec" "path" "strcon...原创 2019-06-06 14:04:45 · 1864 阅读 · 2 评论 -
Package libseccomp was not found in the pkg-config search path.
下载runc源码, 并执行make操作的时候,报错:Package libseccomp was not found in the pkg-config search path.Perhaps you should add the directory containing `libseccomp.pc'to the PKG_CONFIG_PATH environment variableN...原创 2019-06-13 09:08:16 · 4874 阅读 · 1 评论 -
ubuntu Your kernel does not support swap limit capabilities.memory limit without swap
创建一个内存限制的容器的时候,docker报错:docker run -d -m 100m busybox Your kernel does not support swap limit capabilities.memory limit without swap原创 2019-05-30 00:25:10 · 985 阅读 · 0 评论 -
/usr/bin/expect 的使用
举个栗子:# expect超过超时时间没有监测到要找的字符串,则不执行set timeout 30# 获取传入的三个参数set host [lindex $argv 0]set code [lindex $argv 1]set passwd [lindex $argv 2]# 运行ssh连接命令spawn ssh $host# 自动输入验证码&密码expec...原创 2018-03-21 10:09:27 · 12545 阅读 · 0 评论 -
Vim显示行号
Vim显示行号编辑 .vimrc 文件 vim ~/.vimrc添加一行 set numberECS进入命令模式输入:wq保存退出原创 2016-12-31 10:26:09 · 304 阅读 · 0 评论 -
ubuntu安装postgresql
Ubuntu 16.04 LTS 安装 Postgresql 9.5.1解压源码包 tar zxvf postgresql-9.5.1.tar.gz cd postgresql-9.5.1检查环境配置 mkdir /usr/local/pgsql ./configure --prefix=/usr/local/pgsql –prefix 是指定安装路径 安装缺少的依赖 apt-g原创 2016-12-31 14:17:56 · 1314 阅读 · 0 评论 -
ubuntu 16.04 安装 mysql
安装期间会弹出设置root账户的密码框,输入两次相同密码。apt-get install mysql-serverapt isntall mysql-clientapt install libmysqlclient-dev查看netstat -tap | grep mysql 成功的话会出现:配置1. 修改客户端的编码vim /etc/mysql/conf.d/mysql.cnf在文件如下位置添原创 2017-04-29 17:34:49 · 275 阅读 · 0 评论 -
树莓派3b搭建web服务器(部署Django项目)
系统准备centos7 镜像 CentOS-Userland-7-armv7hl-Minimal 1603-RaspberryPi3.img.xz 运行Win32DiskImager 软件, 将镜像写入内存卡中.ssh 连接树莓派在另一台linux设备或windows设备,ssh 连接树莓派. * windows 下载Xshell 软件连接. * linux(以ubuntu为例), ss原创 2017-04-23 17:02:32 · 1518 阅读 · 0 评论 -
ubuntu 安装 jdk
使用ppa/源方式安装 1.添加ppasudo add-apt-repository ppa:webupd8team/javasudo apt-get update2.安装oracle-java-installerjdk7 sudo apt-get install oracle-java7-installerjdk8 sudo apt-get install oracle-java8-inst转载 2017-05-29 09:31:03 · 208 阅读 · 0 评论 -
linux 环境变量
环境变量文件介绍转自:http://blog.csdn.net/cscmaker/article/details/7261921Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。 所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]:1.系统级转载 2017-06-26 10:35:09 · 198 阅读 · 0 评论 -
ubuntu docker 开启ssh
1. 下载ubuntu镜像因为从docker hub上下载的镜像apt-get update报错, 所以就直接从网易蜂巢上下载已经装好各种工具的ubuntu镜像了。docker pull hub.c.163.com/public/ubuntu:16.04-tools 2. 启动镜像docker run -itd -p 10022:22 1196ea15dad6 将本机10022端口,映射到容器原创 2017-08-09 20:18:56 · 10907 阅读 · 2 评论 -
supervisor和nohup
守护进程(daemon)守护进程是一类在后台运行的特殊进程,用于执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束。nohupnohup 是后台作业的意思, nohup运行的进程将会忽略终端信号运行。即后台运行一个命令。 nohup COMMAND & 用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,原创 2017-10-14 11:51:01 · 3526 阅读 · 0 评论 -
进程间通信的方式
1.信号量用于通知某个事件已经发生。2.管道/命名管道管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程之间使用。3.消息队列消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号量传递信息较少,管道只能承载无格式字节流以及缓冲区大小受限等缺点。4.共享内存映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最翻译 2017-12-15 21:00:21 · 175 阅读 · 0 评论 -
负载均衡的算法
1. 轮询法将请求轮流的分配到后端服务器上,它均衡的对待每一台服务器,不管服务器的实际连接数和当前系统的负载。2. 随机法通过系统的随机算法,根据后端服务器列表大小值随机选取一个服务器访问。由概率统计理论,随着客户端请求数目的增加,其实际效果趋近轮询法。3. 源地址哈希法根据客户端的IP地址,通过哈希函数计算一个数值,用这个数值对服务器列表大小进项取摸运算,得到的结果便是客户端要访问的服务器的序号。翻译 2017-12-15 21:31:59 · 260 阅读 · 0 评论 -
僵尸进程和孤儿进程 --golang实现
僵尸进程一个进程使用fork创建子进程,如果子进程退出,而父进程没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中,这种进程称为僵尸进程。孤儿进程一个父进程退出,而它的一个或多个子进程还在运行,那么这些子进程将称为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对他们完成状态收集工作。原创 2017-12-15 21:39:14 · 1474 阅读 · 0 评论 -
死锁产生的条件和解决死锁的方法
产生死锁的原因系统资源不足资源分配不当进程推进顺序的不合理产生死锁的四个必要条件互斥条件:一个资源每次只能被一个进程使用。 (资源本身的特点,不可避免)请求与保持条件:一个进程因请求资源而等待时,不会释放已分配的资源。不剥夺条件:进程已获得的资源,在未使用之前,不能被强行剥夺。循环等待条件:若干个进程之间形成头尾相连的循环等待资源的关系。只要产生死锁,这四个条件必定成立,若破坏其中一翻译 2017-12-16 10:08:01 · 5062 阅读 · 0 评论 -
python3 + django + selenium 安装教程
Ubuntu+Python3.5.2+Django开发环境搭建Python3.5.2安装安装依赖sudo apt-get install -y build-essential libncursesw5-dev libreadline6-dev \ libssl-dev libgdbm-dev libc6-dev libsqlite3-dev \ tk-dev bzip2 libbz2-dev获原创 2016-12-30 16:09:13 · 1190 阅读 · 0 评论