0%

简介

Debian 8 已经被标记为更旧的稳定版 (oldoldstable), 现在最新的文档版为 Debian 10 (buster), 该文档主要记录升级过程

注意: 升级过程最好使用 screen 等工具, 预防因为 ssh 中断导致的升级中断出现的不可预料的情况

阅读全文 »

简介

远程主机都是通过 ssh 连接的, 在关闭连接之后会结束当前正在执行的命令, 很多时候运行一些重要的命令或者需要长时间运行的命令时, 希望能在 ssh 连接断开后继续执行, 例如系统升级, 系统备份, ftp 传输等

Screen 是一款由 GNU 计划开发的用于命令行终端切换的自由软件, 可以通过该软件同时连接多个本地或者远程的命令行会话, 并且可以自由切换, 在结束 ssh 连接后, screen 仍然会保持其命令行会话一直执行

阅读全文 »

简介

Swap 分区的功能

刷新

1
2
3
4
5
6
# 临时关闭 swap
swapoff -a
# 开启
swapon -a
# 使操作生效, 不用重启
sysctl -p

上面操作可以将 Swap 的数据转储到内存, 并清空 Swap

不使用 Swap

配置尽量不使用交换分区

1
2
3
echo "vm.swappiness=0" >> /etc/sysctl.conf
# 使操作生效
sysctl -p

禁用 Swap

通过注释掉 Swap 配置来禁用交换区

1
2
3
4
5
6
7
8
9
10
11
# 查找交换分区
blkid
/dev/vda1: UUID="xxx" TYPE="ext3" PARTUUID="zzz"
/dev/vda2: UUID="yyy" TYPE="swap" PARTUUID="aaa"
# 识别 Swap 分区
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 254:0 0 45G 0 disk
├─vda1 254:1 0 44.8G 0 part /
└─vda2 254:2 0 256M 0 part [SWAP]
1
2
3
4
5
6
7
8
9
10
11
12
13
// 注释掉 swap 分区
vi /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
/dev/vda1 / ext3 errors=remount-ro 0 1
# swap was on /dev/sda2 during installation
# /dev/vda2 none swap sw 0 0

简介

VOLUME 指令可以指定一个或多个目录作为容器的数据卷, 之后就算容器被删除了, 被指定目录的数据依然存在

容器运行时应该尽量保持容器存储层不发生写操作, 对于需要动态修改数据的应用, 其动态数据文件应该保存在卷 (VOLUME) 中

VOLUME 可以简化 Dockerfile 的存储层复杂度, 如果有存储层的变化, 只需要更新对应目录的数据即可, 而不需要重新打包镜像

阅读全文 »

简介

Spring 管理着容器, 容器作用域有两个

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* Scope identifier for the standard singleton scope: {@value}.
* <p>Custom scopes can be added via {@code registerScope}.
* @see #registerScope
*/
String SCOPE_SINGLETON = "singleton";

/**
* Scope identifier for the standard prototype scope: {@value}.
* <p>Custom scopes can be added via {@code registerScope}.
* @see #registerScope
*/
String SCOPE_PROTOTYPE = "prototype";

SCOPE_SINGLETON 是单例模式, SCOPE_PROTOTYPE 是原型模式

还有两个是基于 Web 服务的

1
2
3
4
5
6
7
8
9
10
11
/**
* Scope identifier for request scope: "request".
* Supported in addition to the standard scopes "singleton" and "prototype".
*/
String SCOPE_REQUEST = "request";

/**
* Scope identifier for session scope: "session".
* Supported in addition to the standard scopes "singleton" and "prototype".
*/
String SCOPE_SESSION = "session";
阅读全文 »