0%

动态内存分配

动态内存分配的一个基本问题是同一个内存区域表示的对象可能存在多个指针,释放一个指针后别的指针可能还会使用
直接使用malloc/free ,new/delete分配内存有诸多不便:
•忘记释放内存,造成内存泄漏
•使用已经释放掉的对象
•同一块内存释放再次
为了解决以上问题,可以使用智能指针shared_ptr类

在boot盘新建一个空白文件ssh,一个wpa_supplicant.conf文件
编辑wpa_supplicant.conf文件:

1
2
3
4
5
6
7
8
9
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="abc"
psk="password"
priority=100

}

ipv6套warp
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh

systemd内存空间不够

报错Systemd - Failed to reload daemon: Refusing to reload, not enough space available on /run/systemd
解决:
append to /etc/fstab
none /run tmpfs defaults,size=64M 0 0

mount /run again
mount -o remount /run

now check df again
df -h /run

debian wifi固件缺失

添加源,debian11用bullseye替换stretch
buster:debian10    stretch:debian9    jessie:debian8

1
2
3
4
5
6
7
deb http://httpredir.debian.org/debian/ stretch main contrib non-free

sudo apt-get update
sudo apt-get install firmware-iwlwifi

modprobe -r iwlwifi
modprobe iwlwifi

mongodb 启动闪退

将mongodb.lock,log,db三个文件修改权限
chown -R mongodb:mongodb /var/log/mongodb/mongod.log
chown -R mongodb:mongodb /var/lib/mongodb/
rm -f /tmp/mongodb.lock

firefox 安装

1
2
3
4
5
6
7
8
9
sudo install -d -m 0755 /etc/apt/keyrings
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null
echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
' | sudo tee /etc/apt/preferences.d/mozilla
pt-get update && sudo apt-get install firefox

参考链接

不用vnc的chrome

ssh工具: mobaxterm
安装xserver组件

1
2
3
apt install xserver-xorg xserver-xorg-core xserver-xorg-legacy xorg xauth openbox
apt install chromium
chromium --no-sandbox

等待个5秒左右,本地电脑上会弹出一个chromium浏览器的窗口

conda安装配置

官网下载合适版本
‘’’
https://repo.anaconda.com/archive/
‘’’
配置环境变量后,conda init
每次打开终端不默认激活conda: conda config --set auto_activate_base False
conda list 查看base环境中的所有包
pip升级最新版本:
python -m pip install –upgrade pip
换源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

conda相关命令

创建新环境命名python311

1
conda create -n python311 python=3.11

配置jupyter notebook 远程访问

生成配置文件:

1
jupyter notebook --generate-config 

一般保存在~/.jupyter/jupyter_notebook_config.py
可用 jupyter notebook password 设置密码
设置notebook自动补全

1
2
3
4
5
6
pip3 install jupyter-tabnine
conda install -c conda-forge jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextension install --py jupyter_tabnine
jupyter nbextension enable jupyter_tabnine --py
jupyter serverextension enable --py jupyter_tabnine

运行图片相关代码报错:tesseract not found

1
apt install tesseract-ocr

selenium包使用

pip install pyvirtualdisplay selenium
apt install chromium-driver xvfb

xvfb-run python test.py

google-chrome安装

1
2
3
4
5
6
7

sudo apt update && sudo apt upgrade
sudo apt install software-properties-common apt-transport-https ca-certificates curl -y
curl -fSsL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/google-chrome.gpg >> /dev/null
echo deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main | sudo tee /etc/apt/sources.list.d/google-chrome.list
apt update
apt install google-chrome-stable

添加转发

netsh interface portproxy add v4tov4 listenport=新开的监听端口 listenaddress=新开端口的绑定地址 connectaddress=要转发的地址 connectport=要转发的端口 protocol=tcp
‘’’
netsh interface portproxy add v4tov4 listenport=12345 listenaddress=0.0.0.0 connectaddress=127.0.0.1 connectport=8118 protocol=tcp
‘’’

删除转发

netsh interface portproxy delete v4tov4 listenport=新开的监听端口 listenaddress=新开端口的绑定地址