小编Mar*_*ter的帖子

更改 .sqlite_history 文件的位置

sqlite3将命令历史存储在 中.sqlite_history,默认情况下创建于:

$HOME/.sqlite_history
Run Code Online (Sandbox Code Playgroud)

如何将此位置更改为其他位置?

这是可能的,例如mysql,我可以在其中定义环境变量

MYSQL_HISTFILE=/path/to/whatever/file 
Run Code Online (Sandbox Code Playgroud)

但是我找不到任何相应的环境变量 sqlite3

export SQLITE_HISTFILE=/tmp/history 
Run Code Online (Sandbox Code Playgroud)

没有效果。我发现了一个帖子,其中有人问同样的问题,但没有有用的答案中给出。

environment-variables home sqlite

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

cron:将错误发送到系统日志,而不是 MTA

MTA我的桌面上没有安装。

每当脚本出现问题时cronjob,我都会在日志中看到以下内容:

CRON:  (CRON) info (No MTA installed, discarding output)
Run Code Online (Sandbox Code Playgroud)

一个应该运行的脚本cron生成了一个错误,并cron希望通过电子邮件向我发送该错误。

但我希望在我的日志中看到错误,即正常记录到syslog,与上面的消息相同info

是否可以告诉cron忘记MTA并将所有内容(包括错误)记录到本地syslog

更新

@roaima 的解决方案非常适合我原来的问题。但我意识到我需要更复杂的语法cronjob,其中stdoutfrom 通过command1管道传输到command2,并且stderr(从两者?)通过管道传输到command3

这是一个具体的例子(简化):

0 * * * * mysqldump mydb | ifne xz > "/tmp/$(date +\%F).sql.xz" | logger -t mysqldump -p cron.err
Run Code Online (Sandbox Code Playgroud)

在 abova 示例中,我需要将 stdout 从 发送mysqldumpifne xz,并且仅当其中一个mysqldumpifne …

cron syslog error-handling

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

在 dash 中模拟 zsh multios(多个重定向)

在 中zsh,启用该选项后multios,我可以将输出通过管道传输到两个不同的进程,即:

cat /dev/sda > sda.img | sha256sum > sda.img.sha256
Run Code Online (Sandbox Code Playgroud)

我怎样才能在dashie中实现同样的目标/bin/sh

shell zsh io-redirection dash

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

什么是 utempter,为什么 xterm 要使用它?

当我启动时xterm,它尝试启动一个二进制文件:

/usr/lib/x86_64-linux-gnu/utempter/utempter
Run Code Online (Sandbox Code Playgroud)

我找不到任何关于这个二进制文件用途的信息。

man utempter没有条目,在网络上搜索“utempter”只会显示可能存在漏洞的链接。该二进制文件已s设置位。

为什么xterm要启动i?这个二进制文件的目的是什么?我可以告诉 xterm 不要启动它吗?

setuid xterm

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

如何在 Linux 上打开/转换 .ost 文件(Microsoft Outlook 电子邮件文件夹)

如何.ost在 Linux 上转换(或打开)文件(Microsoft Outlook 电子邮件文件夹)?

理想情况下,我想用 来阅读它Mutt。但mutt似乎不理解这种格式。因此我想将其转换为可读的格式,例如 mbox 或 mdir 格式。

linux下有这样的转换工具吗?

email file-format conversion

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

构建 Debian 软件包,无需捆绑在一起的关联软件包

当我构建 debian 软件包时,通常会构建许多捆绑在一起的相关软件包,以及版本foo-dbgsym-*foo-doc软件包。

例如,即使是相对简单的包,例如make,也会构建额外的包:

make-dbgsym_4.2.1-1.2_amd64.deb
make-guile-dbgsym_4.2.1-1.2_amd64.deb
make-guile_4.2.1-1.2_amd64.deb
make_4.2.1-1.2_amd64.deb
Run Code Online (Sandbox Code Playgroud)

我可以告诉构建系统只构建make而不构建吗make-guile

这是我用于构建包的过程:

apt-get source make
cd make*
dpkg-buildpackage --build=binary --no-sign
Run Code Online (Sandbox Code Playgroud)

是否有一个通用流程可以指定我想要构建哪些包?

Make 是一个简单的例子,但是较大的包会构建许多我不感兴趣的包版本,这些版本需要安装依赖库,并且构建过程需要更长的时间。

compiling debian dpkg

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

破折号:从管道读取变量

bashor 中zsh,我可以使用以下语法从管道读取到变量:

echo AAA BBB | read X Y ; echo $X
Run Code Online (Sandbox Code Playgroud)

这将打印 AAA

为什么同样不起作用/bin/sh

我在 Debian 中使用/bin/sh-> /bin/dash dash

shell dash

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

alsa:记录给定声卡上的所有内容

是否有一种简单的、独立于应用程序的方法来在给定的声卡上录制音频?

假设我插入了 USB 耳机,它显示为/dev/snd/foo

然后我使用 Zoom 或 Skype 或任何其他应用程序拨打电话。

如果应用程序不允许本地录音,我可以在声卡级别独立录制音频吗?

我正在使用 alsa,我(天真地)想象可能有一些基础设施可以附加到或“镜像”声卡并将音频转储到文件?我需要录制两个通道(麦克风、扬声器),所以可能需要一些混音?

我的操作系统是 Debian 10,我使用的是 alsa (不是pulseaudio)

alsa audio recording

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