Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答


2
我如何知道串行端口实际上是否在不打开设备的情况下传输数据?
我有一个通过串行线和两个以太网NIC连接的高可用性群集(Heartbeat)。我想设置一个能够识别断开的串行线的监视脚本(基本上,在SO上回答了相同的问题,但是我对这样的一般回答不满意)。 我不能简单地打开串行设备并自己读取数据,因为串行线是由Heartbeat打开的。 因此,我开始寻找一些间接的线索。到目前为止,我发现的唯一区别是的内容/proc/tty/driver/serial。连接后的样子如下: # cat /proc/tty/driver/serial serinfo:1.0 driver revision: 0: uart:16550A port:000003F8 irq:4 tx:2722759 rx:2718165 brk:1 RTS|CTS|DTR|DSR|CD 当断开连接时: # cat /proc/tty/driver/serial serinfo:1.0 driver revision: 0: uart:16550A port:000003F8 irq:4 tx:2725233 rx:2720703 brk:1 RTS|DTR 我没有足够的信心去确定行尾列出的信号具有已连接/已断开电缆的含义,因为我没有找到有关/ proc / tty / driver / serial内容的任何文档。我只能假设信号的存在意味着给定的信号是“现在”(或者是最近的过去?或?)。所述串行HOWTO说,当电缆被连接(CTS流量控制信号,DSR“我准备好进行通信”,CD“调制解调器连接到另一个”)附加信号呈现都在“输入”的方向。因此,另一端必须有人在世。 假设信号的含义如串行HOWTO中所述,我可以根据CD信号的存在来做出决定。但是我不确定。 因此,问题是:我的方法是“正确的”,还是我有不知道的更好的选择? 编辑: 我做了一些其他的观察,并与我的同事进行了交谈。事实证明,在线路的末端是否存在信号,可以很好地指示两端的串行端口活动。但是,这并不表示电缆的物理存在。每当有程序写入串行端口时,就会出现输出信号(RTS | DTR)。当另一侧正在写入时,会出现输入信号(CTS | DSR | CD)。当双方都没有通信时,根本就没有信号(这不一定意味着没有电缆)。不要忘记确切的信号取决于电缆的布线(我有“带有部分握手功能的空调制解调器”)。

5
明智地处理移动的Rsync
我已经成功地使用rsync在笔记本电脑和上网本之间同步主目录(两者都在Linux上使用ext4)。我唯一的问题是,我不时地希望完全重组某些目录,而rsync将其视为删除和创建新文件,这使其非常缓慢且效率低下。 有人知道一个很好的软件可以很好地处理文件移动吗? 我发现统一应该能够做到这一点,但实际上似乎并不起作用。我通过同步两个本地目录(每个目录中都有一个大文件)来测试统一,它仍然将我的移动检测为删除+创建,实际上比rsync还要慢。 而且,如果我几个月前看过unison的源代码时没记错的话,它试图做类似求和的事情,而我不希望我的理想解决方案做求和,这对于大型应用来说太慢了文件/目录。我想要一些可以注意到的东西: “该文件的最后一个源副本似乎已被删除,并且源目录树中的其他位置有一个新文件,该文件的mdate,大小和inode编号相同,因此,我仅假设这是一个步骤,相应地移动其目标副本,而不是执行Delete + copy。” 对我而言,重要的是我能够快速同步这些机器。 有什么建议?


2
Zathura:如何打印指定的页面
我想从Zathura内的大型pdf文件中打印一些页面(通常是当前页面或页面范围)。 这样做的语法是什么? 编辑:解决方案非常明显...由开发人员自己: 在打印对话框中选择页面范围? 是的,这里有一个打印对话框,经典的Gtk +打印对话框,带有通用选项,可让我做任何我想做的事情。我只需要输入:print。我实际上期望Zathura键入参数来选择打印机和其他东西。 至少,下次有人想知道如何使用Zathura进行打印时,他可能会找到这篇文章。
10 printing  zathura 

1
tzdata数据库到底如何使用?
不同的操作系统似乎对夏时制(DST)的处理方式不同。我真的很喜欢Cisco IOS方法,该方法非常简单,可以更改DST开始和结束的日期和时间。例如: clock summer-time EDT recurring 2 Sun Mar 2:00 1 Sun Nov 2:00 60 在三月第二周的周日2:00提前60分钟,在十一月的第一个周日2:00提前60分钟。Linux如何处理DST?我知道有一个tzdata包含时区数据文件的软件包,这些文件已安装到/usr/share/zoneinfo/目录中。这些文件如何以及通过哪些实用程序使用?我可以看到文件中的UTC(2)和时区名称(EET和EEST)之间的变化: T60:~# strings /usr/share/zoneinfo/posix/Europe/Helsinki TZif2 HMT EEST TZif2 EEST EET-2EEST,M3.5.0/3,M10.5.0/4 T60:~# 另外,M3大概是第三个月,M10是第十个月?此外,还应在某处指定偏移量。例如,在IOS中,可以配置为DST发生后,时钟偏移例如90或120分钟而不是60分钟。
10 clock 

2
我的Ping命令似乎从未完成。这是否意味着成功?
我正在ping远程IP。我对Ping命令了解得很少。当我ping IP时,它一直在运行……我没有在使用-t选项。 Me$ ping 137.30.124.104 PING 137.30.124.104 (137.30.124.104): 56 data bytes 64 bytes from 137.30.124.104: icmp_seq=0 ttl=62 time=3.378 ms 64 bytes from 137.30.124.104: icmp_seq=1 ttl=62 time=3.825 ms 64 bytes from 137.30.124.104: icmp_seq=2 ttl=62 time=4.882 ms 64 bytes from 137.30.124.104: icmp_seq=3 ttl=62 time=1.822 ms 64 bytes from 137.30.124.104: icmp_seq=4 ttl=62 time=4.572 …
10 networking  ping 

2
指示用户程序的资源友好方式未挂起
我在* nix系统上有一个Perl脚本,有一点正在处理50,000多行文本。这需要一些时间。我正在尝试找到一种资源友好的方式,以使用户知道程序在处理所有这些文本时未挂起。 目前,由于正在处理文本,因此我正在实时打印输出。我正在刷新输出缓冲区,然后使用一行打印输出\r。这似乎是对资源的不必要使用,因为它花费的时间几乎是什么都不打印的两倍,但是正如我已经说过的,当什么也不打印时,程序似乎挂了。 所以我的问题是:有没有一种标准或简单的方法可以让用户在执行长时间运行的任务时知道程序确实正在运行?
10 perl  output 

6
Linux Mint 15无法在VM VirtualBox上安装
似乎我的VM设置有问题,因为它也无法安装Fedora。 问题将是我加载VM并按F12键从CD / DVD引导,该CD / DVD指向已挂载的ISO文件,此尝试将是linuxmint-15-cinnamon-dvd-64bit.iso,此时我将看到一个屏幕上显示Linux Mint Autoboot in 10 .. 9.。然后当倒数达到零时,我就停留在该屏幕上。 桌面字幕http://img843.imageshack.us/img843/51/xd93.png 全尺寸图片:链接! 我启用了3D加速功能,并提供了128mb的Vid Mem。所以不确定我还能尝试什么。我分配了4096Mb的RAM ...该图像显示2048,但此后将其更改为4GB。 我可以尝试或解决任何问题吗?在线上的大多数结果都显示了与后期安装或安装过程有关的问题,但是我无法开始安装。 -- 按照说明,ISO已通过MD5验证并带有校验和,并且在使用准备好的VDI时,仍然无法运行OS。我可以选择Linux Mint。Linux Mint + Rec ect。但是,一旦我选择了它,它就会挂在带有下划线的黑色控制台屏幕上。
10 virtualbox 

2
一台主机,两台无法互相ping通的虚拟机。怎么解决
我们在KVM环境中运行虚拟机。我们将其中一个设置为运行Apache等的开发服务器,将另一个设置为Windows开发环境。 两种环境均已设置并且运行良好。但是,它们无法相互ping通。我想知道是否有一个明确的解决方案。 这就是正在发生的事情。 来自主持人: Cannot ping either of 2 VM's (one `Linux`, one `Windows`) 从任何一个VM: Cannot ping host Cannot ping each other 来自其他网络机器(例如,来自公司网络内的笔记本电脑) Successfully ping host at 192.168.0.64 Successfully ping VM1 (Linux) 192.168.0.43 Successfully ping VM2 (Windows) 192.168.0.84

1
为什么getfacl从绝对路径名中删除前导/?
我正在学习有关CentOS / Red Hat 6的ACL。当我getfacl使用绝对路径运行时,得到以下输出: getfacl:从绝对路径名中删除前导“ /” 为什么需要这样做?在什么情况下需要使用-p或--absolute-names开关? 我的Wale Soyinka和Michael Jang的书甚至都没有提及这一点,在手册页中没有发现任何线索,而且似乎找不到直接解决此警告的网站。
10 linux  filenames  acl 


5
如何完全按原样复制文件系统?
我有一个要编程的设备的文件系统,我想对其进行精确复制。理想情况下,我希望此副本与从其复制的文件夹相同。我已经尝试使用cp -r cp -a并rsync -azvP尝试实现这一目标。尽管每个文件夹都将导致一个具有不同大小的文件夹(使用du -s),并且最终即使我的设备运行的文件夹不是原始文件夹,也不会运行我复制的文件夹。 我所使用的命令没有说明什么而导致的遗漏呢? 复制文件系统/文件夹时,是否可以使所有内容保持一致?如果是这样,我将如何去做? PS我在StackOverflow上发布了类似的问题,但很快意识到我在错误的交换上提出了要求 编辑:这可能无济于事,但是无论我使用哪种方法复制的目录始终会导致有问题的计算机出现以下输出,导致内核崩溃。 VFS:尝试通过软盘无法通过NFS挂载根fs。VFS:无法打开根设备“ nfs”或unknown-block(2,0),请附加正确的“ root =”引导选项;这里是可用的分区:1f00 64 mtdblock0(驱动程序?)1f02 64 mtdblock2(驱动程序?)1f04 2432 mtdblock4(驱动程序?)1f05 128 mtdblock5(驱动程序?)1f06 4352 mtdblock6(驱动程序?)1f07 204928 mtdblock7(驱动程序?)1f08 50304 mtdblock8(驱动程序?)0800 8388608 sda驱动程序:sd内核崩溃-不同步:VFS:无法在未知块(2,0)上安装根fs
10 linux  filesystems  rsync  cp 

1
阅读写入/ dev / tty *的内容
我如何阅读写入的内容/dev/tty*(*= -tty0数)? 我sudo tail -f /dev/tty1在一个终端(X)上尝试过,然后sudo cp .emacs /dev/tty1从另一个终端尝试了。X没有显示的内容,.emacs但按Ctrl-Alt-F1可以看到的内容.emacs。 背景。 是同一类别的这个问题,这?
10 linux  console  tty 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.