小编Rma*_*ano的帖子

ACPI 唤醒 4 个字母的代码是什么意思?

我必须禁用某些事件以避免在我的台式机中挂起后立即唤醒,并且我通过反复试验来实现(效果很好,所以这不是问题)。但我想知道......例如在我的笔记本电脑中,我有一个很长的列表/proc/acpi/wakeup

[...]
RP03      S4    *disabled
PXSX      S4    *disabled
RP04      S4    *disabled  pci:0000:00:1c.3
PXSX      S4    *enabled   pci:0000:03:00.0
RP06      S4    *disabled
[...]
Run Code Online (Sandbox Code Playgroud)

我四处搜索,找不到解释第一列中具有 4 个字母代码含义的列表的地方。我想象在它们之后带有设备名称的事件是由该设备链接/生成的,但我对其余的大部分都不知所措......减去疯狂的猜测。

例如,我怎么知道事件RP06是什么?有没有清单?或者该代码是特定于供应商的?

acpi linux-kernel

37
推荐指数
3
解决办法
1万
查看次数

如何告诉 Linux Kernel > 3.0 完全忽略故障磁盘?

我有一个三星笔记本电脑(Chronos的S7)与总线一个SATA硬盘ata:1,它被检测为/dev/sda,一个8G SSD上ata:2/dev/sdb和上SATA接口的其余各种其他装置。

问题是SSD盘是

  • 焊接到主板上(不可移动)
  • 被破坏(它只会为任何操作提供 I/O 错误)
  • 它没有出现在 bios 中(可能是因为它坏了)

现在这个磁盘:

  • 尝试探测故障磁盘的启动延迟了三到五分钟,这很烦人;
  • 但最烦人的是系统因为/dev/sdb失败而无法挂起。

请注意,我可以忍受启动时的延迟——让我担心的是恢复/挂起的事情。


所以问题是:我可以告诉内核避免在 ata:2 上探测设备吗?

在较旧的内核 (<3.0) 中,当我仍然能够深入挖掘源代码时,有一个样式的命令行参数hdb=ignore可以解决问题。

我已经尝试了下面提出的所有技巧udevlibata:force内核参数,但无济于事。具体来说,以下不起作用:

  1. 添加到以下/etc/udev/rules.d/文件之一(在早期执行中00-ignoredisk.rules或晚期执行99-ignoredisk.rules或在两个地方)

    SUBSYSTEMS=="scsi", DRIVERS=="sd", ATTRS{rev}=="SSD ", ATTRS{model}=="SanDisk iSSD P4 ", ENV{UDISKS_IGNORE}="1" 
    
    Run Code Online (Sandbox Code Playgroud)

    也不

    KERNEL=="sdb", ENV{UDISKS_IGNORE}="1"
    
    Run Code Online (Sandbox Code Playgroud)

    也没有很多中间解决方案——这使得启动后无法访问磁盘,但它在启动时被探测,并在挂起时仍然检查——导致挂起失败。

  2. 编辑系统文件/lib/udev/rules.d/60-persistent-storage.rules(和udisks, udisks2)改变

    KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md", GOTO="persistent_storage_end"
    
    Run Code Online (Sandbox Code Playgroud)

    KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md|sdb*", GOTO="persistent_storage_end"
    
    Run Code Online (Sandbox Code Playgroud)

    同样,这也有一些效果,从用户空间屏蔽了磁盘,但内核仍然可以看到磁盘。

  3. 使用参数的所有可能组合(好吧,很多)引导libata:force(例如在这里找到)以禁用 DMA、降低速度或任何有关故障磁盘的问题 --- 不起作用。使用了该参数,但磁盘仍被探测并失败。

    完整 …

block-device linux-kernel

25
推荐指数
2
解决办法
2万
查看次数

vim/gvim 无法将 X11 剪贴板放入寄存器“+ 或”*?

由于标准vino 服务器缺乏安全性,我改用x11vnc在我的 linux(使用 Xubuntu 14.04)机器和 Windows 端的SSVNC

使用 vino,从 windows 剪切和粘贴到 Linux 和 windows,在两个方向上,是 flaky(1) 但是当它工作时,它适用于每个程序;我可以毫无问题地使用vim寄存器"+。我跑(2)

autocutsel -fork 
Run Code Online (Sandbox Code Playgroud)

通常这样“中键”和 ctrl-c/v 选择是相同的。

现在我使用 x11vnc(用 : 调用x11vnc -forever -repeat -safer -usepw -ssl -autoport 6000)来建立安全的加密连接,出现了一个问题:

  1. 我可以在 Windows 上复制并粘贴到远程 linux 终端、libreoffice 等,没有任何问题,双向。

  2. vim, 或gvim, 任何试图粘贴"+p"*pE353: Nothing in register *

  3. 再次在vimor 中gvim,相反的方式确实有效:如果"+yy我可以将内容粘贴到 Windows 端。

任何人都知道这个问题?奇怪的是粘贴在我检查过的任何地方都有效,但在vim …

vim vnc x11 clipboard

15
推荐指数
1
解决办法
1326
查看次数

&amp;&amp; vs &amp; 在 bash 和 zsh 中的优先级

回答这个问题,我发现行为之间一个非常有趣的(和微妙的)差别bashzsh

bash

romano@RRyS:~$ pwd
/home/romano
romano@RRyS:~$ alias x="cd /bin && ./echo A >/dev/null  &"
romano@RRyS:~$ x
[1] 16611
romano@RRyS:~$ pwd
/home/romano
Run Code Online (Sandbox Code Playgroud)

如您所见,alias 的执行x是在子shell 中执行的,因此当前目录不会更改。

不在zsh

[romano:~] % pwd
/home/romano
[romano:~] % alias x="cd /bin && ./echo A >/dev/null &"
[romano:~] % x
[1] 16744
[1]  + 16744 done       ./echo A >/dev/null                                    
1& [romano:/bin] % pwd
/bin
[romano:/bin] % 
Run Code Online (Sandbox Code Playgroud)

此处目录已更改。

似乎&inbash的优先级与 in 不同zsh--- …

shell bash zsh

9
推荐指数
1
解决办法
4184
查看次数

`ls -l` 一个文件和所有指向它的目录?

在我开始编写(可能很简单)脚本之前,是否有一个命令可以执行以下操作:

[:~/software/scripts] % ls -ld / /usr /usr/bin /usr/bin/tee 
drwxr-xr-x 21 root root  4096 Mar 31 08:48 /
drwxr-xr-x 11 root root  4096 Jan 30 09:48 /usr
drwxr-xr-x  2 root root 73728 Apr 14 07:54 /usr/bin
-rwxr-xr-x  1 root root 26308 Jan 16  2013 /usr/bin/tee
Run Code Online (Sandbox Code Playgroud)

无需手动输入所有部分路径?这个想法是能够说

ls --this-new-flag /usr/bin/tee  
Run Code Online (Sandbox Code Playgroud)

或者

command -l /usr/bin/tee 
Run Code Online (Sandbox Code Playgroud)

并具有上面的输出 --- 显示了通向最终路径的所有部分路径的详细列表。可以输出/ /usr /usr/bin /usr/bin/tee给定的shell 扩展技巧也可以/usr/bin/tee

shell bash zsh

5
推荐指数
1
解决办法
404
查看次数

在不使用 &lt;co&gt; 的情况下,在 vim 输入模式下将向上和向下箭头重新映射到 gj-gk?

我已经映射了我的箭头键以在可视线模式下移动,将hjkl键留给正常的逻辑线移动:

" Visual movement with the arrows and End-Home 
nnoremap <Down> gj
nnoremap <Up> gk
vnoremap <Down> gj
vnoremap <Up> gk
inoremap <Down> <C-o>gj
inoremap <Up> <C-o>gk
inoremap <Home> <C-o>g<Home>
inoremap <End>  <C-o>g<End>
Run Code Online (Sandbox Code Playgroud)

这有效,但对于一个小问题。我的状态行中有一些代码可以在输入模式和正常模式之间更改颜色,如下所示:

if version >= 700
  highlight statusLine cterm=bold ctermfg=black ctermbg=red
  au InsertLeave * highlight StatusLine cterm=bold ctermfg=black ctermbg=red gui=bold guifg=black guibg=red
  au InsertEnter * highlight StatusLine cterm=bold ctermfg=black ctermbg=green   gui=bold guifg=black guibg=green
endif
Run Code Online (Sandbox Code Playgroud)

...我现在注意到(在一台比我家里的机器慢的机器上)每次我按下一个箭头时,<ctrl>o(至少,我认为)的临时模式开关会使状态行快速闪烁红色然后又绿了。

是否可以重新定义键以避免临时跳转到正常模式?

vim vimrc

5
推荐指数
1
解决办法
1018
查看次数

如何教fail2ban检测和阻止来自整个网络块的攻击?

我已正确安装fail2ban在我的机器上,激活了ssh,ssh-dos和的规则recidive;一切正常。

最近,我看到越来越多的来自不同主机的重复攻击模式形成相同的网络,通过在禁止后切换 IP 来规避“recidive”规则:

2015-01-25 11:12:11,976 fail2ban.actions: WARNING [ssh] Ban XXX.41.124.29
2015-01-25 11:12:13,165 fail2ban.actions: WARNING [ssh] Ban XXX.41.124.42
2015-01-25 11:12:16,297 fail2ban.actions: WARNING [ssh] Ban XXX.41.124.28
2015-01-25 11:12:20,446 fail2ban.actions: WARNING [ssh] Ban XXX.41.124.104
Run Code Online (Sandbox Code Playgroud)

我想检测它并制定一个“recidive24”规则来阻止所有这些禁止整个/24块的攻击。

我在debian 错误档案中找到了一个关于 fail2ban的建议,我已经应用了它,但是:

  1. 如果我/24ssh监狱被触发时应用完全禁令,我会遇到一个问题,我的同一网络上的某个人很容易通过从一个 IP 进行攻击来阻止我;

  2. recidive监狱将是完美的,但它不是由风暴改变IP地址触发...

所以我想更改recidive过滤器规范,以便它只查看 IP 的前三个字节,但我在这里不知所措......执行禁令的正则表达式是 (from /etc/fail2ban/recidive.conf)

# The name of the jail that this filter is used for. In jail.conf, …
Run Code Online (Sandbox Code Playgroud)

fail2ban

5
推荐指数
1
解决办法
6369
查看次数

标签 统计

bash ×2

linux-kernel ×2

shell ×2

vim ×2

zsh ×2

acpi ×1

block-device ×1

clipboard ×1

fail2ban ×1

vimrc ×1

vnc ×1

x11 ×1