小编has*_*sen的帖子

如何检查库是否已安装?

在 Linux 中,如何检查是否安装了库?(当然从命令行)。

在我现在的特定情况下,我想检查是否安装了 libjpeg。

linux libraries

196
推荐指数
6
解决办法
44万
查看次数

多个目录的原子复制

这个问题是关于 Web 应用程序的部署。

介绍(可以跳过)

我正在使用 django,我的托管服务提供商设置他们的 django 支持的方式最终导致 webapp 分散在至少三个位置:

  • 实际应用代码 /something/<my_apps>/
  • 网站设置/网址/模板在 /something/<my_site>/
  • css、javascript 和其他“媒体” /something_else/media/

所以当我部署/升级网站时,我需要一次更新几个目录。

实际问题:

有没有办法进行原子文件复制?我无论如何都不是 linux 系统的“专家”,所以请原谅我的无知。

复制操作涉及几个目录树,两个或三个,基本上:

copy _tree1 to tree1
copy _tree2 to tree2
Run Code Online (Sandbox Code Playgroud)

通过原子,我的意思是:

  • 它要么完全复制,要么根本不复制。它永远不应该处于某些复制但某些失败的状态。
  • 它是在尽可能短的时间内完成的。理想情况下,系统不应该看到正在进行的副本,它要么看到文件的旧版本,要么看到新版本;它在任何时候都不会看到文件 A 的旧版本,而是文件 B 的新版本。如果这不是完全可能的,那么它应该不会超过几毫秒。

我的想法是使用双缓冲之类的东西:例如,我在暂存区准备所有内容_tree_x,然后将其复制移动到tree_xwith 应该是一个原子操作,该操作只是更改磁盘上的指针。

我认为单个这样的复制移动操作在 linux 中是原子的(不是吗?),但我也需要几个这样的操作也是原子的;我希望它们被视为单一移动操作。

linux deployment

3
推荐指数
1
解决办法
2683
查看次数

在密码提示下 ssh 取消会话

如果我连接到 ssh 服务器并且发现用户名有误,我该如何在服务器提示我输入密码时取消会话?

我知道的唯一方法是按ctrl+c杀死 ssh 进程,有没有更好的方法?

我不一定需要取消会话,只需更改用户名即可。

ssh

2
推荐指数
1
解决办法
373
查看次数

标签 统计

linux ×2

deployment ×1

libraries ×1

ssh ×1