问题标签 [linux]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
25 回答
707136 浏览

linux - 如何使用 Linux 命令行将文件作为电子邮件附件发送?

我创建了一个每天晚上在我的 Linux 服务器上运行的脚本,用于将我mysqldump的每个 MySQL 数据库备份到 .sql 文件并将它们打包为压缩的 .tar 文件。我想要完成的下一步是通过电子邮件将该 tar 文件发送到远程电子邮件服务器以便妥善保管。我已经能够通过管道将备份文本文件发送到电子邮件正文中的原始脚本,mailx如下所示:

cat回显备份文件的文本,该文本通过管道传递到mailx程序中,收件人的电子邮件地址作为参数传递。

虽然这可以满足我的需要,但我认为它可能会更好,有没有办法使用 shell 脚本或其他方式将压缩的 .tar 文件作为附件发送到外发电子邮件? 这将比处理包含标题数据并且通常存在自动换行问题等的非常长的电子邮件信息要好得多。

0 投票
7 回答
14783 浏览

linux - 有哪些证书颁发机构软件可用?

我正在运行许多 SSL 加密的网站,并且需要生成证书才能在这些网站上运行。它们都是内部应用程序,所以我不需要购买证书,我可以创建自己的。

我发现一直使用 openssl 做所有事情都非常乏味,并且认为这可能是以前做过的事情,并且存在用于它的软件。

我更喜欢基于 linux 的系统,我更喜欢命令行系统而不是 GUI。

有人有什么建议吗?

0 投票
13 回答
412456 浏览

linux - 如何在 Linux 中在分段错误时生成核心转储?

我在 Linux 中有一个进程出现分段错误。我如何告诉它在失败时生成核心转储?

0 投票
4 回答
9498 浏览

linux - 在 Unix 系统上自动获取堆栈跟踪

有哪些方法可以在 Unix 系统上自动获取堆栈跟踪?我的意思不是仅仅获取一个核心文件或与 GDB 交互地附加,而是有一个 SIGSEGV 处理程序将回溯转储到文本文件。

以下可选功能的奖励积分:

  • 崩溃时收集的额外信息(例如配置文件)。
  • 通过电子邮件将崩溃信息包发送给开发人员。
  • 能够将其添加到dlopened 共享库中
  • 不需要图形用户界面
0 投票
4 回答
7598 浏览

c++ - 如何为 QtWebKit 安装插件

我正在运行 Qt 4.5 商业快照,并想在我的QWebView. 是否有需要放置此文件的特定位置?我可以用 抓住它QWebPluginFactory吗?

0 投票
9 回答
11257 浏览

linux - 在 Linux/UNIX 之类的纯文本文件中隐藏网络代理密码

通常在大型网络中,计算机需要在经过身份验证的代理后面运行 - 任何与外部世界的连接都需要用户名/密码,这通常是用户用于登录电子邮件、工作站等的密码。

这意味着必须将网络密码apt.conf以及通常定义http_proxy, ftp_proxyhttps_proxy环境变量放入文件中~/.profile

我意识到apt.conf你可以设置chmod 600(在 Ubuntu/Debian 上不是默认设置!)但在我们的系统上有些人需要 root priveleges 。

我也意识到从技术上来说,从具有 root 访问权限的人那里保护密码是不可能的,但是我想知道是否有一种方法可以隐藏密码以防止意外发现。Windows 以管理员身份与用户一起操作,但以某种方式存储网络密码(可能以某种方式隐藏在注册表深处),因此在典型使用中您不会以纯文本形式偶然发现它

我从前几天才问起,在比较跨系统的配置文件时,我完全是偶然发现了别人的密码。

@monjardin - 恐怕公钥身份验证不是这个网络上的替代方案。另外,我怀疑大多数命令行工具都支持它。

@Neall - 我不介意其他用户可以访问网络,他们可以使用我的凭据访问网络,我只是不希望他们以纯文本形式出现在我的密码中。

0 投票
6 回答
4758 浏览

c++ - 如何将 linux 设备路径与 Windows 驱动器名称匹配?

我正在编写一个应用程序,它在某个阶段在 Linux 环境中执行低级磁盘操作。该应用程序实际上由两部分组成,一个在 Windows 上运行并与用户交互,另一个是从 LiveCD 运行的 linux 部分。用户选择 Windows 驱动器号,然后 linux 部分对相应的分区执行操作。问题是在 Windows 驱动器号(如 C:)和 linux 设备名称(如 /dev/sda1)之间找到匹配项。这是我目前认为丑陋的解决方案:

  • 在 Windows 中的某个预定义位置(即系统分区的根目录)中存储分区信息(即驱动器号、块数、驱动器序列号等)。

  • 从 /proc/partitions 读取分区列表。只获取那些具有 SCSI 或 IDE 硬盘驱动器主编号和将它们标识为真实分区而不是整个磁盘的次编号的分区。

  • 尝试使用 ntfs 或 vfat 文件系统安装它们。检查挂载的分区是否包含Windows应用程序存储的信息。

  • 找到由 Windows 应用程序编写的所需信息后,进行实际匹配。对于在 /proc/partitions 中找到的每个分区,获取驱动器序列号(通过 HDIO_GET_IDENTITY 系统调用)、块数(来自 /proc/partitions)和驱动器偏移量(/sys/blocks/drive_path/partition_name/start),将其与 Windows信息,如果匹配 - 将 Windows 驱动器号与 linux 设备名称一起存储。

这个方案有几个问题:

  • 这很丑陋。在 Windows 中写入数据,然后在 Linux 中读取数据会使测试成为一场噩梦。

  • linux 设备主编号仅与 IDE 或 SCSI 设备进行比较。这可能会失败,即在 USB 或 FireWire 磁盘上。可以添加这些类型的磁盘,但将应用程序限制为仅可能设备的已知子集似乎是个坏主意。

  • 看起来 HDIO_GET_IDENTITY 仅适用于 IDE 和 SATA 驱动器。

  • /sys/block hack 可能不适用于 IDE 或 SATA 驱动器以外的其他驱动器。

关于如何改进此架构的任何想法?也许还有另一种方法来确定 Windows 名称,而无需在 Windows 应用程序中写入所有数据?

PS 应用程序的语言是 C++。我无法改变这一点。

0 投票
3 回答
12801 浏览

linux - Bash 管道处理

有谁知道 bash 如何处理通过管道发送数据?

此命令是否将 file.txt 的所有内容打印到缓冲区中,然后由 tail 读取?还是这个命令,比如说,逐行打印 file.txt 的内容,然后在每一行暂停以便 tail 处理,然后要求更多数据?

我问的原因是我正在嵌入式设备上编写一个程序,该程序基本上对一些数据块执行一系列操作,其中一个操作的输出作为下一个操作的输入发送。我想知道linux(bash)是如何处理这个问题的,所以请给我一个一般性的答案,而不是当我运行“cat file.txt | tail -20”时会发生什么。

编辑:Shog9 指出了一篇相关的 Wikipedia 文章,这并没有直接引导我找到这篇文章,但它帮助我找到了这个:http ://en.wikipedia.org/wiki/Pipeline_%28Unix%29#Implementation确实有我正在寻找的信息。


我很抱歉没有说清楚。当然,您正在使用管道,当然您正在使用命令各个部分的标准输入和标准输出。我以为这太明显了,无法说明。

我要问的是如何处理/实施。既然两个程序都不能同时运行,那么数据是如何从标准输入发送到标准输出的呢?如果第一个程序生成数据的速度明显快于第二个程序会怎样?系统是否只运行第一个命令直到它被终止或者它的标准输出缓冲区已满,然后继续执行下一个程序,等等循环直到没有更多数据需要处理或者是否有更复杂的机制?

0 投票
8 回答
25140 浏览

python - 使用 Python 查找损坏的符号链接

如果我调用os.stat()一个 broken symlink,python 会抛出一个OSError异常。这对于找到它们很有用。但是,还有一些其他原因os.stat()可能会引发类似的异常。有没有更精确的方法symlinks在 Linux 下用 Python 检测损坏?

0 投票
3 回答
5278 浏览

linux - `/dev/ttyS0` 和 `/dev/ttys0` 之间的区别?

/dev/ttyS0在 Linux 中,和 和有什么区别/dev/ttys0

我知道第一个是串行端口,但是第二个s呢?