Articles of linux

rsync协议不兼容

使用以下命令从远程服务器执行rsync pull操作时: /usr/bin/rsync -av -e ssh –delete –chmod=a+rwx,g+rwx,o-wx –dry-run username@server:/remote/path/ /home/dir/local/path 我得到以下错误: receiving file list … Invalid flist flag: 1004 rsync error: protocol incompatibility (code 2) at flist.c(2354) [Receiver=3.0.7] 从远程到本地进行反向(即PUSH)时,我得到以下结果: building file list … Invalid flist flag: 1004 rsync error: protocol incompatibility (code 2) at flist.c(2354) [Receiver=3.0.7] rsync: connection unexpectedly closed (8 bytes received so […]

/ etc / sudoer / – 是否可以通过putty进入单用户模式?

我不小心把/ etc / sudoer /文件夹弄到了,所以我的sudo命令不再起作用。 (我只能在Windows Azure上使用这个Linux Centos vm)我没有root密码,我不知道如何重置根密码,或者只是将/ etc /文件夹复制回root。 非常感谢!

tar档案的重复数据删除

现在我想在我的linux备份服务器上configurationZFS重复数据删除function,并有一个问题。 例如,我在backup1.tar中有1k个文件,在backup2.tar中有1个相同的文件和1个新的文件。 这个文件将被重复删除或不是? 正如我所看到的,它不适用于tar档案。 也许我做错了什么。

重新启动没有安装根文件系统的Linux服务器

我最近被问到以下问题: 如果你的根文件系统没有挂载,你怎么能重新启动linux服务器,你不能挂载它(它是丢失的),你没有任何二进制文件 – 你只有root shell。 它与我假定的/ proc有关,但也许根本不可能。 任何人都可以提供一些指导我应该在这种情况下做什么?

DDNS,BIND和剩余的.jnl文件

我已经configurationBIND和ISC DHCPD一起工作(使用密钥进行更新)。 现在并不是它根本不起作用:前向地图等是最经常添加的。 但是,很多时候,没有明显的原因,区域的.jnl文件(日志)留在那里,主要的区域文件没有更新。 这会导致在DHCP租约获取之后(如果主机不在区域文件中,或者导致旧地址)中的某些主机的parsing度激增。 权限如下所示: -rw-r–r– 1 bind bind 691 Dec 10 11:06 myzone.zone -rw-r–r– 1 bind bind 765 Dec 10 12:17 myzone.zone.jnl 它不应该是权限问题,虽然区域(经常)通过DHCP / DDNS更新? 这个问题的根源是什么?一个解决办法是什么? 操作系统:debian 7.2 x64,稳定版本绑定和isc-dhcp服务器。

如何将Linux服务器设置为具有NAT的路由器

我们有一个简单的路由器,它具有对称types的NAT,但是因为这个路由器没有给我们提供任何debugging接口,所以我们不能确定一个特定的数据包是否到达了NAT。 因此,我们要设置一台LINUX计算机,使其成为一个具有对称NAT的路由器,这样我们就可以捕获所有的数据包到这个“NAT”并获得我们想要的信息。 我们如何在Linux上做到这一点(Fedora系统,内核2.6.xx)?

同时在多个EC2实例上运行命令/任务

我已经得到了一个任务,我必须在AWS中使用大约200个EC2实例。 由于我对AWS完全陌生,所以在做基本的工作时遇到了麻烦。 每个实例都是Ubuntu,它们都安装了相同的4个关键软件。 我必须能够控制所有200个实例,例如在每个实例上启动相同的命令,以及其他类似的批量任务。 特别: 停止所有正在运行的实例。 开始所有当前停止的实例。 从主服务器拉一个configuration文件。 启动某个应用程序(全部启动app1,app3) 据我从开始指南了解,我必须安装我所做的AWS CLI。 (我在Mac上btw)。 但是,我仍然不明白如何执行从这个命令行描述的东西。 TLDR:如何在CLI中每个运行的EC2实例上同时执行/运行命令?

在捕获过程中,tcpdump在UDP数据包中截断为1472字节的有用数据

我正在写一个与networking一起工作的应用程序。 为了执行一些testing,我需要重现一天之前的stream程。 但同时也不允许停止当前的工作倾听者。 我也不能重写现有的程序,以保存传入的stream量。 为了解决我的任务,我决定使用tcpdump。 我使用以下命令在目标机器上运行tcpdump: tcpdump -w capture.cap -n "dst host host.domain.com and port 5555" 当我用tcpick或scapy读取capture.cap。 我可以看到所有长于1472字节的有用数据被截断为长度为1472.但是在头文件中仍然写入了数据包的原始长度。 正如我可以判断,UDP数据包分裂为几个,然后再次连接。 但tcpdump可能会过滤掉所有没有标头的包(应该只出现在第一个包中) 有没有办法转储完整的UDP包?

在RAM中创build一个块设备

我的日常任务之一就是用我们的软件创build一个USB pendrive的可启动镜像。 该映像必须由两个分区组成,第一个分区使用FAT32格式化,第二个分区使用EXT3格式化。 首先,我们把Linux内核和一个小的启动脚本放在设备上的引导加载程序,我们将在启动时读取。 在第二个分区上,我们放置了rootfs。 现在,我是这样做的: 插入一个USB pendrive到我的Linux comp。 找出它的设备文件(这里我们假设/ dev / sdx) 把它的前600MB清零:dd if = / dev / sdx = / dev / sdx bs = 1M count = 600 创build两个分区,第一个10 MB和第二个500 MB:sfdisk / dev / sdx –unit S << EOF,20000,c,1000000,83 EOF mkfs.vfat / dev / sdx1 mkfs.ext3 / dev / sdx2 (这是假定扇区大小是512字节!) 将内核和启动脚本复制到/ […]

邮件转发服务器

有什么办法可以“中继”邮件stream量吗? 为了更好地说明,假设将中继邮件的服务器是10.0.0.1,并且包含邮件的正确的邮件服务器是Gmail,有没有什么办法可以使邮件客户端连接到10.0.0.1,但发送所有的通信到Gmail? 这是因为在我的情况下,我只能直接连接到这台服务器,而没有直接连接到互联网,所以使用邮件我必须转发/中继它。 有没有什么办法可以做到这一点,如果有的话,怎么办?