我通常将长时间运行的 X 会话与多个虚拟桌面和许多 xterm 一起使用。
我还在 shell (zsh) 中使用作业控制。
有时我希望我能用一个简单的命令识别一个 shell 或进程正在运行(甚至挂起)的 xterm。
例如,您使用 vim 编辑一个文件,vim 会警告您该文件已被另一个仍在运行的 vim 实例打开。但是现在您已经忘记了这个带有进程 ID XYZ 的 vim 是在哪个 xterm 中启动和暂停的。杀死它不起作用,因为它被暂停。通过信号恢复它然后终止可以工作,但它可能会搞砸一个在前台运行的进程,也许你不想终止 vim 实例,因为它设置了几个窗口......
目前我正在使用 awesomewm,但我也对其他 wms 的解决方案感兴趣。
你们可能都知道商业动态 DNS 提供商,如 dyndns.org 或 no-ip.com。
但是如何为少数机器创建类似的服务呢?
什么服务器软件最适合这种设置(在 Linux 下)?
好处:
最低要求:
可能类似于:您至少拥有一台带有静态 IP、域和域提供商的主机,您可以配置 DNS 记录。
客户:
一些通过电缆/DSL 连接的机器,并且只能在每次拨号和/或每 x 小时获得动态 IP 地址。
我想在 Fedora 上测试一个(上游)自定义内核。
目前的计划是:
/boot/config-3.6.6-1.fc17.x86_64/boot但是 initramfs...img 文件呢?我如何生成它?
还有什么重要的?
如何使用 PXE 引导通过网络安装 Fedora?
动机:目标系统的 BIOS 根本无法从 USB 大容量存储设备启动。另一种动机是通过网络启动更方便。
挑战:LAN 已经有一个无法更改的 DHCP 服务器,即不支持配置 PXE 相关选项的服务器(它是 Fritz Box 路由器的一部分)。
打开文件进行写入和使用其文件描述符的 shell 语法是:
exec 3>output.log
Run Code Online (Sandbox Code Playgroud)
使用 bash 和 zsh 您还可以编写:
exec 13>output.log
Run Code Online (Sandbox Code Playgroud)
因此,稍后在脚本中您可以像这样重定向输出:
generate-partx >&3
generate-partx >&13
Run Code Online (Sandbox Code Playgroud)
并关闭它们:
exec 3>&-
exec 13>&-
Run Code Online (Sandbox Code Playgroud)
原始的 ksh(测试过 88 和 93)似乎只支持使用该语法的文件描述符编号 0 到 9。
当然,有人可能会争辩说 10 个打开的文件描述符对于每个人来说应该足够了和/或没有人再使用 ksh。
但有时事实并非如此,而你却是。
因此,我的问题是:如何在 ksh 脚本中打开超过 10 个文件描述符?
在配备全新三星 SSD 860 EVO 250GB RVT04B6Q 的全新英特尔 NUC(第 10 代)上,该 SSD 会产生一些 WRITE FPDMA QUEUED 命令失败,如下所示:
Nov 28 21:25:26 ata3.00: exception Emask 0x10 SAct 0x60 SErr 0x400100 action 0x6 frozen
Nov 28 21:25:26 ata3.00: irq_stat 0x08000000, interface fatal error
Nov 28 21:25:26 ata3: SError: { UnrecovData Handshk }
Nov 28 21:25:26 ata3.00: failed command: WRITE FPDMA QUEUED
Nov 28 21:25:26 ata3.00: cmd 61/40:28:00:d7:31/00:00:00:00:00/40 tag 5 ncq dma 32768 out
res 40/00:28:00:d7:31/00:00:00:00:00/40 Emask 0x10 (ATA bus error)
Nov 28 21:25:26 ata3.00: …Run Code Online (Sandbox Code Playgroud) raid-1(镜像)设备上的交换有哪些优点?
(在运行linux的服务器环境中)
我的意思是,你可以在 Linux 中使用多个磁盘设备进行交换。并且对于具有相同优先级的交换设备,内核有可能优化读取和写入(即条带化))。
我能想到一个:使用 raid-1 和热插拔驱动器,您可以更改交换镜像的故障部分,而无需重新启动。假设内核尚未从故障分支读取和使用损坏的页面。
如果没有 raid1,您将不得不重新启动或交换故障设备,并希望仅终止不重要的进程(现在不可用的页面调出内存)。
这是一个优点吗?还有其他优点吗?
有时似乎标准file命令(我的 Ubuntu 系统上的 5.04)不够复杂(或者我只是使用错误,这很可能)。
例如,当我在一个.exe文件上运行它时,我非常肯定它包含一些存档,我希望输出如下:
$ improved-file foo.exe
foo.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit
.zip archive included (just use unzip to extract)
Run Code Online (Sandbox Code Playgroud)
其他事宜:
file显示“数据”)包含存档的此类 .exe 文件的示例- 我猜测了一些存档格式并尝试了相应的解包命令,并使用了试错法 - 最终奏效了 - 但我更喜欢更自动检查面向工作流。
我不清楚以下内容:
该进程是否at适用于所有 linux 安装?或者我需要做些什么来“安装”它?
$ ansible all -m ansible.builtin.shell -a 'echo $TERM'
ERROR! this task 'ansible.builtin.shell' has extra params, which is only
allowed in the following modules: import_role, win_command,
include_vars, include_tasks, raw, win_shell, command, add_host,
meta, include_role, shell, import_tasks, group_by, set_fact, script, include
Run Code Online (Sandbox Code Playgroud)
谁能帮我找出问题所在
这是带有-vvv标签的
$ ansible -vvv centos -m ansible.builtin.shell -a 'echo $TERM'
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/chandru/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, …Run Code Online (Sandbox Code Playgroud) linux ×2
ansible ×1
at ×1
compiling ×1
dns ×1
dynamic-dns ×1
echo ×1
fedora ×1
file-command ×1
file-format ×1
files ×1
ksh ×1
linux-kernel ×1
pxe ×1
raid1 ×1
scheduling ×1
shell ×1
ssd ×1
swap ×1
xterm ×1