首页
关于
留言
Search
1
红米 AX3000 (AX6) 路由器解锁 SSH 教程
6,676 阅读
2
网盘挂载程序sharelist美化教程
4,216 阅读
3
小米路由器 AX3600 开启SSH教程,官方固件即可安装 ShellClash开启科学上网
2,168 阅读
4
Oracle 甲骨文 ARM VPS 自动抢购脚本
1,819 阅读
5
编译带PassWall和SSR-plus插件的Openwrt系统
1,393 阅读
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
登录
Search
标签搜索
Java
Linux
Mysql
IDEA
Debian
Docker
Springboot
CentOS
Cloudflare
Maven
JavaScript
SQL
Wordpress
宝塔
Nginx
Windows
MacBook
JS
CSS
Openwrt
William
累计撰写
144
篇文章
累计收到
702
条评论
首页
栏目
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
页面
关于
留言
搜索到
144
篇与
的结果
2020-10-12
此内容被密码保护
加密文章,请前往内页查看详情
2020年10月12日
27 阅读
0 评论
0 点赞
2020-09-22
Linux 用户切换、修改用户名、修改密码
一、切换用户"$":普通用户提示符"#":root用户提示符1.普通用户到root:方式一:命令:su然后输入root密码此种方式只是切换了root身份,但Shell环境仍是普通用户的Shell,pwd命令一下,目录仍然是普通用户的工作目录。方式二:命令:su -然后输入root密码此种方式,是连用户和Shell环境一起切换成root身份。 工作目录变成root的工作目录,pwd命令一下,即可看到。只有切换用户,才不会出现PATH环境变量错误。可以用命令 echo $PATH 看一下su、su - 后的环境变量有何不同。由此类推,从当前用户切换到其它用户也一样,应使用su -命令。2.root到普通用户命令:su 普通用户名 或 exit二、修改普通用户用户名su - 或 su - root(到root用户下。 注意要使用su -,原因见下文)usermod -l 新用户名 -d /home/新用户名 -m 老用户名 (英文L)注意:网上有些人方法是usermod -l 新用户名 老用户名,但这种方法只改了表面,你用pwd命令看一下,路径还是之前的用户名。三、修改密码修改普通用户密码命令:su - root 获取root权限 命令:passwd 用户名 如passwd wyc 输入两遍新密码修改 root密码root用户下执行命令:passwd 超级用户名 ,然后输入两遍新root密码非root用户执行:sudo passwd,输入两遍新root密码
2020年09月22日
33 阅读
0 评论
0 点赞
2020-09-02
小米路由器Openwrt固件修改代码超频至1100MHZ
推荐4.14内核,v2瑞性能是最好的,比新内核5.4强40%更换内核方法:打开LEDE目录/target/linux/ramips/MakefileKERNEL_PATCHVER:=4.14KERNEL_TESTING_PATCHVER:=4.14Lean的内核4.14的源码包下载在openwrt目录,设置在lede\target\linux\ramips\patches-4.14\102-mt7621-fix-cpu-clk-add-clkdev.patch文件,通过设置CPU频率寄存器,可以提升MT7621的频率修改一: 第68行,即下方第4行高亮代码#define MT7621_GPIO_MODE_UART1 1 #define MT7621_GPIO_MODE_I2C 2 #define MT7621_GPIO_MODE_UART3_MASK 0x3 @@ -113,49 +113,93 @@ static struct rt2880_pmx_group mt7621_pi { 0 } };修改二,第113和156-160行+void __init ralink_clk_init(void) +{ + u32 syscfg, xtal_sel, clkcfg, clk_sel, curclk, ffiv, ffrac; + u32 pll, prediv, fbdiv; // 下面一行,后面加了 i + u32 xtal_clk, cpu_clk, bus_clk,i; + const static u32 prediv_tbl[] = {0, 1, 2, 2}; + + syscfg = rt_sysc_r32(SYSC_REG_SYSTEM_CONFIG0); + xtal_sel = (syscfg >> XTAL_MODE_SEL_SHIFT) & XTAL_MODE_SEL_MASK; + + clkcfg = rt_sysc_r32(SYSC_REG_CLKCFG0); + clk_sel = (clkcfg >> CPU_CLK_SEL_SHIFT) & CPU_CLK_SEL_MASK; + + curclk = rt_sysc_r32(SYSC_REG_CUR_CLK_STS); + ffiv = (curclk >> CUR_CPU_FDIV_SHIFT) & CUR_CPU_FDIV_MASK; + ffrac = (curclk >> CUR_CPU_FFRAC_SHIFT) & CUR_CPU_FFRAC_MASK; + + if (xtal_sel <= 2) + xtal_clk = 20 * 1000 * 1000; + else if (xtal_sel <= 5) + xtal_clk = 40 * 1000 * 1000; + else + xtal_clk = 25 * 1000 * 1000; switch (clk_sel) { case 0: - clk_sts = rt_sysc_r32(SYSC_REG_CUR_CLK_STS); - cpu_fdiv = ((clk_sts >> 8) & 0x1F); - cpu_ffrac = (clk_sts & 0x1F); - cpu_clk = (500 * cpu_ffrac / cpu_fdiv) * 1000 * 1000; + cpu_clk = 500 * 1000 * 1000; break; - case 1: - fbdiv = ((rt_sysc_r32(0x648) >> 4) & 0x7F) + 1; - syscfg = rt_sysc_r32(SYSC_REG_SYSCFG); - xtal_mode = (syscfg >> 6) & 0x7; - if (xtal_mode >= 6) { - /* 25Mhz Xtal */ - cpu_clk = 25 * fbdiv * 1000 * 1000; - } else if (xtal_mode >= 3) { - /* 40Mhz Xtal */ - cpu_clk = 40 * fbdiv * 1000 * 1000; - } else { - /* 20Mhz Xtal */ - cpu_clk = 20 * fbdiv * 1000 * 1000; - } + pll = rt_memc_r32(MEMC_REG_CPU_PLL); // 加了下面4行 + pll &= ~(0x7ff); + pll |= (0x362); + rt_memc_w32(pll,MEMC_REG_CPU_PLL); + for(i=0;i<1024;i++); + fbdiv = (pll >> CPU_PLL_FBDIV_SHIFT) & CPU_PLL_FBDIV_MASK; + prediv = (pll >> CPU_PLL_PREDIV_SHIFT) & CPU_PLL_PREDIV_MASK; + cpu_clk = ((fbdiv + 1) * xtal_clk) >> prediv_tbl[prediv]; break;将原代码改为上面红色字体三行代码,其中"0x362"这个位置的值,对应的是1100Mhz的频率设置频率设置值的换算如下,0x362 =1100Mhz/20Mhz -1 = 5454*16+2 = 866866转为十六进制就是0x362相应的,1000Mhz--0x3121200Mhz--0x3B2保存文件,重新编译,之前最好是能编译成功一次make clean(一定要这个清除命令否则改动不会编译进去)make -j1 V=s (如果之前已经成功编译过,可以用多线程编译)openssl加解密性能测试进入ssh,输入下面命令测试openssl speed -evp aes-128-gcm测试结果Openwrt超频1100Mhz,以1024字节为例是8887k 880Mhz1100MhzOpenwrt7112k8887kPandavan6217k7768kaes-128-gcm测试成绩从原来的6209k/s提升到7768k/s,性能提升25%Openwrt用的4.14内核,效能比Padavan3.4内核好很多油管,Trojan能跑到50mpbs,强烈推荐MT7621跑trojan油管性能测试对比 880Mhz1100MhzOpenwrt18mbps22mbpsPandavan13mbps16mbps此方法不光对小米路由AC2100有效,对MT7621的路由器应该都有效。
2020年09月02日
1,271 阅读
0 评论
0 点赞
2020-08-20
Docker实现容器数据持久化的两种方法 Bind volume 和 Volume
Docker中的数据,比如Mysql,Redis这些,在容器重启或被删除以后,数据是不会保留的,也就是说数据没有持久化。在Docker中实现数据持久化有两种方式:Bind Mount:Bind mount 方式是 docker 早期使用的容器与宿主机数据共享的方式,可以实现将宿主机上的文件或目录挂载(mount)到 docker 容器中使用。相对于 volume 方式,bind mount 方式存在不少的局限。例如,bind mount 在 Linux 和 Windows 操作系统下不可移植。因此 docker 官方推荐使用 volume 方式。William在这里以Mysql镜像为例子,将/home/mysql目录挂载到容器的/var/lib/mysql目录中docker run --name mysql -it -p 3306:3306 -v /home/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql对于bind mount,有几点需要注意。-v 宿主机目录路径必须以 / 或 ~/ 开头,否则 docker 会将其当成是 volume 而不是 bind mount如果宿主机上的目录不存在,docker 会自动创建该目录如果容器中的目录不存在,docker 会自动创建该目录如果容器中的目录已有内容,那么 docker 会使用宿主机上目录的内容覆盖容器目录的内容Volume:与 bind mount 不同,volume 由 docker 创建和管理,docker 所有的 volume 都保存在宿主机文件系统的 /var/lib/docker/volumes 目录下(但是macOS 是以虚拟机形式运行 docker的,因此并不存在该目录,可以参考 stackoverflow)。Docker 引入 volume 的原因有:删除容器时,volume 不会被删除在不同的容器之间共享 volume (存储 / 数据)容器与存储分离将 volume 存储在远程主机或云上可以使用 docker run -v 参数为启动容器加载一个 volume,例如(最新版本镜像默认不用加tag,特定版本要加):docker run --name mysql_test -d -p 3306:3306 -v /data -e MYSQL_ROOT_PASSWORD=123456 mysql:tag这时候就启动了一个名为mysql_test的mysql容器,使用docker exec -it mysql_test bash进入到mysql_test容器中的data目录创建一个文件 touch test.txt 然后退出容器,使用inspect命令查看刚才容器启动时做了什么:docker inspect mysql_test可以看到一大串 JSON 格式的输出,我们重点关注 Mounts 字段的输出:"Mounts": [ { "Type": "volume", "Name": "57be41568e142560aaf333beb9a4dd7b79a37c78a45a4d930a31455f24fe7d13", "Source": "/var/lib/docker/volumes/57be41568e142560aaf333beb9a4dd7b79a37c78a45a4d930a31455f24fe7d13/_data", "Destination": "/data", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" }, { "Type": "volume", "Name": "6d826d6b7b2c00d4f78cedadf997d393b51cb79b5a65b531372274c806efc3ce", "Source": "/var/lib/docker/volumes/6d826d6b7b2c00d4f78cedadf997d393b51cb79b5a65b531372274c806efc3ce/_data", "Destination": "/var/lib/mysql", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ]可以看到,当容器 mysql_test 加载一个 volume (/data)时,docker 在目录 /var/lib/docker/volumes/ 创建一个新的目录,用来存储容器中产生的文件。同时,我们注意到 /data 的 RW 属性为 true,即可读可写。重新启动 container1 容器,再进入容器会发现刚才创建的test.txt还在,说明即使容器关闭,之前在 volume 存储的文件仍然会保留下来,即数据持久化没问题!先停掉容器docker stop mysql_test,再删掉容器 docker rm mysql_test,使用命令 docker volume ls可以看到,刚才的两个volume57be41568e142560aaf333beb9a4dd7b79a37c78a45a4d930a31455f24fe7d13 6d826d6b7b2c00d4f78cedadf997d393b51cb79b5a65b531372274c806efc3ce仍然存在。也就是说,即使容器不存在了,volume 仍可在宿主机上保存下来。如果需要在其他容器也使用这个 volume,可以使用以下命令加载指定的 volume:docker run -it -v 57be41568e142560aaf333beb9a4dd7b79a37c78a45a4d930a31455f24fe7d13:/data container_name挂载指定的 volume上面的 docker run -v 命令中,我们并没有指定 volume 的名称,这样 docker 会默认给我们创建一个匿名的 volume,就是很长的那字符串。我们也可以挂载指定名称的 volume:docker run -it -v my-volume:/data --name 自定义容器名 镜像名:tag这样,我们在启动容器该容器时,将挂载一个名为 my-volume 的 volume,并挂载到容器的 /data 目录。对于 docker 来说,如果 my-volume 不存在,那么 docker 就会自动创建该 volume,并挂载到 /data 目录。比如运行的是Reids:docker run -d -it -v redis_volume:/data --name myRedis redis执行 docker volume inspect redis_volume 查看redis挂载的volume信息可以看到 my-volume 的 JSON 输出信息:[ { "CreatedAt": "2020-08-24T09:33:30-04:00", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/redis_volume/_data", "Name": "redis_volume", "Options": null, "Scope": "local" } ]可以看到redis_volume的宿主机目录位置是:/var/lib/docker/volumes/redis_volume/_data除了让 docker 帮我们自动创建 volume,我们也可以自行创建 volume:docker volume create my-volume删除volume命令是:docker volume rm volume-name然后将这个手工创建的 volume 挂载到容器:docker run -d -v redis_volume2:/data --name myRedis001 redis
2020年08月20日
139 阅读
0 评论
0 点赞
2020-08-19
在SpringBoot的application.yaml文件配置schema却无法执行sql
William看的教程里面用的是1.5.1的springboot,但是William自己用的是2.3.3的。教程里是没有这种问题的,但是我这个高版本有这个问题。在application.yml中加入:schema - classpath:sql/department.sql - classpath:sql/employee.sql将sql文件统一放在resources文件夹下的sql文件夹中。不执行的原因是少了这一句:initialization-mode: always 要把它添加在application.yml中
2020年08月19日
44 阅读
0 评论
0 点赞
2020-08-18
解决连接Docker中的Mysql速度慢问题
问题描述:由于MySQL是使用Docker容器搭建起来的,William在数据库连接中,发现比平时的连接速度变慢了不少,每次连接大概延迟了10秒左右。排查过程1、 服务器资源查看系统的CPU、网络等负载,无异常。2、数据库连接池检查是否连接数过多导致,登入MySQL后kill掉一部分连接,发现还是连接缓慢。3.、网络问题在ping服务器的时候并没有出现数据包延迟、丢包现象。网络问题排除。4、DNS解析问题修改MySQL配置文件,添加skip-name-resolve:先进入到Mysql容器中:docker exec -it container-name bash编辑Mysql配置文件: vim /etc/mysql/my.cnf 在文件的[mysqld]这一部分的最后添加skip-name-resolve如下所示:[mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL skip-name-resolve5、推出容器,重启mysql容器:docker restart container-id
2020年08月18日
454 阅读
0 评论
0 点赞
2020-08-18
Debian10更换为163源
debian10的官方代号是buster1、备份mv /etc/apt/sources.list /etc/apt/sources.list.bak2、修改文件vim /etc/apt/sources.list复制以下代码粘贴进去source.list中:deb http://mirrors.163.com/debian/ buster main non-free contrib deb http://mirrors.163.com/debian/ buster-updates main non-free contrib deb http://mirrors.163.com/debian/ buster-backports main non-free contrib deb-src http://mirrors.163.com/debian/ buster main non-free contrib deb-src http://mirrors.163.com/debian/ buster-updates main non-free contrib deb-src http://mirrors.163.com/debian/ buster-backports main non-free contrib deb http://mirrors.163.com/debian-security/ buster/updates main non-free contrib deb-src http://mirrors.163.com/debian-security/ buster/updates main non-free contrib3、更新软件源apt-get update
2020年08月18日
90 阅读
0 评论
0 点赞
2020-08-18
Debian永久修改DNS
网上有很多方法都是体验非常不好的, 或者说无效的,William在外国的一个网站上看到说安装resolvconf,然后修改head文件的,这方法能用是能用,但是无端的又加了个自启动服务,给服务器多加了个负担。另外,William曾被一个方法害过!就是修改/etc/network/interfaces这个文件,说在文件最后面添加dns-nameservers的,直接导致VPS失联!失联!失联!最后William无奈选择删掉实例重新开一台最后William找到了永久修改Debian9+的DNS方案,理论上debian都可行,debian9以下的没测试(理论上都没问题),此方法彻底解决重启DNS配置失效问题执行命令:vim /etc/dhcp/dhclient.conf在这一行代码下面 #prepend domain-name-servers 127.0.0.1;supersede domain-name-servers 8.8.8.8, 1.1.1.1;cloudflare的 1.1.1.1 和谷歌的 8.8.8.8 是 William 比较喜欢的 DNS,而且 William 的服务器是在国外,所以这两个相对较好,当然你可以换成自己的喜欢的,比如阿里云的,dnspod的。如果是国内的服务器可以换成 129.29.29.29、 223.5.5.5、 114.114.114.114这些执行 /etc/resolv.conf 就可以看到你刚才修改的dns。另外,如果不想永久修改DNS,只是暂时修改,也是修改/etc/resolv.conf在里面加入 nameserver 1.1.1.1 和 nameserver 8.8.8.8,注意,一行一个,别两个nameserver放在一行
2020年08月18日
465 阅读
0 评论
1 点赞
1
...
14
15
16
...
18