Docker环境下安装AList过程与心得

最近在树莓派上使用Docker部署了AList作为个人云盘使用,同时AList还支持整合各大网盘资源,可以极大方便我管理自己的网盘资源,在这里记录一下部署的过程,供之后参考 Docker环境安装 在Linux环境中安装Docker非常方便,直接下载即可。我的树莓派是基于Debian的系统所以直接安装即可,没有遇到什么问题,注意国内网络需要在/etc/docker/daemon.json配置一下镜像源。 docker有效镜像源持续更新网站:Docker/DockerHub 国内镜像源/加速列表(2月15日更新-长期维护) 对于Windows系统,安装Docker的步骤相对比较复杂,参考文章:Windows 11:Docker Desktop 安装和配置指南,因为我是在树莓派上安装的AList,所以有关Windows系统部署AList的过程不在本文讨论中 安装完成后,执行systemctl status docker检查Docker服务是否正常运行 外接硬盘配置 为了能让AList担当个人云盘的功能,我在树莓派外部设置了一个1TB的机械硬盘用于存储数据,硬盘插在硬盘盒上,通过USB线与树莓派连接 连接硬盘后,命令sudo fdisk -l可以查看硬盘的相关信息 在Linux中连接一个硬盘后,一些图形化的系统可以自动挂载硬盘,我的树莓派系统也可以自动挂载,但默认挂载点是在/media的,我不想让它挂载在这个地方,于是决定手动挂载 创建目录:/mnt/1TB_disk作为指定挂载点,然后进行挂载: sudo mount /dev/sda1 /mnt/1TB_disk 挂载完成后,命令lsblk -f可以查看硬盘的文件系统类型、UUID等信息: FICN@FICN:~ $ lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sda └─sda1 exfat 1.0 67AF-3F5B 926.7G 1% /mnt/1TB_disk 但这样的话,每次连接硬盘时都需要手动挂载一次,很麻烦,所以可以使用autofs实现自动将连接的硬盘挂载至指定目录,当一段时间不使用硬盘资源时,autofs也会自动取消硬盘挂载 autofs自动挂载 sudo apt-get install autofs下载autofs,然后systemctl enable autofs、systemctl start autofs启动服务,创建/etc/auto.master添加: /mnt /etc/auto.disk --timeout=60 最后创建/etc/auto.disk并设置: 1TB_disk -fstype=exfat,raw,noatime :/dev/disk/by-uuid/67AF-3F5B 这里指定了硬盘文件系统类型为exfat,并使用UUID来指定需要被挂载的硬盘,这两个都是之前执行lsblk -f命令获得的信息 如此配置后,硬盘将被自动挂载至/mnt/1TB_disk目录 最后还要禁用系统原有的自动挂载服务:systemctl stop fstab、systemctl disable fstab ...

February 17, 2025

kubeadm init 等待超时问题

问题描述 配置master节点时,执行kubeadm init --config kubeadm-config.yaml --v=5命令后,执行至初始化Pod步骤时报错: [wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s [kubelet-check] Initial timeout of 40s passed. Unfortunately, an error has occurred: timed out waiting for the condition This error is likely caused by: - The kubelet is not running - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled) ...... 经过检查,host配置无误,cluster的IP地址也与本机相同 ...

January 15, 2025

Docker配置阿里云镜像后仍报错问题

Kubernetes需要使用docker作为运行时,在Linux机器上安装docker后,尝试拉取hello-world镜像时出现问题 安装docker时一切都很顺利: sudo apt update sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker 但在进行docker pull hello-world拉取镜像时报错: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceed ed while awaiting headers) 解决方法 首先需要更换docker源,这里使用阿里云镜像加速器与另一个自己收集的源。进入/etc/docker/daemon.json文件中如此配置: { "registry-mirrors": [ "https://ok5mwqnl.mirror.aliyuncs.com", "https://docker.1ms.run" ] } 配置完成后执行sudo systemctl restart docker重启docker服务 重启后运行docker pull hello-world仍失败,报错信息与先前一致 这时考虑DNS配置问题,进入/etc/resolv.conf文件,在原有的若干nameserver之上再增加两条: # Generated by NetworkManager nameserver 8.8.8.8 nameserver 8.8.4.4 # 此处为原有的若干行nameserver # ... 配置完成后运行docker pull hello-world,成功拉取镜像,执行sudo docker images查看本地镜像: ...

January 13, 2025

网安数基复习

中国剩余定理 设$m_1,m_2,\dots,m_k$两两互素,则方程组: $$ \begin{equation} \begin{cases} x\equiv a_1(\bmod\space m_1) \\ x\equiv a_2(\bmod\space m_2) \\ \dots \\ x\equiv a_k(\bmod\space m_k) \end{cases} \end{equation} $$有唯一解:$x\equiv M_1M_1^{-1}a_1+M_2M_2^{-1}a_2+\dots+M_kM_k^{-1}a_k(\bmod\space m)$ 其中,$m=m_1m_2\dots m_k$,$M_i=\frac m{m_i}$,$M_iM_i^{-1}\equiv 1(\bmod\space m_i)$ RSA密码算法 密钥生成 选择两个保密的大素数$p$、$q$ 取$n=p*q$,并计算$n$的欧拉函数值:$\varphi(n)=(p-1)*(q-1)$ 选择一个介于1与$\varphi(n)$之间的整数$e$,且满足$\gcd(\varphi(n),e)=1$,即与$\varphi(n)$互素 计算$e^{-1}(\bmod\space\varphi(n))$得到$d$ 将公钥设为$(e,n)$,私钥为$(d,n)$ 加密 $$ c\equiv m^e(\bmod\space n) $$解密 $$ m\equiv c^d(\bmod\space n) $$Rabin密码算法 密钥生成 固定了$e=2$,且p、q的阶需要相同 公钥为$n$,私钥为$(p,q)$ 加密 $$ c\equiv m^2(\bmod\space n) $$解密 相当于求解二次同余方程$x^2\equiv c\bmod n$,等价于求解$x^2\equiv c\bmod p$与$x^2\equiv c\bmod q$,即: $$ \begin{equation} \begin{cases} x\equiv \sqrt c\bmod p \\ x\equiv \sqrt c\bmod q \\ x\equiv -\sqrt c\bmod p \\ x\equiv -\sqrt c\bmod q \end{cases} \end{equation} $$求解后一共会产生四组解,逐个验证并选择有意义的一项作为明文即可 ...

January 1, 2025

复杂网络复习

随机网络和相关统计量 上课所指的是G(N, p)模型的生成 假设有N个节点,每次选中其中两个节点,然后生成一个0到1之间的随机数,如果这个随机数小于p,则在这两节点直接增加一个链接,否则不放置链接 统计量: 度:邻居数量 平均度:所有节点度的平均数 度分布:随机选取一个节点,其度值恰好为k的概率 路径 距离与网络直径:网络中的最大距离称为网络直径 介数:通过该节点的最短路径条数(或一个节点在网络中所有最短路径中出现的频率),条数越多,说明这个节点越重要 集聚系数:刻画某个节点相邻的两个节点彼此也相邻的概率 一个度为$k_i$的节点i的聚类系数$C_i$定义为$C_i=\frac{2E_i}{(k_i(k_i-1))}$,其中$E_i$是节点i的$k_i$个邻居节点之间实际存在的邻居对的数目 整个网络的集聚系数就是所有节点聚类系数的平均值,是一个0到1之间的值,越偏向0说明网络越松散,否则越集聚(每个节点都相连) 同配性:考察度值相近的节点是否倾向于互相连接 如果总体上度大的节点倾向于连接度大的节点(趋于和它近似的节点相连),那么就称网络的度正相关的,或称网络是同配的;如果总体上度大的节点倾向于连接度小的节点,那么就称网络的度负相关的,或者称网络是异配的 用同配系数来度量,-1为负相关(异配性),+1为正相关(同配性),0为不存在相关 邻接矩阵:描述一个网络拓扑结构 网络模型 无标度网络:是一种度分布(即对复杂网络中节点度数的总体描述)服从或者接近幂律分布(一个量是另一个量的幂次方)的复杂网络 BA无标度网络:首先,过去的网络没有考虑现实网络的增长特性(网络的规模是不断扩大的);其次,没有考虑现实网络的优先连接特征(新的节点更倾向于与那些具有较高度的“大”节点相连接),基于此提出BA无标度网络,其中包含了网络的增长和优先连接特点 增长:在网络中每次增加一个节点,这个节点与网络中的一部分原有节点连接(可以是全部原有,也可以仅仅是一部分) 优先连接:一个新节点与一个已经存在的节点相连接的概率与节点的度成正比 拷贝模型:主要是考虑到例如互联网中互相引用的静态网页,当新增一个网页,大概率是会与其他类型相似的静态网页引用相同的内容,此时就需要对网络结构进行拷贝复制 无标度性、高聚类系数、层次结构和模块化 每次增加一个新节点,对于这个新节点,选择一个母节点并复制其所有连接,最后再以一定概率删除一部分连接 复制模型更加自然地模拟了基于“模仿”的连接机制,而 BA 模型强调“富者愈富”的优先连接原则 配置模型:在复杂网络研究中用于生成具有特定度分布(但边的具体连接方式随机)的随机网络模型 度分布、随机连接、无偏结构(在给定度分布的条件下具有最大随机性) 给定一个网络度序列$\{k_1,k_2,\ldots,k_N\}$,然后为每一个独立的节点配置数量为$k_i$的半边,最后将所有的半边与另一节点的半边随机两两连接起来 可以生成任意指定的度分布,不要求是幂律的;是一种静态模型,只需要输入度序列,无需生长机制 仅能保证度的分布,但无法生成复杂结构;此外还可能会有自环和多重边的出现 隐藏参数模型:通过引入一些未直接观察到的“隐藏参数”来解释节点之间的连接概率,这些隐藏参数通常代表节点的某些潜在特性或属性,这些特性影响节点之间形成连接的可能性 灵活性、解释性、适用性 为每个节点分配一个或多个隐藏参数$\theta_i$,再定义一个连接概率函数(通常就是隐藏参数的函数)$P(i,j)=f(\theta_i,\theta_j)$,然后再根据这个连接概率函数在两个节点之间生成边 更关注节点的隐藏属性 选择合适的隐藏参数和连接函数可能较为复杂;计算和优化隐藏参数可能需要大量的计算资源 评价网络是否同配 同配是指网络中度数大的节点更倾向于与同样度数大的节点连接 全统计描述(Full Statistical Description) 使用 $e_{jk}$ 矩阵表示随机选择的边两端的节点分别具有度数 $j$ 和 $k$ 的概率 如果网络没有度相关性,$e_{jk}$ 应满足特定的公式:$e_{jk} = q_j q_k$,其中 $q_k$ 是具有度数 $k$ 的节点出现在边上的概率 也就是说,如果网络没有同配关系,那么理应有【左右两端节点概率】等于【左端节点概率】乘【右端节点概率】 偏离该预测的情况可以作为度相关性的标志,即同配 / 异配 ...

December 25, 2024