安固途径

知识来源于感觉和经验

Debian 为基的 docker 镜像如何安装新版 cargo

2023-04-28, 星期五|
linux安装

Debian 为基的 docker 镜像如何安装新版 cargo,你需要这三句指令

1. 利用 curl 下载并执行

远端 rustup-init.sh

RUN curl https://sh.rustup.rs -sSf | sh -s -- -y

2.指定 Dockerfile Shell

以执行 source 命令

SHELL ["/bin/bash", "-c"]

3. 利用 source 加载 cargo

RUN source "$HOME/.cargo/env" && pip3 install -r requirements.txt

最终

的代码

SHELL ["/bin/bash", "-c"]

# Install Rust and Cargo
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
RUN source "$HOME/.cargo/env" && carg
...
阅读全文

“方正舒同行书”字体

2023-04-23, 星期日|
安装资源

方正舒同行书

“方正舒同行书”字体下载

...
阅读全文

Crontab 启动 nodejs 脚本失效

2023-04-21, 星期五|
linux系统设置

开发环境

  • Ubuntu 20

问题

待执行的脚本 a.js,其权限为可执行,且

Shebang 设置为

#!/usr/bin/env node

在计算领域中,Shebang(也称为Hashbang)是一个由井号和叹号构成的字符序列 #! ,其出现在文本文件的第一行的前两个字符。-- 维基百科

最终在 Crontab 执行时无用。

调试过程

通过查看 crontab log

tail -f /var/log/cron.log

如果没有开启 Crontab log 的话,可以先开启一下 log

sudo vim /etc/rsyslog.d/50-default.conf

解决办法

将 Shebang 设置为

#!/usr/local/bin/node

更多

可以通过 crontab -e 来编辑用户 crontab 脚本,或通过命令 crontab -l 来列出当前用户的所有 crontab 脚本。

...
阅读全文

macOS 网络没有掉线但是打不开百度的解决办法

2023-04-16, 星期日|
macOS修复

现象

  1. Chrome 浏览器报错

用谷歌浏览器访问网站 https://www.baidu.com, 访问不畅。报错

ERR_ADDRESS_INVALID
  1. 在终端中 ping

ping www.baidu.com, 能够获得 IP 地址,且能 ping 通,无丢包

  1. 在终端中用 curl
➜  ~ curl -I https://www.baidu.com
curl: (7) Couldn't connect to server

怀疑

连接了同样的 WIFI 的移动设备能够访问百度和一些其他网站,但是 macOS 却任意网站都不能访问,可以排除是路由器互联网连接的问题。

假设是 macOS 系统的某些端口被占用,引发了资源不足。

尝试解决

关闭掉运行着的开发服务,关闭 vscode, 然后重新访问百度等网站。

转变

现在能够在 Chrome 中访问百度,然而问题并没有解决,因为只有某些网站能够访问,而另外一些网站不能访问,或者某一些网站的资源加载不完全。且 Safari 始终不能访问百度。

只好重启一下电脑了。

2分钟重启好了。

实在找不到具体的原因,很有可能是 Chro

...
阅读全文

wget 无法使用 https 协议的 https_proxy

2023-02-25, 星期六|
linux网络设置

问题描述

wget 使用 https 协议的代理使用不上?有没有遇到过这种情况?

我有遇到过这种情况,如下配置了 https_proxy 的地址

export https_proxy=https://user:pass@some.example.com:443
wget https://www.baidu.com

不会得到正确的响应,如下

无法读取代理响应:连接被对方重设

连接已经重置。

问题的分析

并不是因为代理服务器的用户名或密码未设置,因为即便设置了 wget 参数 --proxy-user=, 以及 --proxy-password= 也会是同样的错误。

这是由于代理服务是 https 协议的缘故。

问题的处理

处理办法是将 https 中的 s 拿掉,直接用 http 协议的代理,并重新指定 http 代理的端口。

防火墙阻断

出现新的问题。

但是如果直接用 http 协议的代理,那么仍然无法访问国外的 http 资源,这是因为众所周知的网络原因。

于是,为了能够让 http 协议的代理能够访问国外的 http 资源,就得另想办法。

我想到的办法是,在 http 协议外加

...
阅读全文