小编G-M*_*ca'的帖子

内核恐慌不转储日志文件

我在 Steam 上玩游戏时突然出现内核恐慌。我手动关闭计算机并重新启动到 Linux Mint 17.1 (Cinnamon) 64 位,然后去检查我的日志文件/var/log/,但我找不到任何与内核崩溃相关的参考或任何类型的消息那事发生了。

奇怪的是为什么它从来没有转储核心,甚至没有将其记录到日志文件中。如何确保内核始终被转储,以防再次发生内核恐慌?发生内核恐慌时为什么没有记录任何内容没有任何意义。环顾谷歌,人们建议通过阅读/var/log/dmesg/var/log/syslog/var/log/kern.log/var/log/Xorg.log等...但一无所获。甚至不在.Xsession-errors档案中。

以下是部分屏幕照片:
内核恐慌 (image2) 内核恐慌(图 1)

如果它再次发生,我总是可以拍下屏幕的照片,但我只想确保我可以让它转储内核并在内核崩溃时创建一个日志文件。

linux logs kernel kernel-panic linux-mint

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

将命令快捷方式添加到 /bin

有没有办法将自定义命令添加到/bin

例如,我用docker container ls了很多,想把它变成一个快捷命令,比如dcls.

如果我在文件dcls/bin和文件内添加一个名为的文件,请指定确切的命令docker container ls,我认为这不起作用。

如果有的话,做这样的事情的正确方法是什么?

command-line ubuntu docker

9
推荐指数
2
解决办法
6135
查看次数

tee 比没有 tee 快

我有这个简单的 bash 脚本:

\n
#!/bin/bash\n\nfor i in {1..1000000}\ndo\n    echo "hello ${i}"\ndone\n
Run Code Online (Sandbox Code Playgroud)\n

这会打印一条消息一百万次。

\n

tee我尝试比较将所有输出转储到单个文件 \xe2\x80\xaf\nvs.\xe2\x80\xaf 使用将输出拆分为两个文件的性能。

\n
$ time ./run.sh > out1.txt\n\nreal    0m9.535s\nuser    0m6.678s\nsys     0m2.803s\n$ \n$ time ./run.sh | tee out2.txt > out1.txt\n\nreal    0m6.705s\nuser    0m6.895s\nsys     0m5.214s\n
Run Code Online (Sandbox Code Playgroud)\n

事实证明,同时写入两个文件比仅写入一个文件更快(这些结果在多次运行中是一致的)。

\n

任何人都可以解释这是怎么可能的?\n另外,我应该如何解释user和 的sys输出time?\xc2\xa0\n为什么sys使用时时间会更长tee

\n

bash pipe time benchmark tee

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

通过 Wi-Fi 进行 Debian 网络安装?

我有一个关于安装 Debian 的问题。Ubuntu 有这个选项,它可以从以太网或 Wi-Fi 安装所有丢失的包,而 Debian 只有以太网选项。我准备的固件 ->参见教程,它正在运行。

但是如果我执行 netinstall,Debian 不会要求提供 Wi-Fi 密钥或密码。另一方面,Ubuntu 将通过 Wi-Fi 询问和安装元素。

是否可以准备 Debian ISO 映像,以便 Debian 安装程序通过 Wi-Fi 安装缺少的元素?

networking wifi debian system-installation

8
推荐指数
1
解决办法
6426
查看次数

Linux 何时/如何决定在应用程序终止时关闭套接字?

我有一个服务器进程和一个客户端进程运行在同一台 Linux 机器上。

有时,当我kill -9是客户端时,我会看到发送tcpdump了一条FIN, ACK消息。当然,死去的客户不可能做到这一点,因为他已经残酷地与SIGKILL. 所以我猜 Linux 操作系统会处理连接关闭。

有时我看不到任何连接关闭处理并且连接保持“已建立”(由netstat)。

我总是看到一个连接被关闭Linux ubuntu 4.4.0-53-generic
有时我看到一个连接被关闭Linux 3.13.11(纯内核,而不是 Ubuntu)。

我的问题是:

  1. Linux 是否处理关闭连接?
    1.1 在SIGKILL
    1.2. 当应用程序正常关闭,但没有调用close()?
  2. 此功能在内核版本3.13.114.4.0? Ubuntu 有什么用吗?
  3. 如果这两个进程不在同一台 Linux 机器上怎么办:它的行为会一样吗?
  4. 为什么连接有时会保持“已建立”?
  5. 我知道 TCPkeepalive套接字选项。如果 Linux 真的处理关闭连接。它们为什么存在?仅当FIN,?ACK数据包丢失时?

linux networking tcp

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

小项目使用`make`有什么好处?

我已经看到这make对大型项目很有用,尤其是在 a 中描述的令人困惑的依赖项Makefile,并且还有助于工作流程。我还没有听说make用于小型项目的任何优势。有吗?

compiling scripting development make

8
推荐指数
3
解决办法
1834
查看次数

在 32 位 Kali OS 上安装 PowerShell 失败

我在 32 位 Kali Linux PC 上安装 PowerShell 时遇到一些问题。我遵循了本指南并开始于:

apt update && apt -y install curl gnupg apt-transport-https
Run Code Online (Sandbox Code Playgroud)

接下来,我下载并添加了公共存储库 GPG 密钥,因此 APT 将信任这些包并提醒用户注意包签名的任何问题。

curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
Run Code Online (Sandbox Code Playgroud)

添加 GPG 密钥后,我将 Microsoft 包存储库添加到其自己的包列表文件下/etc/apt/sources.list.d/并更新了可用包的列表。

echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" \
                                                > /etc/apt/sources.list.d/powershell.list
apt update
Run Code Online (Sandbox Code Playgroud)

到目前为止,更新过程中没有显示错误,Microsoft 源在我的 source.list 中,一切都应该顺利进行。

当我执行:

apt -y install powershell
Run Code Online (Sandbox Code Playgroud)

我得到:

root@kali:/opt# apt -y install powershell
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package …
Run Code Online (Sandbox Code Playgroud)

software-installation 32bit kali-linux powershell

8
推荐指数
1
解决办法
1475
查看次数

在 Linux 中使用正则表达式打印出特定字段

我正在尝试从名为mypasswd. 我只能将 grep 或 egrep 与正则表达式一起使用。这是文件:

daemon:x:2:2:Daemon 1001:/sbin:/bin/bash
ftp:x:40:49:FTP export account:/srv/ftp:/bin/bash
daemonuser:x:50:59:nouser/bin/false:/home/nouser:/bin/bash
gdm:x:106:111:Gnome Display Mgr daemon:/var/lib/gdm:/bin/false
haldaemon:x:101:102:User for haldaemon:/var/run/hald:/bin/false
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
root:x:0:0:root:/root:/bin/bash
sshd:x:71:65:SSH daemon:/var/lib/sshd:/bin/false
olivert:x:1001:1005:Tom Oliver:/home/olivert:/bin/csh
smiths:x:1049:1000:Sue Williams:/export/home/smiths:/bin/csh
northj:x:1003:1003:Jim jones-North:/home/northj:/bin/csh
denniss:x:1005:1003:Sue Dennis:/home/denniss:/bin/bash
smitha:x:1050:1001:Amy Smith:/export/home/smitha:/bin/bash
jonesc:x:1053:1001:Cathy Jones:/export/home/jonesc:/bin/ksh
smithd:x:1055:1001:Dan Smith Jr:/export/home/smithd:/bin/csh
Run Code Online (Sandbox Code Playgroud)

所以输出应该是

northj:x:1003:1003:Jim jones-North:/home/northj:/bin/csh
denniss:x:1005:1003:Sue Dennis:/home/denniss:/bin/bash
smitha:x:1050:1001:Amy Smith:/export/home/smitha:/bin/bash
jonesc:x:1053:1001:Cathy Jones:/export/home/jonesc:/bin/ksh
smithd:x:1055:1001:Dan Smith Jr:/export/home/smithd:/bin/csh
Run Code Online (Sandbox Code Playgroud)

我可以轻松地运行egrep '1001|1003' mypasswd,但这也给了我“守护进程”(第五个字段包含“1001”)和“olivert”(第三个字段是“1001”)。我只需要使用 egrep/grep 正则表达式匹配这两个数字的第 4 个字段值(三个冒号之后的值)。非常感谢任何答案,因为从长远来看,它们会帮助我解决这个问题。

grep text-processing regular-expression

8
推荐指数
1
解决办法
816
查看次数

awklib 在哪里?

我正在通过GAWK: Effective AWK Programming: A User's Guide for GNU Awk, Edition 5.0 工作;2019 年 3 月。

gawk使用以下命令安装:

sudo apt-get update
sudo apt-get install gawk
Run Code Online (Sandbox Code Playgroud)

这本书的第 44 页有以下内容:

示例文件包含在 gawk 发行版中的awklib/eg/data.

我找不到awklib/eg/data,或这条路径的任何子集。它到底在哪里?

debian documentation awk gawk

8
推荐指数
1
解决办法
450
查看次数

如何从文本中删除引号

我有一个文件如下。

"ID" "1" "2"
"00000687" 0 1
"00000421" 1 0
Run Code Online (Sandbox Code Playgroud)

我想让它如下。

00000687 0 1
00000421 1 0
Run Code Online (Sandbox Code Playgroud)

我想要

  1. 删除第一行和
  2. 从任何其他行的字段中删除双引号。FWIW,双引号仅出现在第一列中。

我认为cut -c会起作用,但不能成功。我该怎么办?

text-processing

8
推荐指数
3
解决办法
4424
查看次数