Unix & Linux

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

2
如何更改subshel​​l的提示
我正在尝试创建一个简单的脚本,该脚本除其他外将创建一个子外壳: #!/bin/sh # setup "${@:-$SHELL}" # teardown 问题是:我需要更改默认提示,因此例如: $#默认的shell $ ./myscript (myscript)的$#子shell (myscript)的$退出 $ 我尝试更改PROMPT和PS1,但这些都不起作用。我怎样才能做到这一点? PS .:如果可能,我需要一个既适用于Bash又适用于ZSH的解决方案。
8 bash  zsh  prompt 

2
SSH隧道解释
我有关于SSH隧道的问题。我已经读过这篇文章 http://www.popcornfarmer.com/2009/01/ssh-tunneling-tutorial/ 我想使X转发工作并在家运行一些X应用程序,并将它们显示在远程系统上: ssh -X -R 5555:localhost:22 user@remoteserver.com -N 在远程: ssh -X -p 5555 user@192.168.1.2 然后在家里: //configure sshd to listen on 5555 ssh user@remoteserver.com //here run some app 应该行吗?


1
如果/ var / tmp在临时文件系统上,怎么办?
我已经读到我不应该将/ var / tmp挂载为临时文件系统(例如,作为tmpfs),因为/ var / tmp中的文件一定不能在重启时删除。那是对的吗? 假设我确实将/ var / tmp挂载为tmpfs,因此每次重新启动时都会删除其内容。那会不好吗?如果是,什么地方可能出问题?那有多糟?

5
连续段落的分组排序(由空行分隔)?
我认为我现在在按列排序方面很有经验;但是,到目前为止,我还没有找到如何对连续行进行排序的任何方法。 假设我们有一个文本文件,如下所示:(当然,非常简化) Echo Alpha Delta Charlie Golf Bravo Hotel Foxtrot 现在,是否可以对每个块分别按字母数字顺序对行进行排序?我的意思是说,结果是这样的: Alpha Charlie Delta Echo Bravo Foxtrot Golf Hotel 从我在sort手册页中找到的内容来看,使用内置的UNIX sort命令可能无法做到这一点。还是可以不必借助外部/第三方工具来完成?

2
找出萤幕编号
我想使用PHP使用SSH启动程序,效果很好,但是现在我想使用PHP终止屏幕,但我唯一知道的是屏幕名称。如何自动找到屏幕ID?
8 ubuntu  ssh  gnu-screen  php 

4
如果没有sudo,为什么我们不能以其他用户身份执行命令列表?
在其他论坛中已经以不同的方式提出了这个问题。但是还没有一个很好的解释,为什么不能用bash进行以下操作。 #!/bin/bash command1 SWITCH_USER_TO rag command2 command3 通常,建议的方法是 #!/bin/bash command1 sudo -u rag command2 sudo -u rag command3 但是为什么不能在bash执行bash脚本期间的某个时候更改为其他用户,并以其他用户身份执行其余命令?
8 bash  sudo  su 

2
如何在Debian中规避“打开文件太多”
如果我想一次查看apache2服务器的所有相关日志文件,请使用 tail -f /var/kunden/logs/*log /var/kunden/logs/*log /var/log/apache2/*log |grep -v robots|grep -v favicon 但是由于这些文件现在太多了,所以我想增加该限制。 如何在一个ssh会话中增加它?以及如何在全球范围内将其增加? 我可以看到我的机器上打开的文件限制为1024: ulimit -n 1024

2
Linux中奇怪的临时网络中断
我遇到了一个非常烦人的问题,从现在开始的一个星期我注意到了这个问题,但找不到答案:我的网络突然停止了响应,通常恰好在25秒后返回。我使用的是内核3.10.4,现在迁移到3.11-rc4,以查看是否有所更改,但不,行为是相同的。而且由于通常的网络浏览都是“突发”并且中断完全是随机的,因此很难发现问题,因此我无法真正分辨出该问题是否也存在于以前的内核中(我一直使用custom来自kernel.org的未修补内核,全部由我自己编译) 我也不能说内核是罪魁祸首,但是我可以说系统日志上没有任何线索(我检查了两者/var/log/syslog,/var/log/messages并且那里也没有异常),并且硬件似乎没有问题,因为问题表明使用我的任意一张网卡: lspci output: 02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01) 04:00.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30) 并且我已经尝试过交换以太网交换机端口,但除我以外,我工作的其他任何地方都没有问题(尽管我们使用的是类似的机器,但我是唯一使用Linux的机器,因此我不得不对此举一些臭名昭著的笑话,因为好吧...呵呵。 我在机器上运行了Wireshark,然后让它连续ping通我们的网关和同一网段上的另一台机器。然后,在出现网络故障的第一个迹象时,我将对其进行检查并验证网关是否停止响应ping,但是另一台计算机仍然在那里正常响应。其他时间是另一台机器停止响应并且网关正常,而另一些时间都停止响应。我不知道该怎么办,因此,我希望获得一些有关进一步调试的帮助或技巧,因为系统日志是完全正常的。 我有我的内核配置文件和来自wireshark的捕获文件来显示这种情况。我可以在这里或在某个pastebin网站上发布,以防万一有人觉得对理解案例有用,请让我知道我应该使用的详细信息级别(我猜没有原始数据的数据包级别就足够了)。

2
/ dev / hidraw:读取权限
要获得对/ dev / hidraw *的读取权限,我该怎么做? 我在网上看到了有关udev规则的内容,并在网上看到了它,但是udev的世界对我来说就像是一块异乡,如果有某种更简单的解决方案,我只是将自己添加到一个花花公子的团队中... (Ubuntu 13.10预览) 随意重提问题-我不太想知道“ hidraw”到底发生了什么。 编辑: 好的,所以,仅提供一些更多信息来阐明问题:我逐字逐句地执行了调用POSIX open()方法的代码,并获得了errno权限不足的提示。cat以普通用户身份在文件上运行会导致权限不足错误,而以普通用户运行会su导致成功(尽管无意义)cat操作。 编辑编辑: 根据要求,我将通过POSIX调用提供相关代码。它来自Signal11的HIDAPI库(函数hid_open_path)。我相信这段代码是正确的,因为它显然已经使用了很长时间了。我errno在GDB中相关阅读所在的位置添加了一条注释。 hid_device *dev = NULL; hid_init(); dev = new_hid_device(); if (kernel_version == 0) { struct utsname name; int major, minor, release; int ret; uname(&name); ret = sscanf(name.release, "%d.%d.%d", &major, &minor, &release); if (ret == 3) { …
8 devices  udev 

3
寻找一个集中的全屏终端
那里有几种不同的“无干扰的编辑器”可供编写:它们提供了一个全屏,最小化的环境,目的是迫使自己专注于手头的任务。 我想与做类似的事情vim。虽然我可以在终端中简单地将其启动,然后按F11使其进入全屏状态,但我也想将宽度限制为大约75个字符,并将所使用的区域居中。 考虑一下文字处理器如何在程序中间提供一个虚拟页面,这就是我想要的。有点。 是否可以通过特殊的终端程序或vim中的某些设置来执行此操作?如果其中一个GUI vim程序具有此功能,或者有其他我没想到的实现方法,那么这也将是一个有用的答案。

1
如何使Kate用Python文件上的空格缩进,但将制表符用于文本文件和其他文件?
我的目标是设置Kate在Python文件上正常工作,但在其他文档上使用其他设置(制表符而不是空格)。我确定其他人正在这样做,但是我找不到一个方便的解决方案。我感谢任何建议。 凯特(Kate)的缩进设置如下: 点击设置菜单 点击“配置-凯特” 在右侧展开“编辑器” 点击“缩进” 一种选择是“默认缩进模式”。该设置的一种选择是Python。但是,我找不到在哪里设置(甚至显示)用于Python选择的选项。 此外,还不清楚“默认缩进模式”和该页面上缩进的显式设置之间是什么相互作用。一个会覆盖另一个吗?

2
/ var分区满了怎么办?
如果/var分区在生产服务器上已满,那么解决方案是什么? 以下是我的解决方法: 如果是LVM分区,那么我们可以在线扩展它。 我们可以压缩日志。 我们可以删除旧数据。 请向我建议更多解决和解决此问题的方法。 如果您可以分享您遇到的这个问题的经验,对我会有所帮助。

1
删除后Cron作业仍在运行
在我继承的服务器cron上,其中一台Debian服务器每小时执行一次作业。它会将电子邮件发送到不存在的电子邮件中,但是由于我将自己列为root电子邮件中的电子邮件,因此会退回到我的帐户/etc/aliases。Cron作业已从中删除/etc/cron.hourly(原为ntupdate),因为它已在电子邮件中列出。我重新加载了crontab守护程序,但是仍然每小时收到报告,报告文件启动失败,并且电子邮件地址不存在! 通过电子邮件发送的输出: /etc/cron.hourly/ntpdate: run-parts: failed to exec /etc/cron.hourly/ntpdate: Exec format error run-parts: /etc/cron.hourly/ntpdate exited with return code 1 当前,中只有.placeholder隐藏文件/etc/cron.hourly。我也跑了crontab -l,列出的仅有3个工作有望被列出,并且在这封电子邮件持续到达后大约10分钟内运行;所以我知道这不是其中之一。我可以在旁边寻找停止接收这些电子邮件的地方? 编辑#1 # ls -l /var/spool/cron total 4 drwx-wx--T 2 root crontab 4096 Jan 25 2012 crontabs 编辑#2 # ls -l /var/spool/cron/crontabs/ total 4 -rw------- 1 root crontab 311 Jan 25 …

2
如何替换非冗余ZFS池中的磁盘?
我一直在做一些阅读,看起来ZFS不喜欢从非冗余阵列中删除磁盘: 您可以使用该zpool detach命令从镜像存储池分离设备。例如: # zpool detach zeepool c2t1d0 但是,如果没有其他有效的数据副本,则拒绝此操作。例如: # zpool detach newpool c1t2d0 cannot detach c1t2d0: only applicable to mirror and replacing vdevs 基本问题是可以理解的:从数组中删除数据的唯一副本(无论是元数据还是有效载荷数据)都会使该数据不可用。 替换ZFS存储池中的设备的示例提供了有关如何替换存储池中的设备的基本分步说明:使磁盘脱机,卸下磁盘,插入替换磁盘,运行zpool replace以将更改通知ZFS然后将磁盘联机。显然,这要求该阵列不依赖于要更换的磁盘,因此该阵列必须具有冗余性。如果它确实取决于所讨论的驱动器,则此方法存在与上述相同的问题。 在非冗余 ZFS阵列中更换磁盘的推荐方法是什么? 假定现有磁盘工作正常,并假定替换磁盘的大小至少与被替换磁盘的大小相同。(如果现有磁盘发生故障,显然所有可以做的就是添加新磁盘,并从备份中还原受磁盘故障影响的所有文件。)
8 linux  zfs 

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.