小编Net*_*ear的帖子

apt 完全升级与 apt 升级冗余

这可能是一个可能的错误,但它已经困扰了我几天了。

apt-get upgrade和之间的区别apt-get dist-upgrade现在已经众所周知且已经确立,即升级安装/升级而dist-upgrade能够安装/删除/升级如果软件包删除恰好是安装或升级另一个软件包所必需的。使用类似的东西可以很容易地发现包的差异

(以下是一种快速而肮脏的方法,需要在终端中输入 sudo 密码以进行复制粘贴。此外,由于我自己修补了几个软件包和驱动程序,我需要保留功能,因此我将 OR 包含在在awk提取只有那些安装和那些要升级,而不是那些被列为必须保持回来,但下面应该工作,即使这些行不存在于你的apt upgrade输出):

$echo -e 'n' | sudo apt-get dist-upgrade | awk '
/be installed|be upgraded/{f=1;next}; /not upgraded|kept back/{f=0}f' | awk '
BEGIN {RS=" ";} {print $0}
' | grep . > apt_get_dist_list

$echo -e 'n' | sudo apt-get upgrade | awk '
/be installed|be upgraded/{f=1;next}; /not upgraded|kept back/{f=0}f' |  awk '
BEGIN {RS=" ";} {print $0}
' | grep …
Run Code Online (Sandbox Code Playgroud)

apt package-management dist-upgrade

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

无线鼠标,非常奇怪的行为

在最近一次apt full-upgrade包括内核更新之后,我现在两次遇到了一个相当奇怪的问题,更重要的是,我一生都无法弄清楚我找到的唯一解决方案如何以及为什么能够真正修复它。

现在有两次,当我在观看视频时闲置 20-30 分钟时,我的鼠标(Logitech M510,一直工作完美,我几乎可以肯定不是问题所在,正如我将在下面描述的那样)已经禁用了指针,同时保持按钮功能。

1.电池已更换,鼠标已关闭并重新打开多次,这两者都没有任何区别。

2.同样,移除 USB 统一接收器也无法解决问题。

3. dmesg不记录任何错误、警告。当接收器重新插入时,输出与以前一样正常:

    usb 4-1.1: USB disconnect, device number 3
    usb 4-1.1: new full-speed USB device number 5 using ehci-pci
    usb 4-1.1: New USB device found, idVendor=046d, idProduct=c52b, bcdDevice=24.07
    usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    usb 4-1.1: Product: USB Receiver
    usb 4-1.1: Manufacturer: Logitech
    logitech-djreceiver 0003:046D:C52B.0008: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:1d.0-1.1/input2
    input: Logitech M510 as /devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.1/4-1.1:1.2/0003:046D:C52B.0008/0003:046D:4051.0009/input/input38
    logitech-hidpp-device 0003:046D:4051.0009: …
Run Code Online (Sandbox Code Playgroud)

mouse xinput hid

5
推荐指数
0
解决办法
909
查看次数

Linux cli:笔记本电脑盖关闭时禁用睡眠

我的基于 Debian 的发行版(antix)上没有 systemd,而且也没有桌面环境。当盖子关闭时,如何使我的笔记本电脑仅显示空白(或禁用)屏幕,而不是暂停并保持暂停按钮正常工作

debian sleep power-management

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

程序拦截、内部处理和忽略 SIGINT 信号的合法原因

我们知道,除了SIGKILL和之外SIGSTOP,程序还可以拦截 IPC 信号,并运行其内部处理程序来绕过默认处理程序的操作。

我至少能想到一个利用SIGINT信号执行此操作的充分理由。

  • 即实现一个信号处理程序,在恢复到终止进程的默认信号操作之前,执行最后一次备份、保存内存转储或写入日志。

我还可以想到恶意软件可能捕获并阻止 SIGINT 的一个很好的理由:

  • 即延长进程的执行时间。对于大多数用户来说,Ctrl+C是大多数终端用户的键盘快捷键,有很多人不知道Ctrl+ ZSIGTSTP它只会停止进程,保留在终端中jobs),更不用说Ctrl+了\,它发送SIGQUIT并创建一个核心转储。

  • 如果Ctrl+C被捕获并被阻止,此类用户可能会尝试打开另一个终端窗口,并运行以下内容:

    ps aux | grep [process name]
    
    Run Code Online (Sandbox Code Playgroud)

    获取进程PID,并执行SIGKILL

    kill -9 [$PID]
    
    Run Code Online (Sandbox Code Playgroud)
  • 同样,连接到远程计算机上的终端会话的用户将尝试与新的终端会话建立第二个连接,并通过类似的进程/PID 搜索来终止罪魁祸首。显然,这种策略可能只会延长进程运行时间很短一段时间,但即使使用 10MB/s 高带宽连接的文件传输过程额外 3 分钟,也会传输近 2 GB 的额外数据,因此肯定有一些优点它。

然而,最近我注意到——也许只是因为我开始关注它——有些程序似乎属于另一个子集。

  • 这些程序是开源的,并且对软件包进行了足够的维护和检查,隐藏主要的恶意软件代码似乎不太可能。

  • vim它们不像其他文本编辑器那样控制键盘输入

  • 他们有内部处理程序来捕获 SIGINT 并完全忽略它。没有最终的进程终止,并且据所知,没有尝试最后的关键任务。

我的问题

  • 进程出于合法目的可能选择拦截但完全丢弃 SIGINT 是否有可能的原因?

  • 换句话说,是否有充分的理由(从代码或系统的角度来看)或情况,捕获并忽略 SIGINT 比其已知的默认操作(终止正在运行的进程)更有利?

bash process terminal sigint

2
推荐指数
1
解决办法
784
查看次数