我不明白在守护进程模式下需要 rsync 服务器。如果我可以将 rsync 与 SSH 或 telnet 一起使用,它有什么好处?
至少这对我来说并不新鲜,SATA 实际上“谈论”SCSI,因此为什么这些 SATA 设备在 Linux 中显示为 SCSI 设备。
之前有人问过一个相关的问题,例如为什么我的 SATA 设备会出现在 /proc/scsi/scsi 下?
然而,在我之前讨论过的地方没有提到的是 SATA 与 SCSI 的关系,以及它们的不同之处。
我认为它们在物理层上有所不同是理所当然的,因为它们不共享兼容的电缆。
但是,堆栈的更高位置呢?我知道 Linux 如何将现代内核上的 SATA 甚至 IDE 磁盘表示为 SCSI 到 SCSI 子系统。但是总线上使用的实际协议呢?
我也知道 ATAPI 是对 SCSI 的封装,但是常规的 ATA 呢?我注意到 SCSI 的一些特性,例如 NCQ、FUA、DPO 等(如果我没记错的话)已经从 SCSI 中采用了。但不清楚有多少 SCSI 命令集实际上是共享或相似的。
具有 ATA 规范的现代 SATA 设备是否实现了 SCSI 命令集的子集,但进行了封装(如在 ATAPI 中)?同一套?超集?或者可能只有选定的功能作为不完全相同的变体来实现?
我在哪里可以找到关于此的一些明确信息,尤其是它与 Linux 内核的关系?驱动程序开发的某种教程会很好,但即使只是一个没有完全跳过所有细节的概述也足够了。我知道我只能阅读实际的规范,但这又太详细了,很难找到你真正想要的东西,而且对我和大多数其他用户来说,在时间意义上是不现实的。
我正在阅读一本关于使用 Go 进行网络编程的书。其中一章涉及 /etc/services 文件。在探索这个文件时,我注意到某些流行的条目,如 HTTP 和 SSH,它们都在传输层使用 TCP,还有一个用于 UDP 的条目。例如在 Ubuntu 14.04 上:
ubuntu@vm1:~$ grep ssh /etc/services
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp
ubuntu@vm1:~$ grep http /etc/services
http 80/tcp www # WorldWideWeb HTTP
http 80/udp # HyperText Transfer Protocol
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么这些有两个条目?我不相信 SSH 或 HTTP 曾经使用过 UDP(这个问题证实了 SSH)。
我对一个可以下载 torrent 内容的命令感兴趣(并且可能在下载后作为种子参与,直到我停止它)。
通常,有一个应事先单独启动的 torrent-client 守护进程,以及一个要控制的客户端(如transmission-remote
)。
但我正在寻找wget
or的简单性curl
:给出一个命令,一段时间后得到结果。
我有一个 postgres 9.1 服务器在 Ubuntu 12.04 云服务器上的默认端口 5432 上运行。
我想打开端口,这样我就可以进行远程查询——但是我必须在 IP 表上打开端口,这需要我指定一个协议。这个文档没有提到 TCP/UDP 等。
我应该在 IP 表中允许什么协议?
我只想能够探索保管箱文件系统,而无需在 CPU、内存、存储上增加太多负载(即,无需在本地保存远程文件的副本)。似乎官方客户端消耗了很多资源(并且会执行同步等不必要的操作)- http://www.lowendtalk.com/discussion/3179/dropbox-memory-usage-on-linux。
是否可以简单地挂载它(例如,使用 FUSE,而不在本地复制文件)并使用通常的 Unix 实用程序(ls
, du
, cp
)浏览文件?(我想要 public.me.com 类似的东西:-likewget -r
或 FUSE。)
Dropbox-Uploader(使用 dropbox API 访问它的 bash 脚本)可以帮助以 Unix 方式访问 dropbox。但不幸的是,它不支持递归下载目录(如wget -r
),这就是为什么我宁愿在它上面有一个 FUSE 包装器。
这更像是一个概念性问题。我需要一些说明。
今天我正在学习一些套接字编程的东西,并根据Beej 的网络编程指南编写了一个简单的聊天服务器和聊天客户端。(聊天服务器接收客户端消息并向所有其他客户端发送消息)
聊天客户端只是一个将stdin
输入发送到服务器并从服务器打印套接字数据的程序。
后来我注意到指南说我可以telnet
用来连接到服务器。我试过了,它奏效了。
我不熟悉 telnet,很长一段时间我都不知道它到底是什么。
所以现在我的经历让我感到困惑:
telnet 不就是一个简单的 TCP 发送/回显程序吗?是什么让成为协议的东西如此特别?我的愚蠢聊天客户端程序没有创建 [应用程序] 协议。
来自维基百科Communication_protocol:
在电信中,通信协议是一种规则系统, 它允许通信系统的两个或多个实体通过物理量的任何种类的变化来传输信息。
Telnet 创建了哪些规则?telnet host port
,为原始输入/输出打开一个 TCP 流套接字?那不是规则。
$ netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Run Code Online (Sandbox Code Playgroud)
为什么端口 22 (:::22
和0.0.0.0:22
)有两条记录,为什么一个使用协议 astcp
而另一个使用tcp6
这是在 Ubuntu 12.04.4 上
如何使用 Unix 工具(如wget,命令行非交互式工具)将文件夹从http://public.me.com/(与iDisk或MobileMe相关的服务)复制到本地文件系统?
问题是 Web 界面实际上是一个复杂的基于 Javascript 的东西,而不是简单地公开文件。(连w3m都不能浏览,比如https://public.me.com/rudchenko。)
我的目标是不时以非交互方式更新本地副本,并将下载文件的命令放到脚本中,以便其他人可以运行该脚本并下载文件。
一个wget的样(rsync的样,混帐拉类似的)工具将适合我,或者安装孔熔丝网络文件系统,然后使用标准的Unix命令的组合来复制的目录就可以了。
我在维基百科文章(我在上面提到的)中读到 Apple 提供了对这些服务的WebDAV 访问,我也读过关于cadaver,一个类似wget的 WebDAV 客户端,但我不知道我是哪个地址应该用于访问http://public.me.com/ 上的文件夹,只读(匿名)。
也许 Gilles 的评论(当前未使用 WebDAV)是正确的,但幕后似乎仍有一些 WebDAV 内容:传递给浏览器的 URL 用于下载带有目录的存档(按下“下载选定的文件后” " 按钮位于 Web 界面顶部)如下所示:
https://public.me.com/ix/rudchenko/SEM%20Sep21%201%20TO%20PRINT.zip?webdav-method=ZIPGET&token=1g3s18hn-363p-13fryl0a20-17ial2zeu00&disposition=download
Run Code Online (Sandbox Code Playgroud)
-- 请注意,它提到了“WebDAV”。(如果你很好奇,我试图重新使用这个 URL 作为wget的参数,但它失败了:
$ LC_ALL=C wget 'https://public.me.com/ix/rudchenko/SEM%20Sep21%201%20TO%20PRINT.zip?webdav-method=ZIPGET&token=1g3s18hn-363p-13fryl0a20-17ial2zeu00&disposition=download'
--2011-11-21 01:21:48-- https://public.me.com/ix/rudchenko/SEM%20Sep21%201%20TO%20PRINT.zip?webdav-method=ZIPGET&token=1g3s18hn-363p-13fryl0a20-17ial2zeu00&disposition=download
Resolving public.me.com... 23.32.106.105
Connecting to public.me.com|23.32.106.105|:443... connected.
HTTP request …
Run Code Online (Sandbox Code Playgroud) 我在 SLES 11.4 中运行 Samba 3.6。我最近加入/etc/samba/smb.conf
的[global]
以下部分
这样做是为了允许与开始联机的 Windows10 客户端进行通信,并且还可以继续与现有的 win7 pc 一起工作。
有谁知道或我如何知道我可以使用的可用协议?
我想并尝试将最小和最大协议设置为SMB2.1
但我的 Windows7 测试客户端立即无法连接。我以为 SMB2.1 在 win7 中可用?我怎么知道SMB2.1
在 Samba 3.6 中是一个有效的选择?
SMB3
在 Samba v3.6 中是一个有效的选择吗?
protocols ×10
wget ×3
networking ×2
bittorrent ×1
command-line ×1
database ×1
download ×1
dropbox ×1
fuse ×1
hard-disk ×1
iptables ×1
ipv6 ×1
linux ×1
linux-kernel ×1
netstat ×1
postgresql ×1
rsync ×1
samba ×1
scripting ×1
services ×1
smb ×1
ssh ×1
tcp ×1
telnet ×1
webdav ×1