django

django python manage.py startapp hello pytest-django runserver python manage.py runserver 0.0.0.0:1234 这个命令会启动两个进程 user0 542872 542712 2 16:47 pts/0 00:00:00 python manage.py runserver 0.0.0.0:1234 user0 543984 542872 8 16:47 pts/0 00:00:01 /path/to/venv-36/bin/python manage.py runserver 0.0.0.0:8888 本地修改代码之后第一个进程不变, 第二个进程会重启并应用新的代码

2020-03-11 · 1 min · 36 words · -

firewall 防火墙

firewall 防火墙 device 物理设备 context 物理设备上的虚拟防火墙, 类似于虚拟机的概念 每个 context 可以被看作是一个独立的防火墙实例。每个 context 拥有自己的配置文件、策略和规则集,使得单个物理设备能够同时作为多个独立的防火墙进行操作。 VRF VRF(Virtual Routing and Forwarding) VRF 和 Context 是独立的概念 VRF 是一种在同一物理设备上创建多个虚拟路由表的方法,使得不同的网络流量可以在相同的物理接口上保持逻辑隔离。VRF 主要用于以下场景: 多租户环境:在服务提供商或大型企业网络中,VRF 允许不同的客户或部门共享相同的物理网络设备而保持独立的路由表。 安全隔离:VRF 可以将不同的业务流量在逻辑上隔离开,确保不同业务之间的安全性和隐私性。 灵活性和可扩展性:通过使用 VRF,可以在不增加额外硬件的情况下,灵活地管理和扩展网络。

2020-03-01 · 1 min · 30 words · -

xxd

xxd, 以 16进制查看文件 xxd 命令用于使用二进制或十六进制格式显示文件内容,可以将指定文件或标准输入以十六进制转储,也可以把十六进制转储转换成原来的二进制形式。 command xxd -b file xxd file

2020-02-14 · 1 min · 11 words · -

buildah

buildah # removes all dangling images, same as docker prune podman image prune # remove image buildah rmi 0d2d0133941b sudo pacman -S fuse-overlayfs sudo pacman -S buildah # login buildah login container.wiloon.com buildah login --tls-verify=false container.wiloon.com # buildah needs to run as root!!! # list all the images buildah images # build ### buildah bud -f Dockerfile -t <tag0> . buildah bud -f Dockerfile -t fedora-httpd . buildah push registry.wiloon.com/pingd-proxy:v0.0.1 # list all containers buildah containers buildah run <container name> buildah run $container -- dnf -y install java buildah rm $newcontainer buildah push fedora-bashecho docker-daemon:fedora-bashecho:latest container0=$(buildah from timer0) buildah run $container0 http: server gave HTTP response to HTTPS client https://github.com/containers/buildah/issues/4788 ...

2020-01-20 · 1 min · 114 words · -

ufw

ufw UFW,即简单防火墙 uncomplicated firewall,是一个 Arch Linux、Debian 或 Ubuntu 中管理防火墙规则的前端。 UFW 通过命令行使用(尽管它有可用的 GUI),它的目的是使防火墙配置简单(即不复杂uncomplicated)。 # check ufw status sudo ufw status # Status: active # Status: inactive docker 网络 会忽略 ufw 配置 https://docs.docker.com/engine/network/packet-filtering-firewalls/#docker-and-ufw

2019-07-28 · 1 min · 31 words · -

shell basic, shell script, shell 脚本

shell basic, shell script sample #!/usr/bin/env bash echo 'hello world' commands # to refresh your current bash session exec bash Shell 函数, function # 参数不在函数名后面的括号里定义 [ function ] funname [()] { action; [return int;] } # 定义函数 fun0 fun0(){ echo "run fun0: " + $1 } # 调用函数 fun0 fun0 "foo" # 定义带参数的函数 fun0 # 在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数... fun0(){ echo "run fun0 $1 " echo "第一个参数为 $1 !" echo "第二个参数为 $2 !" echo "第十个参数为 $10 !" } # 调用带参数的函数 fun0 fun0 foo # check if params is not supplied if [ $# -eq 0 ] then echo "No arguments supplied" fi https://www.runoob.com/linux/linux-shell-func.html ...

2019-05-06 · 15 min · 3013 words · -

outlook 导出邮件, 备份, archive, import, export

outlook 导出邮件, 备份, archive, import, export 菜单: File > Options > Advanced > Export > Export to a file > 选择 Outlook Data File (.pst) > Next 展开树状列表,选择要备份的目录, 勾选 “include subfolders” 点击 Next 选择存放导出的 pst 文件的目标目录 (Save exported file as:) 点击 Finish 不设置 密码 点击 确定 等进度条走完 ( 备份文件比较小的时候可能看不到进度条 ) 在 outlook 里删除已经备份的目录. 导入 解压 导入 File> Open & Export> Open Outlook Data File 然后到 Outlook 窗口左侧的树状菜单底部的 Outlook Data File 下面就能找到了. ...

2019-04-24 · 1 min · 97 words · w1100n

bspwm

bspwm https://wiki.archlinux.org/title/bspwm https://zhuanlan.zhihu.com/p/568211941 mkdir ~/.config install -Dm755 /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/bspwmrc install -Dm644 /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/sxhkdrc 快捷键 win + enter: 打开 urxvt win + space: dmenu_run

2019-04-10 · 1 min · 23 words · -

win11 ssh agent

win11 ssh agent https://www.cnblogs.com/sparkdev/p/10166061.html https://davidaugustat.com/windows/windows-11-setup-ssh making sure that the OpenSSH client is installed Settings -> Apps -> Optional Features Scroll to “OpenSSH Client” and click on the item If it shows an “Uninstall” button, then OpenSSH is already installed, and you can skip to the next section. open Windows service, win + R “services.msc” Enabling the SSH Authentication Agent scroll to “OpenSSH Authentication Agent” and set to Automatic Delayed Start Generating the SSH key add private key into ssh-agent ...

2019-04-05 · 1 min · 100 words · -

clonezill

clonezill download clonezill iso from https://clonezilla.org/downloads.php install balenaEtcher dd bs=1M conv=fdatasync if=./clonezilla-live-3.2.0-5-amd64.iso of=/dev/sdx start clonezilla device-image nfs_server dhcp nfs4 192.168.50.227 /backup_xxxx/ beginner save parts clonezill https://clonezilla.org/ https://clonezilla.org/liveusb.php#macos-setup Download the Clonezilla Live iso file. Insert a USB flash drive on the Mac machine. Erase it using the standard Mac Disk Utility (exFAT works fine). Download balenaEtcher for macOS, then follow its document to burn the image to the USB flash drive. Eject the USB drive. Thanks to Hans Palm for providing this info. ...

2019-03-15 · 1 min · 141 words · -

diff command

diff command diff 的三种格式 正常格式 上下文格式 合并格式 git 格式 Git’s diff is a variant of unified diff, so unified diff is preferred. # unified diff diff -u foo bar diff 是 Unix 系统的一个很重要的工具程序。它用来比较两个文本文件的差异,是代码版本管理的基石之一。 diff 的三种格式 正常格式(normal diff) 上下文格式(context diff) 合并格式(unified diff) 命令格式 diff [参数] [文件1或目录1] [文件2或目录2] diff -B -b -r --exclude="*.vscode" --exclude="*.svn" /etc/nginx/ /etc/foo-nginx/ diff -r \ --exclude="*~" \ --exclude=".svn" \ --exclude=".git" \ --exclude="*.zip*" \ --exclude="*.gz" \ --exclude="*.tar" \ # -B 或--ignore-blank-lines 不检查空白行。 # -b 或--ignore-space-change 不检查空格字符的不同。 # -r 递归比较子目录中的文件 # -x 或--exclude 不比较选项中所指定的文件或目录。 # -w 或--ignore-all-space 忽略全部的空格字符。 # -q 或--brief 仅显示有无差异,不显示详细的信息。 # -a 将所有的比对文件都当作文本文件处理 比较两个文件 diff foo.log bar.log 3c3 < 2014-03 --- > 2013-03 8c8 < 2013-07 --- > 2013-08 11,12d10 < 2013-11 < 2013-12 说明 3c3 用来说明变动位置, 分为三个部分, 第一个数字表示 foo.log 的第 3 行有变化, 中间的 c 表示变动模式是内容改变 (change), 后面的 3 表示 变动后变成 bar.log 文件的第3行. < 2014-03, 分为两个部分, 前面的小于号表示 foo.log 比 bar.log 少了这一行, 2014-03 是该行的内容 — 分隔线, 用于分隔 foo.log bar.log 2013-03, 大于号表示 bar.log 增加了这行 ...

2019-02-22 · 3 min · 437 words · -

redis config redis 配置

redis config redis 配置 sample, 单机 redis server 配置 bind 0.0.0.0 protected-mode no port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 300 daemonize no pidfile /var/run/redis_6379.pid loglevel notice logfile "" databases 16 always-show-logo no set-proc-title yes proc-title-template "{title} {listen-addr} {server-mode}" stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb rdb-del-sync-files no dir /var/lib/redis replica-serve-stale-data yes replica-read-only yes repl-diskless-sync yes repl-diskless-sync-delay 5 repl-diskless-sync-max-replicas 0 repl-diskless-load disabled repl-disable-tcp-nodelay no replica-priority 100 acllog-max-len 128 lazyfree-lazy-eviction no lazyfree-lazy-expire no lazyfree-lazy-server-del no replica-lazy-flush no lazyfree-lazy-user-del no lazyfree-lazy-user-flush no oom-score-adj no oom-score-adj-values 0 200 800 disable-thp yes appendonly no appendfilename "appendonly.aof" appenddirname "appendonlydir" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes aof-use-rdb-preamble yes aof-timestamp-enabled no slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-listpack-entries 512 hash-max-listpack-value 64 list-max-listpack-size -2 list-compress-depth 0 set-max-intset-entries 512 zset-max-listpack-entries 128 zset-max-listpack-value 64 hll-sparse-max-bytes 3000 stream-node-max-bytes 4096 stream-node-max-entries 100 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 dynamic-hz yes aof-rewrite-incremental-fsync yes rdb-save-incremental-fsync yes jemalloc-bg-thread yes https://raw.githubusercontent.com/redis/redis/6.0/redis.conf ...

2019-02-22 · 7 min · 1353 words · -

telegraf

telegraf # archlinux, telegraf yay -S telegraf-bin ubuntu && debian # influxdata-archive_compat.key GPG fingerprint: # 9D53 9D90 D332 8DC7 D6C8 D3B9 D8FF 8E1F 7DF8 B07E wget -q https://repos.influxdata.com/influxdata-archive_compat.key echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list sudo apt-get update && sudo apt-get install telegraf binary https://portal.influxdata.com/downloads/ vim /etc/telegraf/telegraf.conf [global_tags] [agent] interval = "10s" round_interval = true metric_batch_size = 1000 metric_buffer_limit = 10000 collection_jitter = "0s" flush_interval = "10s" flush_jitter = "0s" precision = "" # 修改主机名 hostname = "foo" omit_hostname = false [[outputs.influxdb]] urls = ["http://influxdb.wiloon.com:32086"] # 注意修改 database database = "monitor" [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"] [[inputs.diskio]] [[inputs.kernel]] [[inputs.mem]] [[inputs.processes]] [[inputs.swap]] [[inputs.system]] [[inputs.net]] [[inputs.netstat]] [[inputs.linux_sysctl_fs]] inputs.linux_sysctl_fs https://www.kernel.org/doc/Documentation/sysctl/fs.txt ...

2019-02-16 · 3 min · 553 words · -

网络唤醒, Wake On LAN, WAL

网络唤醒, Wake On LAN, WAL 华硕 BIOS 设置 Advanced> APM Configuration> Power on by PCI-E/PCI # archlinux, wol pacman -S wol wol -i 192.168.50.255 -p 9 1c:b7:2c:af:9a:6a # -i 192.168.50.255, 广播地址 # -p 9, 端口 9,大多数以太网卡都支持 9, 也可以尝试 7 或 0 # 1c:b7:2c:af:9a:6a, 被唤醒的主机的 MAC 地址 ubuntu sudo apt-get install wakeonlan wakeonlan 1c:b7:2c:af:9a:6a android client TX ToolBox Name: 填写一个别名就可以,例如: foo Mac Address: 填写电脑网卡MAC地址 (注意是主板上有线网卡) ,这个要填写正确,如何获得? 进入命令行运行: ipconfig /all,然后查看对应的物理地址即可,共6组2字节十六进制字符; Broadcast IP/Hostname/FQDN Broadcast IP/Hostname 是电脑所在的局域网的广播地址: 如果你的电脑分配到 192.168.1.100 则填写 192.168.1.255,将唤醒包广播到1网段下面所有电脑, Hostname: 则是你电脑的主机名. FQDN:是广域网唤醒, 例如你的手机在公网 (4g上网), 不在局域网,则需要填写路由器的DDNS域名, 如: http://homepc.router.net Port 端口默认是9, 这里默认就可以 ...

2019-02-02 · 1 min · 103 words · -

Console(控制台), Terminal(终端), tty, shell

Console(控制台), Terminal(终端), tty, shell https://blog.csdn.net/on_1y/article/details/20203963 使用 linux 已经有一段时间, 却一直弄不明白这几个概念之间的区别。虽然一直在用, 但是很多概念都感觉模糊不清, 这样不上不下的状态实在令人不爽。下面就澄清一下这些概念。 这些概念本身有着非常浓厚的历史气息, 随着时代的发展, 他们的含义也在发生改变, 它们有些已经失去了最初的含义, 但是它们的名字却被保留了下来。 控制台(Console) 控制台(Console)是物理设备,用于输入输出,它直接连接在计算机上,是计算机系统的一部分。计算机输出的信息会显示在控制台上,例如BIOS的输出,内核的输出。 终端(Terminal) 终端(Terminal)也是一台物理设备,只用于输入输出,本身没有强大的计算能力。一台计算机只有一个控制台,在计算资源紧张的时代,人们想共享一台计算机,可以通过终端连接到计算机上,将指令输入终端,终端传送给计算机,计算机完成指令后,将输出传送给终端,终端将结果显示给用户。 虚拟控制台(Virtual Console),虚拟终端(Virtual Terminal) 虚拟控制台(Virtual Console)和虚拟终端是一样的。我们只有一台终端 (物理设备) ,这是我们与计算机之间的用户接口。假如有一天,我们想拥有多个用户接口,那么,一方面我们可以增加终端数目 (物理设备) ,另一方面,还可以在同一台终端 (物理设备) 上虚拟出多个终端,它们之间互相不影响,至少看起来互相不影响。这些终端就是虚拟终端。 在Ubuntu中,我们按下Ctrl+Alt+Fx时,会进入第x个虚拟终端,一共有七个虚拟终端,其中第七个虚拟终端,就是我们默认使用的图形用户界面。 终端模拟器(Terminal Emulator) 我们知道,终端是一种物理设备,而终端模拟器(Terminal Emulator),是一个程序,这些程序用来模拟物理终端。图形用户界面中的终端模拟器一般称为终端窗口(Terminal Window),我们在Ubuntu下打开的gnome-terminal就属于此类。 tty tty 的全称是 TeleTYpewriter, 这就是早期的终端 (物理设备), 它们用于向计算机发送数据, 并将计算机的返回结果打印出来。显示器出现后, 终端不再将结果打印出来,而是显示在显示器上。但是tty的名字还是保留了下来。 在Ubuntu中,我们按下Ctrl+Alt+F1时,会进入第1个虚拟终端,你可以看到屏幕上方显示的tty1。 shell shell 和之前说的几个概念截然不同, 之前的几个概念都是与计算机的输入输出相关的, 而 shell 是和内核相关的。内核为上层的应用提供了很多服务, shell 在内核的上层, 在应用程序的下层。例如,你写了一个 hello world 程序,你并不用显式地创建一个进程来运行你的程序,你把写好的程序交给shell就行了,由shell负责为你的程序创建进程。 我们在终端模拟器中输入命令时, 终端模拟器本身并不解释执行这些命令, 它只负责输入输出, 真正解释执行这些命令的, 是 shell。 我们平时使用的sh, bash, csh 是 shell 的不同实现。 ...

2018-12-24 · 2 min · 256 words · -

Containerfile

Containerfile, Dockerfile buildkit 默认会查找当前目录的 Containerfile 或者 Dockerfile FROM golang:1.22.0 AS build ENV GO111MODULE on ARG APP_NAME=rssx-api WORKDIR /workdir COPY . . RUN CGO_ENABLED=0 GOOS=linux GOPROXY=https://goproxy.io go build -a -o ${APP_NAME} main.go FROM alpine:3.19.1 AS prod ARG APP_NAME=rssx-api COPY --from=build /workdir/${APP_NAME} /data/${APP_NAME} COPY config.toml config.toml COPY config.toml /data/config.toml ENV APPLICATION_NAME ${APP_NAME} CMD "/usr/local/bin/${APPLICATION_NAME}" FROM golang:1.12.4 AS build ENV GO111MODULE on WORKDIR /go/src/xxx.com/xxx ADD . . ADD cmd cmd ADD internal internal ADD pkg pkg RUN CGO_ENABLED=0 GOOS=linux go build -a cmd/xxx.go FROM alpine AS prod COPY --from=build /go/src/xxx.com/xxx/xxx . # dev ADD configs/xxx.json . CMD ["./xxx"] buildah -f Dockerfile-0 --build-arg foo="bar" 环境变量 设置环境变量 USERNAME 默认值为 admin,后面可以通过docker run -e USERNAME=“XXXXXX"修改,这个环境变量在容器里也可以$USERNAME获取 ...

2018-12-22 · 3 min · 588 words · -

docker install

docker install ubuntu # apt 从仓库里安装, 落后两个小版本, 也算比较新了, 建议从官方源安装 sudo apt install docker.io curl, 配置官方源, 一般会高几个小版本 https://docs.docker.com/engine/install/ubuntu/ # 删掉旧版本的包, 有冲突的包 for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done # Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo docker run hello-world https://docs.docker.com/install/linux/docker-ce/centos/ ...

2018-11-28 · 1 min · 194 words · -

netgear 刷机, factory.img, sysupgrade.bin, openwrt

’netgear 刷机, factory.img, sysupgrade.bin, openwrt' xxx-factory.img 把网线连接路由器的 LAN 口 和 PC 的网口 路由器断电, 用牙签或其他工具, 捅路由器的 reset 口 开启设备电源开关, 观察电源灯 (此时保持按住 reset/ Restore Factory Settings 按钮不要松手), 直到电源灯由橙色闪烁状态变到绿色闪烁状态(wndr4300) (说明设备已经进入到了TFTP修复模式) R7800: 电源灯从橙色闪烁变成白色闪烁。 在 win 下面使用命令, tftp -i 192.168.1.1 put image0.img 在 mac 下面, 同样也是使用 tftp 命令。 自己的 ip 改成192.168.1.10, 网关即路由 ip 192.168.1.1 把下好的 img 固件放到用户文件夹下 打开终端, 输入 (binary的作用是改为二进制模式)>tftp> connect 192.168.1.1>binary>put 文件名.img完了之后路由器会闪灯后自动重启。 linux tftp (to) 192.168.1.1 tftp> binary tftp> verbose tftp> put openwrt0.img tftp> quit 文件传送完毕后,等待 80 秒左右, 设备会自动重启 (请耐心等待, 切勿将路由器手动断电)。至此, TFTP 修复完成。 设备重启后, 可手动断电, 再重启。否则可能没有5G。这不是BUG,其他openwrt也是一样的 如果恢复过程中断或失败, 重复上述步骤再做尝试。 https://www.netgear.com/support/product/WNDR4300.aspx ...

2018-10-28 · 1 min · 87 words · -

kvm

kvm http://blog.51cto.com/changfei/1672147 KVM-Qemu-Libvirt 三者之间的关系 Qemu Qemu是一个模拟器,它向Guest OS模拟CPU和其他硬件, Guest OS认为自己和硬件直接打交道,其实是同Qemu模拟出来的硬件打交道,Qemu将这些指令转译给真正的硬件。 由于所有的指令都要从Qemu里面过一手,因而性能较差。wKiom1WdDYyjiVZiAAECBtAEQ5E590.jpg KVM KVM是linux内核的模块,它需要 CPU 的支持, 采用硬件辅助虚拟化技术Intel-VT,AMD-V,内存的相关如Intel的EPT和AMD的RVI技术,Guest OS的CPU指令不用再经过Qemu转译,直接运行,大大提高了速度,KVM通过 /dev/kvm暴露接口,用户态程序可以通过 ioctl函数来访问这个接口。见如下伪代码: open("/dev/kvm") ioctl(KVM_CREATE_VM) ioctl(KVM_CREATE_VCPU) for (;;) { ioctl(KVM_RUN) switch (exit_reason) { case KVM_EXIT_IO: case KVM_EXIT_HLT: } } KVM 内核模块本身只能提供CPU和内存的虚拟化, 所以它必须结合QEMU才能构成一个完成的虚拟化技术, 这就是下面要说的 qemu-kvm。 qemu-kvm Qemu将KVM整合进来,通过ioctl调用 /dev/kvm接口,将有关CPU指令的部分交由内核模块来做。kvm 负责cpu虚拟化+内存虚拟化, 实现了cpu和内存的虚拟化, 但kvm不能模拟其他设备。qemu模拟IO设备 (网卡,磁盘等) , kvm加上qemu之后就能实现真正意义上服务器虚拟化。因为用到了上面两个东西,所以称之为qemu-kvm。 Qemu 模拟其他的硬件,如Network, Disk,同样会影响这些设备的性能,于是又产生了pass through半虚拟化设备virtio_blk, virtio_net,提高设备性能。 libvirt libvirt 是目前使用最为广泛的对KVM虚拟机进行管理的工具和API。Libvirtd是一个daemon进程,可以被本地的 virsh 调用,也可以被远程的virsh调用,Libvirtd调用qemu-kvm操作虚拟机。 libvirt、virsh、virt-manager https://blog.csdn.net/wanglei_storage/article/details/51107648 libvirt、virsh、virt-manager 介绍 kvm 虚拟化中 libvirt 是目前使用最为广泛的对 kvm 虚拟机进行管理的工具和应用程序接口,而且一些常用的虚拟机管理工具 (virsh、virt-install、virt-manager等) 和云计算框架平台都在底层使用libvirt的应用程序接口。 virsh virsh 是用于管理虚拟化环境中的客户机和 Hypervisor 的命令行工具, 与 virt-manager 等工具类似, 它也是通过 libvirt API 来实现虚拟化的管理。virsh 是完全在命令行文本模式下运行的用户态工具, 它是系统管理员通过脚本程序实现虚拟化自动部署和管理的理想工具之一。 ...

2018-10-27 · 1 min · 152 words · -

sysctl

sysctl archlinux systemd-sysctl 服务在启动时会加载 /etc/sysctl.d/*.conf, 配置内核参数 /etc/sysctl.conf 不起作用 sysctl 命令被用于在内核运行时动态地修改内核的运行参数, 可用的内核参数在目录 /proc/sys 中。它包含一些 TCP/ip 堆栈和虚拟内存系统的高级选项,用sysctl可以读取设置超过五百个系统变量。 CentOS 5 supported the placement of sysctl directives in files under /etc/sysctl.d/ . The code is within /etc/init.d/functions sysctl [options] [variable[=value] …] -a: 打印所有内核参数 -n: 打印时只打印值,不打印参数名称; -e: 忽略未知关键字错误; -N: 打印时只打印参数名称,不打印值; -w: 设置参数的值 -p: 从配置文件 "/etc/sysctl.conf" 加载内核参数设置 -A: 以表格方式打印所有内核参数变量。 查看变量 # 查看 sysctl net.ipv4.ip_forward cat /proc/sys/net/ipv4/ip_forward # 查看变量, 打印所有参数并过滤 sysctl -a | grep tcp_syn_retrie sudo sysctl -a | egrep "rmem|wmem|adv_win|moderate" 设置内核参数 临时设置 重启之后会恢复为默认值。 ...

2018-08-24 · 7 min · 1458 words · -