首先是具体问题:在 linux 中,我使用 zcat 列出一个 .zip 文件。在 osx 中,zcat 似乎会自动将 .Z 附加到文件名。很多人建议用 gzcat 替换 zcat;但是,gzcat 抱怨该文件不是 gzip 格式!
'file ' 显示: ...Zip 存档数据,至少要提取 v2.0
所以 zcat 或 gzcat 在 osx 中都不起作用,我该怎么办?
我在 bash 中有一个中等大小的脚本,它使用 zcat/gzcat、sed awk 和其他基本实用程序来处理许多文件。我想在我的 osx 笔记本电脑上复制该环境,以便我可以离线工作。有什么一般性建议可以避免这种痛苦吗?我希望这是一个相当常规的工作流程,所以一定是由其他人整理出来的。
我们需要安全地向我们的客户提供文件。我们希望传输被加密,用户应该需要用户名/密码,并且他们应该能够通过 web、ftp/sftp 和 curl 访问他们的文件。
显而易见的想法是使用 openssh 及其 sftp 服务器。但是,我不知道如何为 sftp 服务器提供 Web 界面。
换句话说,虽然大多数客户将使用自动脚本来获取他们的文件,但他们可能偶尔需要从网页手动获取文件(这意味着他们需要手动输入他们的用户/密码)
有任何想法吗?
编辑:抱歉,忘了提及我们打算在 linux 服务器上提供这些文件
我是一名程序员,试图找出我领域之外的一些东西:
假设我有一台机器,客户端将与它建立 tcp(但不是 http!)连接。我想根据客户端连接到的主机名将客户端重定向到他们自己的端口。例如client1连接client1.myserver.com,连接1234端口,client2.myserver.com -> 1235,client3.myserver.com -> 1236等。
我想动态控制主机 y 的端口 x 如何实际指向我的物理机上的端口 z。
在谷歌搜索此信息时,我看到了对防火墙、代理、反向代理的引用。我真正需要哪种软件?现有软件是否允许按需进行此类更改(我听说防火墙更改需要一天时间)?
如果我想自己编写这样一个层(因为它可能有点特定于应用程序),是否可以在 java 或 node.js 中完成(我的意思是可以使用更高级别的 API 来完成还是我必须开始拆解 ip包)?由于所有主机名都解析为同一台机器,我怎么知道客户端连接到哪个主机名?
我也会感谢指向任何阅读材料的指针。
我不是管理员,但我必须管理大约 10 台 Linux 服务器。这些服务器遍布世界各地,一些用作生产服务器,另一些用作登台或开发服务器。
目前没有对这些服务器进行集中管理。如果我必须创建一个用户,我必须在所有机器上手动创建,我必须手动将它们添加到一个组中(并重新阅读手册页以查看它是如何完成的),编辑 sudoers 文件等。
所有这些机器都运行我们的定制软件,所以我需要一种方法来监控进程(可以像重复执行“ps -ef”以确保它启动一样简单)。
我见过一些软件可以集中管理机器,比如nagios、webmin、redhat的spacewalk、ubuntu的landscape等很多变种。
我有一个小型虚拟 linux 服务器(500 兆内存)。我最终可能会再获得一两台服务器,而不是更多。
我是开发人员,而不是系统管理员,所以我不知道涉及 linux 管理的最佳实践。我知道我不想设置机器,发出一堆命令来设置用户,安装包,更改环境变量,如果我的机器崩溃,只会丢失所有这些。
我宁愿将所有这些信息与我的代码一起保存在源存储库中。
明显的解决方案是 puppet 或 Chef,但我没有运行一组机器。我想要一种设置用户、安装软件包等的声明方式,但不想设置 ssl 证书、主服务器等(坦率地说,我不能,我的机器很便宜,内存也很少)。
是否有更好的独立机器解决方案?我希望能够快速使用此解决方案来重新创建我的机器(在 amazon、linode、rackspace 或我的桌面上)。