小编use*_*398的帖子

zcat/gzcat 适用于 linux,而不适用于 osx。一般的 linux/osx 兼容性

首先是具体问题:在 linux 中,我使用 zcat 列出一个 .zip 文件。在 osx 中,zcat 似乎会自动将 .Z 附加到文件名。很多人建议用 gzcat 替换 zcat;但是,gzcat 抱怨该文件不是 gzip 格式!

'file ' 显示: ...Zip 存档数据,至少要提取 v2.0

所以 zcat 或 gzcat 在 osx 中都不起作用,我该怎么办?

我在 bash 中有一个中等大小的脚本,它使用 zcat/gzcat、sed awk 和其他基本实用程序来处理许多文件。我想在我的 osx 笔记本电脑上复制该环境,以便我可以离线工作。有什么一般性建议可以避免这种痛苦吗?我希望这是一个相当常规的工作流程,所以一定是由其他人整理出来的。

linux bash mac-osx

67
推荐指数
4
解决办法
5万
查看次数

如何为 sftp 服务器提供 Web 界面

我们需要安全地向我们的客户提供文件。我们希望传输被加密,用户应该需要用户名/密码,并且他们应该能够通过 web、ftp/sftp 和 curl 访问他们的文件。

显而易见的想法是使用 openssh 及其 sftp 服务器。但是,我不知道如何为 sftp 服务器提供 Web 界面。

换句话说,虽然大多数客户将使用自动脚本来获取他们的文件,但他们可能偶尔需要从网页手动获取文件(这意味着他们需要手动输入他们的用户/密码)

有任何想法吗?

编辑:抱歉,忘了提及我们打算在 linux 服务器上提供这些文件

web sftp interface

8
推荐指数
1
解决办法
6万
查看次数

基于主机名或原始 IP 的动态端口转发

我是一名程序员,试图找出我领域之外的一些东西:

假设我有一台机器,客户端将与它建立 tcp(但不是 http!)连接。我想根据客户端连接到的主机名将客户端重定向到他们自己的端口。例如client1连接client1.myserver.com,连接1234端口,client2.myserver.com -> 1235,client3.myserver.com -> 1236等。

我想动态控制主机 y 的端口 x 如何实际指向我的物理机上的端口 z。

在谷歌搜索此信息时,我看到了对防火墙、代理、反向代理的引用。我真正需要哪种软件?现有软件是否允许按需进行此类更改(我听说防火墙更改需要一天时间)?

如果我想自己编写这样一个层(因为它可能有点特定于应用程序),是否可以在 java 或 node.js 中完成(我的意思是可以使用更高级别的 API 来完成还是我必须开始拆解 ip包)?由于所有主机名都解析为同一台机器,我怎么知道客户端连接到哪个主机名?

我也会感谢指向任何阅读材料的指针。

networking port-forwarding node.js

7
推荐指数
2
解决办法
2万
查看次数

程序员如何管理多台(地理上不同的)Linux 机器?

我不是管理员,但我必须管理大约 10 台 Linux 服务器。这些服务器遍布世界各地,一些用作生产服务器,另一些用作登台或开发服务器。

目前没有对这些服务器进行集中管理。如果我必须创建一个用户,我必须在所有机器上手动创建,我必须手动将它们添加到一个组中(并重新阅读手册页以查看它是如何完成的),编辑 sudoers 文件等。

所有这些机器都运行我们的定制软件,所以我需要一种方法来监控进程(可以像重复执行“ps -ef”以确保它启动一样简单)。

我见过一些软件可以集中管理机器,比如nagios、webmin、redhat的spacewalk、ubuntu的landscape等很多变种。

  • 我更喜欢免费软件,但如果易于配置/管理,我愿意支付少量费用(适合两人/三人启动)
  • 看起来进程/机器监控(nagios)通常与管理用户(webmin)是分开的,这仍然与包管理(landscape/spacewalk)不同......真的吗?
  • 既然云计算在小型商店中变得流行(其中许多由开发人员运营,没有管理员),是否有更简单(更好看)的工具来轻松管理多台机器(虚拟或真实)?
  • 同样,由于云计算,许多中间件供应商都包含基于休息的接口——是否有工具可以让我从单个“仪表板”使用这些接口?

linux cloud

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

资源有限的独立服务器的傀儡或厨师

我有一个小型虚拟 linux 服务器(500 兆内存)。我最终可能会再获得一两台服务器,而不是更多。

我是开发人员,而不是系统管理员,所以我不知道涉及 linux 管理的最佳实践。我知道我不想设置机器,发出一堆命令来设置用户,安装包,更改环境变量,如果我的机器崩溃,只会丢失所有这些。

我宁愿将所有这些信息与我的代码一起保存在源存储库中。

明显的解决方案是 puppet 或 Chef,但我没有运行一组机器。我想要一种设置用户、安装软件包等的声明方式,但不想设置 ssl 证书、主服务器等(坦率地说,我不能,我的机器很便宜,内存也很少)。

是否有更好的独立机器解决方案?我希望能够快速使用此解决方案来重新创建我的机器(在 amazon、linode、rackspace 或我的桌面上)。

configuration-management puppet chef

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