Debian 爱好者社区 为您找到相关结果 141

Debian 下轻松实现 PHP 多版本共存

PHP7 的发布废弃了部分特性,一些程序或者插件当前不能很好的运行在 PHP7 上,因此如果服务器上能同时运行多个 PHP 的版本,就可以很好的解决过渡期的兼容性问题。在前面两篇文章中,我们介绍了如何在 Debian Stretch 中安装使用 PHP5,以及如何在Debian环境安装配置PHP 7.2。看完这两篇文章,细心的同学就会发现,两个版本的PHP共存,是很好实现的。 这里我们以同时安装 PHP-7.2 和 PHP-5.6 两个版本为例,说明Debian环境中如何配置实现Nginx中的PHP多版本共存。 一、根据安装配置PHP7.2教程安装 PHP-7.2 和 PHP-5.6: #先安装 PHP7.2 apt install -y php7.2-fpm php7.2-mysql...阅读全文

博文 2017-12-16 14:47:37 debian.cn

鸟哥:PHP Next: JIT

12月23日,由开源中国联合中国电子技术标准化研究院主办的2017源创会年终盛典在北京万豪酒店顺利举行。作为年末最受期待的开源技术分享盛会,国内顶尖技术大拿、知名技术团队、优秀开源项目作者,及近1000名技术爱好者共聚一堂,探讨最前沿、最流行的技术话题和方向,推动国内开源创新体系发展,共建国内开源生态标准。 PHP7 已发布近两年, 大幅的性能提升使得 PHP 的应用场景更加广泛,刚刚发布的 PHP7.2 相比 PHP7.1 又有了近 10% 的提升。在本次大会上,链家集团技术副总裁、PHP 开发组核心成员鸟哥发表了以 “ PHP Next: JIT ”为主题的演讲,分享了 PHP 的下一个性能提升的主要举措:JIT 的进展, 以及下一个大版本的 PHP 可能的特性。他表示,JIT 相比...阅读全文

博文 2017-12-25 00:00:00 debian.cn

Debian 9.3上安装和配置 Observium 监控平台

Apache之后,启动Apache服务并使用以下命令在启动时启动它: systemctl start apache2 systemctl enable apache2 接下来,通过运行以下命令来安装PHP7和其他所需的库: apt-get install php7.0 php7.0-cli php7.0-mysql php7.0-mysqli php7.0-gd php7.0-mcrypt php7.0-json php-pear -y 一旦安装了PHP7和所有必需的库,运行以下命令来安装MariaDB服务器: apt-get install mariadb-server -y 接下来,启动MariaDB服务并使用以下命令在启动时启动它: systemctl start mysql systemctl...阅读全文

博文 2017-12-30 11:35:21 debian.cn

Linux 中使用 Fio 测评硬盘性能

=randwrite --ioengine=libaio --iodepth=1 --rw=randwrite --bs=4k --direct=0 --size=512M --numjobs=2 --runtime=240 --group_reporting 输出如下: ... fio-2.2.10 Starting 2 processes randwrite: (groupid=0, jobs=2): err= 0: pid=7271: Sat Aug 5 13:28:44 2017 write: io=1024.0MB, bw=2485.5MB/s, iops=636271, runt= 412msec slat (usec): min=1, max=268, avg= 1.79, stdev...阅读全文

博文 2018-08-15 19:18:24 debian.cn

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

经常需要读取的. SSD 这块硬盘的分区,因为不是直接安装的 Proxmox ,调整分区大小有风险,先保持现状吧. HDD 的话,我打算 100G 作为镜像存放(完全够了吧),剩下的作为 VM 的存储。 1234567891011121314151617[email protected]:/home/customer# lvs LV VG Attr LSize Pool Origin Data% Meta% M ove Log Cpy%Sync Convert base-9000-disk-0 hdd Vri---tz-k 20.00g vm-data vm-100-disk-0 hdd Vwi---tz-- 200.00g vm-data vm-101-cloudinit hdd Vwi...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go语言真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go语言常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

Debian 9更新到最新的Linux内核

-4.19.0-0.bpo.2-amd64 - Header files for Linux 4.19.0-0.bpo.2-amd64 linux-headers-4.19.0-0.bpo.2-cloud-amd64 - Header files for Linux 4.19.0-0.bpo.2-cloud-amd64 linux-headers-4.19.0-0.bpo.2-rt-amd64 - Header files for Linux 4.19.0-0.bpo.2-rt-amd64 linux-image-4.19.0-0.bpo.2-amd64-dbg - Debug symbols for linux-image-4.19.0-0.bpo.2-amd64 linux-image-4.19.0...阅读全文

博文 2019-03-25 22:33:22 debian.cn

DNS SRV:使用DNS服务器做服务发现

型代码为 33。SRV的记录格式为: _Service._Proto.Name TTL Class SRV Priority Weight Port Target Service: 服务名称,前缀“_”是为防止与DNS Label(普通域名)冲突。 Proto: 服务使用的通信协议,_TCP、_UDP、其它标准协议或者自定义的协议。 Name: 提供服务的域名。 TTL: 缓存有效时间。 CLASS: 类别 Priority: 该记录的优先级,数值越小表示优先级越高,范围0-65535。 Weight: 该记录的权重,数值越高权重越高,范围0-65535。 Port: 服务端口号,0-65535。 Target: host 地址。 客户端查询到多条记录的时候,使用优先级最高的记录。对相同优先...阅读全文

博文 2019-03-05 09:35:34 debian.cn

APISIX Ingress 如何使用 Cert Manager 管理证书

STATUS RESTARTS AGE pod/apisix-5d99956d88-j68sj 1/1 Running 0 63s pod/apisix-69459554d4-btnwn 0/1 Terminating 0 57m pod/apisix-etcd-0 1/1 Running 0 57m pod/apisix-etcd-1 1/1 Running 0 57m pod/apisix-etcd-2 0/1 Running 0 50s pod/apisix-ingress-controller-7b5c767cc7-j62hb 1/1 Running 0 55m pod/cert-manager-5ffd4f6c89-q9f7m 1/1 Running 0 45m pod/cert...阅读全文

博文 2023-02-09 07:38:06 中文开源技术交流社区

Debian 安装配置 v2ray 服务端

很简单,只需要一行命令就可以完成安装:`bash <(curl -L -s https://install.direct/go.sh)` 安装过程的输出样例如下: ``` root@debian:~# bash <(curl -L -s https://install.direct/go.sh) Installing V2Ray v3.5 on x86_64 Downloading V2Ray. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 608 0 608 0 0 584 0 --:--:-- 0:00:01...阅读全文

博文 2021-03-11 16:49:32 diablo4

六大算法之三:动态规划【转载】

已知问题规模为n的前提A,求解一个未知解B。(我们用An表示“问题规模为n的已知条件”) 此时,如果把问题规模降到0,即已知A0,可以得到A0->B. 如果从A0添加一个元素,得到A1的变化过程。即A0->A1; 进而有A1->A2; A2->A3; …… ; Ai->Ai+1. 这就是严格的归纳推理,也就是我们经常使用的数学归纳法;对于Ai+1,只需要它的上一个状态Ai即可完成整个推理过程(而不需要更前序的状态)。我们将这一模型称为马尔科夫模型。对应的推理过程叫做“贪心法”。 然而,Ai与Ai+1往往不是互为充要条件,随着i的增加,有价值的前提信息越来越少,我们无法仅仅通过上一个状态得到下一个状态,因此可以采用如下方案: {A1->A2}; {A1, A2->A3}; {A1,A2,A3...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

Ubuntu: The following upgrades have been deferred due to phasing

apt 升级时遇到报错,如何修复? ``` $ sudo apt upgrade -y Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following upgrades have been deferred due to phasing: libreoffice-gnome ... 0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded. sudo apt -o APT::Get...阅读全文

容器原理之cgroup - abin在路上

/cgroup/) = "cgroup2fs" ] && echo "unified" || ( [ -e \ /sys/fs/cgroup/unified/ ] && echo "hybrid" || echo "legacy") 通过 Linux 启动参数修改 cgroups 模式。例如,使用 unified 模式(注意cgroup_no_v1=all): GRUB_CMDLINE_LINUX="cgroup_enable=memory systemd.unified_cgroup_hierarchy=1 \ systemd.legacy_systemd_cgroup_controller=0 cgroup_no_v1=all" 使用 legacy 模式: GRUB_CMDLINE_LINUX...阅读全文

博文 2025-03-17 20:45:47 博客园

使用 nvme-cli 工具来了解你的 NVMe 驱动器

NVMe 设备和命名空间。我用它在 /dev/nvme0n1 找到了一个 NVMe 驱动器。下面是命令输出结果:$ sudo nvme listNode SN Model Namespace Usage Format FW Rev--------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------/dev/nvme0n1 S42GMY9M141281 SAMSUNG MZVLB256HAHQ-000L7 1214.68 GB / 256.06 GB 512 B + 0 B...阅读全文

博文 2021-09-26 15:12:24 joseph

Debian 系统中如何禁用 IPv6

国内腾讯云和阿里云的机器是没有ipv6的,但安装完 Debian 9 却发现默认启用了ipv6,所以需要将 IPv6 禁用,或者降低优先级。 方法一:降低 IPv6的优先级 使IPv4优先 默认的安装中,ipv4 和 ipv6 并存,并且 ipv6 却优先于 ipv4。如果不需要彻底关闭 ipv6,可以设置让 ipv4 优先于 ipv6。配置方式如下: echo "precedence ::ffff:0:0/96 100" >>/etc/gai.conf 当然也可以直接修改 /etc/gai.conf 文件,找到下面这一行 #precedence ::ffff:0:0/96 100 把前面的#去掉即可。 方法二:设置 GRUB 启动参数禁用 IPv6 编辑 /etc/default...阅读全文

博文 2019-07-12 11:06:50 debian.cn

通过 Hostapd 进行 WIFI 热点共享上网

操作系统:Debian Gnu/Linux Jessie 内核: linux-image-4.3.0-0.bpo.1-amd64 网卡:腾达(Tenda) W311M 150M Mini无线USB网卡 最近发现自己的Debian之前可以使用GNOME3下的networkmanager进行WIFI共享上网功能因为内核升级导致无法使用。无奈只好再次通过Hostapd来进行WIFI热点设置,同时为了更块的DNS解析,本次顺便也在本地安装了dnsmasq软件实现了本地化的DNS查询服务,成功恢复了我的小本本作为热点的能力。总结方法如下: 1、准备环境: 1.1执行vi /etc/apt/sources.list,并添加如下源地址: deb http://ftp.cn.debian.org...阅读全文

博文 2021-01-28 17:50:31 debian.cn

Debian 10 一键安装配置 WireGuard 服务端

原脚本来自 [cnblogs.com](https://www.cnblogs.com/yanzi2020/p/14533052.html) , 脚本有点小问题下载不了 wireguard-dkms ,下面这个是修复的版本。 在 Debian 10 下测试,安装、配置正常,供参考: ``` #!/bin/bash WG_PORT='33456' IPAddr=`wget --no-check-certificate -qO- http://moeclub.org/address` [ `dpkg -s libc6:amd64 |grep '^Version' |grep -o '[0-9\.]\{4\}' |head -n1 |cut -d'.' -f2...阅读全文

Debian 系统如何配置 iptables

ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination root@localhost:~# INPUT、FORWARD和OUTPUT链中均没有内容,说明此时iptables是空的,没有进行任何配置。 配置iptables (1)编辑iptables.test.rules,保存其配置 root@localhost:~# vi /etc/iptables.test.rules # Generated by iptables-save *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT...阅读全文

博文 2018-08-08 16:35:38 debian.cn

在 Debian Stretch 上设置自动升级

更新的自动执行 Apticron 我们已经在第一步安装,在此略过。更新 apticron.conf 的配置文件。打开 /etc/apticron/apticron.conf将电子邮件变量设置为您的电子邮件地址,这样您就可以收到更改列表。 EMAIL="My_user_name@debian.cn" DIFF_ONLY="1" LISTCHANGES_PROFILE="apticron" SYSTEM="debian.cn" NOTIFY_HOLDS="0" NOTIFY_NO_UPDATES="0" 打开 /etc/apt/listchanges.conf 以便配置APT来保存对数据库的更改: [apt] frontend=pager email_address=My_user_name...阅读全文

博文 2018-09-10 11:47:35 debian.cn

nsenter 及 Linux命名空间 简介

,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 56:7b:98:07:30:bc brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.134.93/27 brd 192.168.134.95 scope global eth0 valid_lft forever preferred_lft forever 通过内网 IP 地址,我们得知已成功进入容器内部。 原理 namespace namespace 是 Linux 中一些进程的属性的作用域,使用命名空间,可以隔离不同的进程。 Linux在不断的添加命名空间,目前有: mount:挂载命名空间,使...阅读全文

博文 2020-12-15 11:22:44 debian.cn

linux下查看系统socket读写缓冲区_eyucham的专栏

(int argc,char **argv) { int err = -1; /* 返回值 */ int s = -1; /* socket描述符 */ int snd_size = 0; /* 发送缓冲区大小 */ int rcv_size = 0; /* 接收缓冲区大小 */ socklen_t optlen; /* 选项值长度 */ /* * 建立一个TCP套接字 */ s = socket(PF_INET,SOCK_STREAM,0); if( s == -1){ printf("建立套接字错误\n"); return -1; } /* * 先读取缓冲区设置的情况 * 获得原始发送缓冲区大小 */ optlen = sizeof(snd_size); err = getsockopt(s...阅读全文

博文 2021-01-26 16:21:35 CSDN博客

Go 1.16 即将发布,这些变更你需要知道

modules 的环境变量 GO111MODULE默认开关将为 on,不再是之前是 auto 了。 还在使用 GOPATH,或 Go modules 没切全的同学这一块需要特别注意。 新增 GODEBUG inittrace GODEBUG 新增 inittrace 指令,可以用于 init 方法的排查: $ GODEBUG=inittrace=1 go run main.go 输出结果: init internal/bytealg @0.008 ms, 0 ms clock, 0 bytes, 0 allocs init runtime @0.059 ms, 0.026 ms clock, 0 bytes, 0 allocs init math @0.19 ms, 0.001 ms clock, 0...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

Golang 应用集成 Prometheus 统计数据支持

goroutine,thread、gc、堆栈的基本信息。 # HELP go_gc_duration_seconds A summary of the GC invocation durations. # TYPE go_gc_duration_seconds summary go_gc_duration_seconds{quantile="0"} 0 go_gc_duration_seconds{quantile="0.25"} 0 go_gc_duration_seconds{quantile="0.5"} 0 go_gc_duration_seconds{quantile="0.75"} 0 go_gc_duration_seconds{quantile="1"} 0...阅读全文

博文 2022-11-24 10:33:09 CSDN博客

如何在 Debian 下配置邮件服务器

## mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.10.0/24 ## mailbox size in bytes. 0 denotes no limit ## mailbox_size_limit = 0 ## postfix will listen on all available interfaces i.e. eth0, eth1, eth2 and so on ## inet_interfaces = all transport 邮件域example.tst被定义为在本地传递不需要任何DNS查询。 root@mail:/etc/postfix# vim transport example.tst local...阅读全文

博文 2021-01-28 17:50:22 debian.cn

influxdb内存消耗分析及性能优化【探索篇】

Tasks: 364 total, 1 running, 363 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.4 us, 0.1 sy, 0.0 ni, 57.7 id, 41.8 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 65433892 total, 376024 free, 30179144 used, 34878724 buff/cache KiB Swap: 32833532 total, 32689404 free, 26624 used. 34607748 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9571 root 20 0...阅读全文

博文 2021-10-27 16:06:30 知乎

Debian 安装 fail2ban 方式SSH爆破攻击

-client status 需要查看 sshd 封禁情况可以运行: fail2ban-client status sshd Status for the jail: sshd |- Filter | |- Currently failed: 0 | |- Total failed: 0 | - File list: /var/log/auth.log - Actions |- Currently banned: 0 |- Total banned: 0 `- Banned IP list: 一般针对 OpenSSH 的加固,还可以修改默认的 22 号端口,并且禁止使用 root 帐号远程登录;有了 fail2ban,系统安全系数会明显提高。...阅读全文

博文 2019-03-27 16:45:58 debian.cn

Cortex: 高可用和水平扩展Prometheus监控系统

同的Prometheus实例设置cortex的远程写入。helm install stable/prometheus \ --name prom-one \ --set server.global.external_labels.cluster=one \ --set serverFiles."prometheus\.yml".remote_write[0].url=http://nginx.default.svc.cluster.local:80/api/prom/push 现在,我们将部署Grafana。下面的命令使用Grafana的配置功能在Pod启动时将Cortex添加为数据源。helm install stable/grafana --name=grafana \ --set...阅读全文

博文 2021-10-09 17:00:22 知乎

深入了解Docker背后的namespace技术

{ char **argv; }; // child_exec is the func that will be executed as the result of clone static int child_exec(void *stuff) { struct clone_args *args = (struct clone_args *)stuff; if (execvp(args->argv[0], args->argv) != 0) { fprintf(stderr, "failed to execvp argments %s\n", strerror(errno)); exit(-1); } // we should never reach here! exit(EXIT_FAILURE...阅读全文

博文 2015-05-17 10:03:00 debian.cn

使用apt

skel_path $base_path/skel # set var_path $base_path/var # set cleanscript $var_path/clean.sh # set defaultarch # 默认架构与镜像主机的架构一致,这里是amd64 # set postmirror_script $var_path/postmirror.sh # set run_postmirror 0 set nthreads 20 set _tilde 0 # ############# end config ############## deb http://ftp.cn.debian.org/debian jessie main contrib non-free deb http...阅读全文

博文 2021-01-28 17:50:18 mirror搭建debian镜像源

Docker 核心原理

*), void *child_stack, int flags, void *arg); 我们知道容器本质上就是隔离的进程,Docker 在创建容器的时候就是使用 namespace 来实现了容器与容器,容器与宿主机的隔离。 每个进程都有一个 /proc/[pid]/ns 的目录,里面保存了该进程所在对应 namespace 的链接, 我们来查看某个容器也就是某一个进程对应的 namespace 文件描述 1 2 3 4 5 6 7 8 9 10 root@lxkaka-server:~# ls -l /proc/23204/ns total 0 lrwxrwxrwx 1 root root 0 Jan 9 13:51 cgroup -> 'cgroup:[4026531835]' lrwxrwxrwx...阅读全文

博文 2021-02-25 09:14:23 lxkaka

使用 imagemagick 的 convert 命令处理图片

$convert image.png -crop 100x100 crop.png 可以指定裁剪位置的相对位置 -gravity: $convert image.png -gravity northeast -crop 100x100+0+0 crop.png -gravity即指定坐标原点,有northwest:左上角,north:上边中间,northeast:右上角,east:右边中间…… 5,旋转 -rotate $convert image.png -rotate 45 rotate.png 默认的背景为白色,我们可以指定背景色: $convert image.png -backround black -rotate 45 rotate.png $convert image.png...阅读全文

内网穿透利器frp部署配置指南

frp是一个使用go语言开发的反向代理服务,可用于内网穿透,支持tcp, udp协议,为http和https协议提供了额外的能力,且尝试性支持了点对点穿透。 由于ngrok 2.x已经闭源,ngrok 1.x已不再维护,所以这里尝试使用frp替代ngrok作为个人的内网穿透工具。 0.前提条件 一台Linux云主机(这里是CentOS 7),并要求具有固定公网IP暴露这台云主机指定端口的能力 有一个域名解析到这个公网IP,如frp.frognew.com和*.frp.frognew.com解析到这个公网IP 1. 下载frp服务端frps和客户端frpc可执行文件 分别在服务器和个人本地机器上,从[https://github.com/fatedier/frp/releases]下载对应平...阅读全文

博文 2021-02-18 14:42:16 青蛙小白

Linux下多线程程序为什么消耗大量虚拟内存

,跑至内存不再增加,果然valgrind显示没有任何内存泄露。反复试验了很多次,结果都是这样。 在多次使用valgrind无果以后,我开始怀疑程序内部是不是用到mmap之类的调用,于是使用strace对mmap,brk等系统函数的检测: strace -f -e"brk,mmap,munmap" -p $(pidof AuthServer) 其结果如下: [pid 19343] mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f53c8ca9000 [pid 19343] munmap(0x7f53c8ca9000, 53833728) = 0 [pid 19343...阅读全文

博文 2015-01-28 10:35:39 debian.cn

Linux系统诊断-内存基础

谈及linux内存,很多时候,我们会关注free,top等基础命令。当系统遇到异常情况时,内存问题的根因追溯,现场诊断时,缺乏深层次的debug能力。本篇幅不做深层讨论,能把当前系统的问题描述清楚,是每个SRE应该具备的最基础能力。free========2.1 free命令原理free是通过查看 /proc/meminfo 来获取内存的使用情况。但是 /proc/meminfo 这个文件又是怎么来的?我们先了解下 /proc 目录:/proc 是一个虚拟文件系统,该目录下的所有文件都是伪文件,该类文件只存在于内存中,并不占用空间——使用 du -sh 即可验证,该模具路下的磁盘占用都是0。/proc 下的所有文件都是内核调用proc_create() 接口来创建的虚拟条目。/proc 中...阅读全文

博文 2021-02-11 14:22:42 SegmentFault 思否

深入学习golang — channel

var ch2 <-chan int //ch2只能读 channel是类型相关的,也就是一个channel只能传递一种类型。例如,上面的ch只能传递int。 在go语言中,有4种引用类型:slice,map,channel,interface。 Slice,map,channel一般都通过make进行初始化: ci := make(chan int) // unbuffered channel of integers cj := make(chan int, 0) // unbuffered channel of integers cs := make(chan *os.File, 100) // buffered channel of pointers to Files 创建channel时...阅读全文

博文 2021-01-25 12:39:17 博客园

细数k8s支持的4种类型的container - 侃豺小哥

:9f1003c480699be56815db0f8146ad2e22efea85129b5b5983d0e0fb52d9ab70 Port: Host Port: Command: sh State: Running Started: Thu, 29 Aug 2019 06:42:21 +0000 Ready: False Restart Count: 0 Environment: Mounts: ... 可以使用以下命令连接到新的临时容器: kubectl attach -it example-pod -c debugger 如果启用了进程命名空间共享,则可以查看该 Pod 所有容器中的进程。 例如,运行上述 attach 操作后,在调试器容器中运行 ps 操作: # 在 "debugger" 临时容器内中运行此 shell 命令 ps auxww 运行命令...阅读全文

博文 2021-08-20 11:45:32 博客园

Python3: 二分法查找的两种实现方法

二分法查找是一种基础的、简单而高效的算法,又称为折半查找。顾名思义,就是将待查表一分为二,从而减少了查找次数,提高了效率。但缺点就是待查表必须为顺序表,并且待查表在查找时不宜做增删操作。 其最优时间复杂度为O(1),最坏时间复杂度为O(logn)。代码样例: ``` # coding:utf-8 方法一:递归法 def binarySearch_01(listx, item): """Be of recursion""" length = len(listx) if length > 0: #定义中间值下标: split = length // 2 if listx[split] == item...阅读全文

Debian及衍生版自动安装系统更新

" SYSTEM="**HOSTNAME.OF.SERVER**" NOTIFY_HOLDS="0" NOTIFY_NO_UPDATES="0" 打开 /etc/apt/listchanges.conf 以便配置 APT 来保存对数据库的更改 : [apt] frontend=pager email_address=**me@debian.cn** confirm=0 save_seen=/var/lib/apt/listchanges.db which=news 你也可以使用调试模式手动运行 unattended-upgrade ,看看它是否正常工作 : # unattended-upgrade -d...阅读全文

博文 2019-06-04 12:23:56 debian.cn

Debian 使用VSFtpd安装配置架设FTP服务器

0不限止 anon_max_rate 匿名最大传输速度,0为无限制 local_max_rate 本地用户最大传输速度,0为无限制 max_clients 最多客户端连接,0为无限制 max_per_ip 一个ip的最大连接数,0为无限制 更多的配置内容请访问vsftpd的官方网站查看: http://vsftpd.beasts.org/vsftpd_conf.html 配置本地组访问FTP 首先创建用户组clin003和FTP的目录 groupadd clin003-com (组名是随便取的,只是便于管理以后可以随时cat /etc/group |grep clin003-com) mkdir /tmp/clin003 (我直接给用户分配管理/var/www文件,用来管理apache的...阅读全文

博文 2021-01-28 17:50:09 debian.cn

基于Inception & Yearning做SQL审核的实践

/log/inception.log port=6669 socket=/var/run/inc.socket character-set-client-handshake=0 character-set-server=utf8 inception_remote_system_password=123 inception_remote_system_user=root inception_remote_backup_port=3306 inception_remote_backup_host=127.0.0.1 inception_support_charset=utf8mb4 inception_enable_nullable=0 inception_check_primary_key=1...阅读全文

博文 2018-08-13 17:39:45 debian.cn

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

="",dockerVersion="17.03.0-ce",kernelVersion="4.9.148",osVersion="CentOS Linux 7 (Core)"} 1 # HELP container_cpu_load_average_10s Value of container cpu load average over the last 10 seconds. # TYPE container_cpu_load_average_10s gauge container_cpu_load_average_10s{container_name="",id="/",image="",name="",namespace="",pod_name=""} 0...阅读全文

博文 2020-08-13 20:41:03 debian.cn

十个增加 Linux Shell 脚本趣味的小工具

"rsnapshot done :)" 输出: 下面是一个复杂一点的例子: .... alert=18000 live=$(lynx --dump http://money.rediff.com/ | grep 'BSE LIVE' | awk '{ print $5}' | sed 's/,//g;s/\.[0-9]*//g') [ $notify_counter -eq 0 ] && [ $live -ge $alert ] && { notify-send -t 5000 -u low -i "BSE Sensex touched 18k"; notify_counter=1; } ... 输出: 这里的参数解释如下: -t 5000:指定超时的时间,毫秒 -u low:设置是否紧急 -i gtk...阅读全文

博文 2018-04-09 09:38:50 debian.cn

Debian 9 使用kubeadm创建 k8s 集群(上)

: [worker1] changed: [worker2] TASK [set up authorized keys for the sammy user] **** changed: [worker1] => (item=ssh-rsa AAAAB3...) changed: [worker2] => (item=ssh-rsa AAAAB3...) changed: [master] => (item=ssh-rsa AAAAB3...) PLAY RECAP **** master : ok=5 changed=4 unreachable=0 failed=0 worker1 : ok=5 changed=4 unreachable=0 failed=0 worker2 : ok=5 changed...阅读全文

博文 2019-05-13 22:47:39 debian.cn

kubelet 中垃圾回收机制的设计与实现

的初始化以及 GarbageCollect 的启动:k8s.io/kubernetes/pkg/kubelet/container/container_gc.go:68func NewContainerGC(runtime Runtime, policy ContainerGCPolicy, sourcesReadyProvider SourcesReadyProvider) (ContainerGC, error) { if policy.MinAge < 0 { return nil, fmt.Errorf("invalid minimum garbage collection age: %v", policy.MinAge) } return &realContainerGC...阅读全文

博文 2021-02-05 17:48:22 知乎

Golang channel 通道常见使用场景

" ) var counter=0 func Increase1000(id int,done chan bool,mutex chan bool){ for i:=0;i<1000;i++{ mutex<-true //加锁 counter+=1 time.Sleep(time.Microsecond) <-mutex //解锁 } done<-true } func main() { mutex,done:=make(chan bool,1),make(chan bool) go Increase1000(1,done,mutex) go Increase1000(2,done,mutex) <-done;<-done log.Println(counter) }...阅读全文

博文 2021-01-24 21:22:22 debian.cn