使用lxc提供轻量级虚拟化

2023-05-16

  lxc(linux containers)是一种基于容器的操作系统层级的虚拟化技术一个容器就是一个虚拟的执行环境,容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。


一、如何实现lxc

  lxc在资源管理方面依赖于linux内核的cgroups(control groups)子系统,cgroups子系统是linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:CPU, Memory, IO等)的机制。LXC在资源隔离控制上依赖于Linux内核的Namespaces机制,PID,IPC,Network等系统资源不再是全局性的,而是属于特定的Namespace。要创建新的Namespace,只需要在调用clone时指定相应的flag。不同container内的进程属于不同的Namespace,彼此透明,互不干扰。

wKioL1cF8HLSz6ILAAA1XAa1ct4952.png


二、相对于硬件层面的虚拟化技术,lxc有如下优点:

  ⑴更小的性能开销

  ⑵布署简单快速


三、lxc安装配置

  1、先安装cgroup

      yum -y install libcgroup

      service cgconfig start   #cgroup对应的服务名称为cgconfig


[root@node3 ~]# yum -y install libcgroup
...
[root@node3 ~]# service cgconfig start
Starting cgconfig service:                         [  OK  ]  

  2、提供虚拟网桥接口

      在/etc/sysconfig/network-scripts目录中新建名为ifcfg-br0的配置文件,其内容如下:

        DEVICE=br0

        TYPE=Bridge

        BOOTPROTO=static

        IPADDR=172.16.100.7

        NETMASK=255.255.0.0

        GATEWAY=172.16.0.1

        ONBOOT=yes

        DELAY=0

        NM_CONTROLLED=no

      接下将桥接的网卡(假设为eth0)关联至前面定义的桥接设备,编辑/etc/sysconfig/network-script/ifcfg-eth0为类似如下内容:

        DEVICE=eth0

        BOOTPROTO=static

        NM_CONTROLLED=no

        ONBOOT=yes

        TYPE=Ethernet

        BRIDGE=br0

     上述步骤无误后重启network服务即可。另外,还有其它简单的方式来实现桥接设备的创建,例如使用brctl或virsh等。


[root@node3 ~]# cd /etc/sysconfig/network-scripts
[root@node3 network-scripts]# cp ifcfg-eth0 ifcfg-eth0:0
[root@node3 network-scripts]# vim ifcfg-eth0:0

DEVICE=eth0:0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=172.16.100.1
NETMASK=255.255.0.0

[root@node3 network-scripts]# cp ifcfg-eth0:0 ifcfg-br0
[root@node3 network-scripts]# vim ifcfg-br0   #定义虚拟网桥

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=172.16.100.1
NETMASK=255.255.0.0
DELAY=0

[root@node3 network-scripts]# vim ifcfg-eth0:0   #将eth0:0关联至虚拟网桥

DEVICE=eth0:0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
BRIDGE=br0

[root@node3 network-scripts]# service network restart
...
[root@node3 network-scripts]# ifconfig
br0       Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:172.16.100.1  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::4c16:22ff:febb:9462/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:746 (746.0 b)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:CB:26:9B  
          inet addr:192.168.30.13  Bcast:192.168.30.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fecb:269b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1482 errors:0 dropped:0 overruns:0 frame:0
          TX packets:882 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:545127 (532.3 KiB)  TX bytes:125219 (122.2 KiB)
...  

  3、安装lxc

      epel源中提供的lxc版本未带centos系统模板。可到官网下载源码编译安装,以下安装的是根据lxc-1.0.5源码包制作成的适用于centos 6 x86_64平台的rpm包


[root@node3 ~]# yum -y install lxc-libs-1.0.5-1.el6.x86_64.rpm lxc-1.0.5-1.el6.x86_64.rpm
...
[root@node3 ~]# rpm -ql lxc
/etc/bash_completion.d
/etc/bash_completion.d/lxc
/etc/lxc/default.conf
/etc/rc.d/init.d/lxc
/usr/bin/lxc-attach
/usr/bin/lxc-autostart
/usr/bin/lxc-cgroup
/usr/bin/lxc-checkconfig
/usr/bin/lxc-clone
/usr/bin/lxc-config
/usr/bin/lxc-console
/usr/bin/lxc-create
/usr/bin/lxc-destroy
/usr/bin/lxc-execute
...
/usr/share/lxc/templates
/usr/share/lxc/templates/lxc-alpine
/usr/share/lxc/templates/lxc-altlinux
/usr/share/lxc/templates/lxc-archlinux
/usr/share/lxc/templates/lxc-busybox
/usr/share/lxc/templates/lxc-centos
....  

  4、检查lxc运行环境:lxc-checkconfig


[root@node3 ~]# lxc-checkconfig
Kernel configuration not found at /proc/config.gz; searching...
Kernel configuration found at /boot/config-2.6.32-431.el6.x86_64
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled

--- Control groups ---
Cgroup: enabled
Cgroup namespace: enabled
Cgroup device: enabled
...  

  5、创建容器

      模板文件目录/usr/local/lxc/share/lxc/templates。其中的lxc-centos即为创建lxc centos系统的模板。

      默认配置文件/etc/lxc/default.conf,其中使用的桥接接口名称为virbr0,与前面的创建的接口名称不一致,因此需要作出修改。当然,也可以将此文件复制之后进行修改,并以为作为接下来的要创建的容器的专用配置文件。修改后的default.conf如下所示。

        lxc.network.type = veth

        lxc.network.link = br0

        lxc.network.flags = up

      创建容器

        lxc-create -n NAME -t TEMPLATE [-f CONFIGFILE][options]

        例:lxc-create -n centos -t /usr/share/lxc/templates/lxc-centos

      容器默认存放目录/var/lib/lxc

      目标容器的root用户的初始密码在/var/lib/lxc/NAME/tmp_root_pass文件中;要注意的是,root用户的初始密码已经被设置为过期,因此第一次登录时需要修改密码后方可使用。


[root@node3 ~]# vim /etc/lxc/default.conf 

lxc.network.type = veth
lxc.network.link = br0   #修改成定义的虚拟网桥名称
lxc.network.flags = up

[root@node3 ~]# lxc-create -n centos2 -t /usr/share/lxc/templates/lxc-centos   #创建一个名为centos2的容器
...
Complete!
Download complete.
Copy /var/cache/lxc/centos/x86_64/6/rootfs to /var/lib/lxc/centos2/rootfs ... 
Copying rootfs to /var/lib/lxc/centos2/rootfs ...
Storing root password in '/var/lib/lxc/centos2/tmp_root_pass'
Expiring password for user root.
passwd: Success

Container rootfs and config have been created.
Edit the config file to check/enable networking setup.

The temporary root password is stored in:

        '/var/lib/lxc/centos2/tmp_root_pass'


The root password is set up as expired and will require it to be changed
at first login, which you should do as soon as possible.  If you lose the
root password or wish to change it without starting the container, you
can change it from the host by running the following command (which will
also reset the expired flag):

        chroot /var/lib/lxc/centos2/rootfs passwd

[root@node3 ~]# cd /var/lib/lxc
[root@node3 lxc]# ls
centos2 
[root@node3 lxc]# ls centos2
config  rootfs  tmp_root_pass
[root@node3 lxc]# cat centos2/tmp_root_pass 
Root-centos2-pBZoiZ   #初始密码
[root@node3 lxc]# ls centos2/rootfs
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var
[root@node3 lxc]# chroot /var/lib/lxc/centos2/rootfs passwd   #更改密码
Changing password for user root.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.  

  6、列出容器lxc-ls

  7、启动目标容器

      启动lxc容器需要使用lxc-start命令。此命令的常用选项有:

        -n NAME:要启动的容器的名称

        -d在后台运行此容器

        -o /path/to/somefile:日志文件的保存位置

        -l:日志级别

      例:lxc-start -n centos

      启动后可直接连接至目标系统的控制台,并在显示登录提示符后登录系统即可。


[root@node3 ~]# lxc-ls   #显示所有容器
centos2
[root@node3 ~]# lxc-start -n centos2   #启动目标容器


CentOS release 6.7 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64

centos2 login: init: rcS main process (8) killed by TERM signal
Entering non-interactive startup
iptables: No config file.                                  [WARNING]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  
Determining IP information for eth0... failed.
                                                           [FAILED]
Starting system logger:                                    [  OK  ]
Mounting filesystems:                                      [  OK  ]
Starting sshd:                                             [  OK  ]


CentOS release 6.7 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64

centos2 login: root
Password: 
Last login: Wed Apr  6 09:24:29 on lxc/console
[root@centos2 network-scripts]# vi ifcfg-eth0   #给接口配置ip地址、网关等
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
NM_CONTROLLED=no
TYPE=Ethernet
IPADDR=172.16.100.2
NETMASK=255.255.0.0
GATEWAY=172.16.100.1

[root@centos2 network-scripts]# ifup eth0
Determining if ip address 172.16.100.2 is already in use for device eth0...
[root@centos2 network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr FE:2B:06:93:7C:45  
          inet addr:172.16.100.2  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::fc2b:6ff:fe93:7c45/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:944 (944.0 b)  TX bytes:1916 (1.8 KiB)
...
          
[root@centos2 network-scripts]# ping 172.16.100.1
PING 172.16.100.1 (172.16.100.1) 56(84) bytes of data.
64 bytes from 172.16.100.1: icmp_seq=1 ttl=64 time=0.920 ms
64 bytes from 172.16.100.1: icmp_seq=2 ttl=64 time=0.048 ms
...
[root@centos2 network-scripts]# ping 192.168.30.13
PING 192.168.30.13 (192.168.30.13) 56(84) bytes of data.
64 bytes from 192.168.30.13: icmp_seq=1 ttl=64 time=2.70 ms
64 bytes from 192.168.30.13: icmp_seq=2 ttl=64 time=0.083 ms
...  

  8、登录容器:lxc-console -n NAME   #也可通过ssh的方式登录

  9、停止容器lxc-stop -n NAME


[root@node3 ~]# lxc-stop -n centos2   #停止容器
[root@node3 ~]# lxc-start -n centos2 -d   #后台运行容器centos2
[root@node3 ~]# ssh root@172.16.100.2
The authenticity of host '172.16.100.2 (172.16.100.2)' can't be established.
RSA key fingerprint is 21:f4:88:54:49:eb:4e:83:16:ab:78:7e:aa:fe:ff:9b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.100.2' (RSA) to the list of known hosts.
root@172.16.100.2's password: 
Last login: Wed Apr  6 12:52:34 2016
[root@centos2 ~]# hostname
centos2
[root@centos2 ~]# logout
Connection to 172.16.100.2 closed.

#此时的容器还无法联网,先做SNAT让其能联网下载软件包
[root@node3 ~]# iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -j SNAT --to-source 192.168.30.13
[root@node3 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@node3 ~]# lxc-console -n centos2

Connected to tty 1
Type <Ctrl+a q> to exit the console, <Ctrl+a Ctrl+a> to enter Ctrl+a itself


CentOS release 6.7 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64

centos2 login: root
Password: 
Last login: Wed Apr  6 13:01:46 on lxc/console
[root@centos2 ~]# ping 192.168.30.2   #可以连接外网了
PING 192.168.30.2 (192.168.30.2) 56(84) bytes of data.
64 bytes from 192.168.30.2: icmp_seq=1 ttl=127 time=4.87 ms
64 bytes from 192.168.30.2: icmp_seq=2 ttl=127 time=0.150 ms
64 bytes from 192.168.30.2: icmp_seq=3 ttl=127 time=0.246 ms
...
[root@centos2 ~]# yum -y install httpd
...
Complete!
[root@centos2 ~]# vi /var/www/html/index.html
hello
[root@centos2 ~]# service httpd start   #启动httpd服务
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]
[root@centos2 ~]# iptables -F  

[root@node3 ~]# curl 172.16.100.2
hello  

  10、克隆容器lxc-clone [options] ORIG NEW


[root@node3 ~]# lxc-clone centos2 centos3
lxc_container: error: Original container (centos2) is running
clone failed
[root@node3 ~]# lxc-stop -n centos2
[root@node3 ~]# lxc-clone centos2 centos3
Created container centos3 as copy of centos2
[root@node3 ~]# lxc-start -n centos3


CentOS release 6.7 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64

centos3 login: init: rcS main process (8) killed by TERM signal
Entering non-interactive startup
iptables: No config file.                                  [WARNING]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 172.16.100.2 is already in use for device eth0...
                                                           [  OK  ]
Starting system logger:                                    [  OK  ]
Mounting filesystems:                                      [  OK  ]
Starting sshd:                                             [  OK  ]


CentOS release 6.7 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64

centos3 login: root
Password: 
Last login: Wed Apr  6 13:01:46 on lxc/console
[root@centos3 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
NM_CONTROLLED=no
TYPE=Ethernet
IPADDR=172.16.100.3
NETMASK=255.255.0.0
GATEWAY=172.16.100.1

[root@centos3 ~]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Determining if ip address 172.16.100.3 is already in use for device eth0...
                                                           [  OK  ]
[root@centos3 ~]# vi /var/www/html/index.html
how are you
[root@centos3 ~]# service httpd start
...
[root@centos3 ~]# ss -tnl
State       Recv-Q Send-Q                    Local Address:Port                  Peer Address:Port 
LISTEN      0      0                         *:22                                *:*     
LISTEN      0      0                         :::80                               :::*     
LISTEN      0      0                         :::22                               :::*
[root@centos3 ~]# iptables -F  

[root@node3 ~]# curl 172.16.100.3
how are you  

  11、挂起/恢复容器:lxc-freeze/lxc-unfreeze

  12、销毁容器lxc-destory -n NAME


  在lxc的容器中目测无法修改内核参数,但在docker中,让容器以特权模式启动是可以的


[root@centos2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
-bash: /proc/sys/net/ipv4/conf/lo/arp_ignore: Read-only file system  


转载于:https://blog.51cto.com/9124573/1761114

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用lxc提供轻量级虚拟化 的相关文章

  • centos8 lxc 虚拟化安装redis

    yum install wget y 下载最新的redis 这个更新比较慢 http www redis cn download html 官网 https redis io download yum span class token fu
  • 使用lxc提供轻量级虚拟化

    lxc linux containers 是一种基于容器的操作系统层级的虚拟化技术 xff0c 一个容器就是一个虚拟的执行环境 xff0c 容器有效地将由单个操作系统管理的资源划分到孤立的组中 xff0c 以更好地在孤立的组之间平衡有冲突的
  • LXC 介绍

    转自 xff1a https www cnblogs com xidongyu p 5767020 html LXC又名Linux container xff0c 是一种虚拟化的解决方案 xff0c 这种是内核级的虚拟化 主流的解决方案Xe
  • docker & LXC

    目录 一 LXC1 了解Docker的前生LXC2 LXC与docker的关系3 与传统虚拟化对比4 LXC部署4 1 安装LXC软件包和依赖包4 2 启动服务4 3 创建虚拟机 5 LXC常用命令 二 doker1 什么是docker2
  • 虚拟化实现之 LXC (四)

    1 1 LXC是什么 xff1f 1 1 1 关于LXC LXC xff0c 其名称来自Linux软件容器 xff08 Linux Containers xff09 的缩写 xff0c 一种操作系统层虚拟化 xff08 Operating
  • LXC介绍

    LXC LXC又名Linux container xff0c 是一种虚拟化的解决方案 xff0c 这种是内核级的虚拟化 主流的解决方案Xen KVM LXC 介绍 通过namespace进行资源的隔离 Gust1下的进程与Guset2下的进
  • 更换 PVE7 软件仓库源和 CT模板(LXC)源为国内源

    PVE7 安装后默认配置的 apt 软件源和 CT LXC 容器模板源均是官方默认的 xff0c 国内使用性能不佳 xff0c 建议替换为 清华 Tuna 提供的国内镜像源 xff0c 速度将有一个较大的提升 如果 pve 官网 iso 镜
  • LXD/LXC raw.idmap 使用方法和作用

    官方文档 xff1a https github com lxc lxd blob master doc userns idmap md 设置和取消设置 raw idmap xff0c 都需要重启容器才能应用 并且在重启容器时 xff0c 会
  • LXC与Docker介绍

    文章目录 LXCLUX是什么LXC常用命令LXC的使用 Docker容器虚拟化和传统虚拟化的区别Linux NamespacesCGroupsdoeker基本概念docker容器编排 LXC LUX是什么 LXC xff08 LinuX C
  • 使用 Docker/LXC 迅速启动一个桌面系统

    原文出处 xff1a vpsee Docker是 dotCloud 的一个开源引擎 xff0c 旨在提供一种应用程序的自动化部署解决方案 xff0c 简单的说就是 xff0c 在 Linux 系统上迅速创建一个容器 xff08 类似虚拟机
  • Ubuntu中使用Docker/LXC迅速启动一个桌面系统

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 2013年07月18日 标签 cloud container docker lxc 作者 xff1a vpsee Docker 是 dotCloud 最近几个月刚宣布的开源
  • Lxc之二—网络设置

    按照博客一所述 应该能够创建lxc虚拟机并运行虚拟机 如果是本地的话 应该能够进入虚拟机操作了 会发现虚拟机只提供了最原始和简单的一些程序 如果使用template方式 甚至连vim gcc python等都没有安装 更别说myql了 安装
  • cgroup----devices子系统

    devices子系统 使用devices 子系统可以允许或者拒绝cgroup中的进程访问设备 devices子系统有三个控制文件 devices allow devices deny devices list devices allow用于
  • 大规模部署lxc容器遇到的若干问题

    线程数控制 启动线程过多会导致资源不足引发的lxc start命令无法执行问题 到致大量容器只执行了lxc copy 而无法真正运行 具体情况应视服务器硬件条件 cpu 内存 在本项目部署中主要瓶颈在于cpu 以及当前服务器状态 当前主要是
  • 我可以从我自己的自定义操作系统创建 LXC 映像吗?

    我是lxc的新手 我想从现有操作系统创建我自己的 lxc 容器 我自己的 unix 内核在不同架构中编译 我正在尝试使用 lxc create 谁能建议我如何创建自己的容器 是否可以使用这种方法创建一个容器 创建自己的容器后是否需要更改任何
  • Docker如何共享资源

    我一直在研究 Docker 我从中了解到这个帖子 https stackoverflow com questions 16047306 how is docker io different from a normal virtual mac
  • 是否可以将 USB 设备暴露给 LXC/Docker 容器?

    我有一个包含在 Docker 文件中的嵌入式系统开发映像 为了刷新代码 我需要通过 USB 串行连接到节点 例如 dev ttyACM0 对于 Docker 我使用了新的绑定安装功能 请参阅https github com dotcloud
  • 为docker容器分配IP地址?

    我是 Docker 新手 是否可以将 IP 地址 从 DHCP 服务器 分配给在主机或虚拟机上运行的 Docker 容器 如果是 有人可以指出我正确的方向吗 如果不是 这是否是容器方法的基本限制 或者只是 Docker 中尚未提供的功能 D
  • 在 Docker Ubuntu 容器中启动 Xserver

    我的容器中安装了最少的 Ubuntu 并且希望运行 Xserver 我需要XServer 因为我的应用程序需要meshlabserver 而meshlabserver本身也需要Xserver 我安装了 xserver xorg 和所有其他软
  • 如何从任何 Docker 存储库中提取单个映像?

    docker 存储库包含多个镜像 是否可以从存储库中提取特定图像 当我使用时 docker pull ubuntu 它会下载大约 8 10 个不同版本的 ubuntu 如果有标记的特定图像 您可以使用 tag 或 t 运算符来提取您要查找的

随机推荐

  • CString 操作指南

    原著 xff1a Joseph M Newcomer 翻译 xff1a littleloach 原文出处 xff1a codeproject xff1a CString Management 通过阅读本文你可以学习如何有效地使用 CStri
  • iOS 触摸事件之双指先后触摸问题的解决

    问题情景的引入 xff1a 在一个画板程序中 xff0c 我定义只能用一个手指的时候 xff0c 才可以画线 xff0c 当有两个手指的时候是不可以进行绘画的 问题初解决 xff1a 那么最简单的我们会想到 xff0c 禁止多点触摸不就可以
  • Kurento Utils JS

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 概述 Kurento Utils是RTCPeerConnection的包装器对象 此对象旨在简化基于WebRTC的应用程序的开发 该项目的源代码可以从GitHub存储库克隆
  • java 校验日期字符串格式_Java 校验日期(格式:yyyyMMdd)

    今天做Android的时候遇到一个需求 xff0c 即校验yyyyMMdd格式的日期 xff0c 没有搜索到合适的于是自己写了一个简单的小算法 xff0c 权当复习SE了 xff0c 顺便记录一下 package com wl cigrec
  • C++代码文件名标准化处理工具

    工具功能 xff1a 批量处理C 43 43 代码文件 xff0c 将C 43 43 代码文件名中大写字母改为下划线 43 小写字母 为了方便代码在不同平台下的移植 xff0c 代码文件命名规范为 xff1a 不使用大写字母 xff0c 单
  • linux自定义回收空间,不断回收的Linux和Swap空间中的交换大小不断增加?

    如果信息被换出到光盘然后再读回内存 它通常会在交换区域中分配 直到交换空间不足为止 这意味着如果相同的信息需要稍后再次换出并且没有改变 操作系统可以从已分配的RAM中删除页面 而无需向磁盘节省时间 分配给已经读回内存的东西的交换也将被释放
  • python django django-debug-toolbar 不能正常使用的问题

    2019独角兽企业重金招聘Python工程师标准 gt gt gt http django debug toolbar readthedocs org en 1 3 debug toolbar 1 3 django 1 8 python2
  • xfreerdp的用法

    root 64 localhost xfreerdp 192 168 1 107 u username sec nla connected to 192 168 1 107 3389 Password SSL read Failure in
  • gitlab详细安装过程,错误解决方案

    在centos6 5中安装 GitLab 全过程和问题记录 如果你想省事 xff0c 使用最新版本的gitlab xff0c 请下载一键安装包 xff0c 一键安装 脚本 xff1a https bitnami com stack gitl
  • 声音分贝的概念,dBSPL.dBm,dBu,dBV,dBFS

    需要做个音频的PPM表 xff0c 看着一堆的音频术语真是懵了 xff0c 苦苦在网上扒了几天的文档 xff0c 终于有了点收获 xff0c 下面关于声音的分贝做个总结 分贝 Decibel 分贝 xff08 dB xff09 是一个对数单
  • Docker swarm mode初探

    为什么80 的码农都做不了架构师 xff1f gt gt gt Docker从1 12引入了swarm模式 xff0c swarm mode用来管理集群化的docker engines xff0c 被称作swarm 可以使用docker C
  • 在linux上安装XRDP远程登录Linux系统

    XRDP远程登录Linux系统 一般情况下我们 用ssh客户端远程登陆Linux系统 xff0c 至于图形界面下的linux远程登陆工具 xff0c 我们一般都会想到vnc xff0c 但它的安全性不够 xff0c 在这里 xff0c 我将
  • MySQL学习笔记之视图的创建,更新,删除,查询

    本篇文章通过学习 数据库系统概论 和 MySQL从入门到精通 xff0c 总结所得 在MySQL数据库中为我们提供了一种特性 xff0c 它可以简化查询 xff0c 提高安全性 xff0c 就是本章要学习的视图 视图是从一个或几个表 或视图
  • 微信备份方法

    手机空间不足 xff0c 需要清空微信空间 xff0c 如何备份微信内容以备以后之用呢 xff1f 经过摸索 xff0c 如下方法即可 xff1a 1 打开pc端微信并登陆 2 打开微信app xff0c 授权pc端微信运行 3 PC端微信
  • SQLServer 解析JSON字符串

    解析字符串函数 CREATE FUNCTION dbo fn split 64 p str VARCHAR 8000 64 p split VARCHAR 10 RETURNS 64 tab TABLE tid VARCHAR 2000 A
  • 如何用iphone导出网易云音乐的办法步骤

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 首先我是通过PP助手进行相关程序和文档进行备份 xff0c 这里我选择了要备份的网易云音乐 http www baisoujs com http www baisoujs
  • linux分区btrfs,linux btrfs文件系统及管理

    什么是btrfs xff1f Btrfs B tree文件系统 xff0c 通常念成Butter FS xff0c Better FS或B tree FS xff0c linux文件系统 xff0c 具有写时复制COW copy on wr
  • AJAX的post提交数组数据

    2019独角兽企业重金招聘Python工程师标准 gt gt gt code 前端js代码 xff1a function AlarmCondition id alarmLevel defaultOverValue isEnabled thi
  • linux 网络命令ethtool与mii-tool及nm-tool

    1 ethtool Ethtool是Linux下用于查询及设置网卡参数的命令 概要 xff1a ethtool ethX 查询ethX网口基本设置 ethtool h 显示ethtool的命令帮助 help ethtool i ethX 查
  • 使用lxc提供轻量级虚拟化

    lxc linux containers 是一种基于容器的操作系统层级的虚拟化技术 xff0c 一个容器就是一个虚拟的执行环境 xff0c 容器有效地将由单个操作系统管理的资源划分到孤立的组中 xff0c 以更好地在孤立的组之间平衡有冲突的