2023年2月

因为想搞一个 centos 环境,但手头只有 debian,所以打算用 docker 搞一个 centos 环境

用了 spack/centos7 这个镜像,看起来自带 spack

sudo docker run -it spack/centos7 #运行 docker 
docker ps # 显示当前运行的 docker
sudo docker exec -it e165d3e15452 bash # 在已经运行的 docker 中执行 bash
sudo docker run --net=host --env HTTPS_PROXY="127.0.0.1:10987" --env HTTP_PROXY="127.0.0.1:10987" -it spack/centos7 # docker 设置 localhost 代理
sudo docker commit 94baf9f11069 blender # 保存正在运行 docker 的修改到新的 docker

一个纯个人兴趣需求导向的东西
用闲置的笔记本插上4T硬盘,当服务器配一个私有云服务器
宿舍不断电正好搞点事情x

需求主要是 当云盘远程读写东西,北邮人bt做种(不想用新电脑的ssd做种),远程播放视频图片

首先装一个 ubuntu 22 desktop, server 版没有 gui
老样子网络配 auth-thu

不得不说校园网公网 ipv4 是好文明
用 xrdp 搞一个远程桌面环境
看起来服务器同时只能起一个桌面环境,所以要关掉 gui 登录,改成 multiuser target

看了一圈好像 nextcloud 不错,尝试整一个
根据教程:nextcloud教程

sudo snap install nextcloud
sudo snap stop nextcloud
sudo snap start nextcloud
 /var/snap/nextcloud/common/nextcloud/data

发现这玩意跟我想要的不一样,我本质上是想整个远端文件 browser,但这玩意是直接搞出了一个单独的云盘,不太好直接链接本地的目录

转而用 filebrowser 这个东西
相当于开了一个 web 来浏览文件
对目录开启 filebrowser:

filebrowser -r $PWD -a $IP

打算拿组里不用的古董服务器配一个NAS,记一下从0开始配一下 ubuntu

sudo apt install ssh
ssh-keygen
#change ssh port 
sudo vim /etc/ssh/sshd_config
# port xxxx

# enable ufw
sudo ufw enable
sudo systemctl start ufw
sudo systemctl enable ufw
sudo ufw allow 3330/tcp
sudo ufw reload
sudo ufw status

#install xdrp
sudo apt install xrdp -y
sudo systemctl start xrdp
sudo systemctl enable xrdp
sudo systemctl status xrdp
sudo ufw allow 3389/tcp

然后装 nextcloud 服务端,根据 官网教程 配一下
修改 /etc/apache2/sites-available/nextcloud.conf,把端口改到14545
修改 /etc/apache2/ports.confListen 14545

sudo a2ensite nextcloud.conf
sudo systemctl restart apache2

sudo ufw allow 14545/tcp
sudo ufw reload

nextcloud database 端口 5432

开一个坑整理linux的奇妙命令

kill -s 9 $pid  # 强行停止
ps -aux #显示所有进程
watch -n 0.1 [exec] #间隔0.1s运行exec显示输出
chmod -R #对所有子文件夹chmod
nohup [command] & #将指令放在后台运行
~/.bash_history #bash历史,向下为更新
file [file] #查看文件信息
ln -s $SOURCE_DIR $TAR_DIR #创建软链接
pstree [username] #查看进程树
sudo netstat -tulpn #查看开放端口(t:tcp,u:udp,l:listening socket,p:pid and name, n:numerical address)
ls -d .v* #所有符合表达式的文件
ls -d .v*/ #所有符合表达式的目录
ls -Sl #按文件大小排序
[exec] >> [file] #追加输出
[exec] > /dev/null #抛弃输出
find [path] -name "*.c" #按文件名查找目录
find [path] -name "*.c" -exec grep  "str" {} + #查找目录下指定文件名的文件中包含的字符串str
env #查看目前环境变量
sudo systemctl start [service] #启动服务
readlink [file] #读取符号链接file的指向,-f 递归查找直到实际文件
dmesg #查看ring message 信息,包含开机信息及异常信息
nl [file] #将文件每行前添加行号,并输出
apropos [func] #查找man page
lsof [file] #查看打开文件的进程
lsof -t [file] | xargs kill -9 #kill所有打开文件file的进程
wall "[message]" #向所有用户终端发送信息 message
wget -e "https_proxy=127.0.0.1:10987" [url] #wget使用代理
cloc #统计目录代码行数

- 阅读剩余部分 -