Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

8
终端的硬盘序列号?
我有多个连接到服务器的硬盘,但不确定sdXY哪个硬盘。如果从终端可以看到硬盘的序列号,则可以轻松识别它们。 我有什么办法可以从终端上看到它们?

4
如何从头开始编译C编译器,然后从头开始编译Unix / Linux
假设我在美国/英国以外的大型服务机构工作。我们广泛使用UNIX和Linux服务器。 通读本文时,提到将后门插入C编译器很容易,然后使用该编译器编译的任何代码也将包含后门。现在,鉴于最近有关NSA / GCHQ要求在所有加密方法,硬件和软件中放置后门/弱点的漏洞,编译器现在是失败的关键点。可能所有标准UNIX / Linix发行版都可能受到损害。我们无力让流氓政府破坏我们的系统,数据和客户数据。 有了这些信息,我想从头开始构建一个受信任的编译器,然后就可以建立一个安全的基础,这样我就可以使用该编译器从源代码构建操作系统和应用程序。 题 从源代码编译编译器(看似鸡蛋的场景)然后从头开始编译受信任的Unix / Linux发行版的正确(安全方式)是什么? 您可以假设我或其他人具有阅读和理解源代码的安全漏洞的能力,因此在编译之前将首先对源代码进行审查。我真正需要的是一个工作指南,可以从头开始安全地生产此编译器,并且可以用于编译内核,操作系统和应用程序的其他部分。 如果我们要对在该堆栈上运行的操作系统或应用程序有信心,则安全堆栈必须从基本级别开始。是的,我知道可能存在硬件后门,这些后门可能会在构建编译器时向编译器中插入一些微代码。目前我们对此无能为力,只能使用非美国设计的芯片。让我们首先对这一层进行排序,并假设我可以在插入任何后门之前将其构建在旧计算机上。 正如布鲁斯·施耐尔(Bruce Schneier)所说:“我向工程师说:我们建立了互联网,我们中的一些人已经颠覆了互联网。现在,那些热爱自由的人必须加以修复。” 额外链接: http://nytimes.com/2013/09/06/us/nsa-foils-much-internet-encryption.html?pagewanted=all&_r=0 http://theguardian.com/commentisfree/2013/sep/05/government-betrayed-internet-nsa-spying

5
如何编辑符号链接?
我对符号链接的基本理解是作为一个特殊文件,该文件包含另一个文件的字符串路径。内核的VFS可以将其中的很多内容抽象出来,但是是否有任何原因导致符号链接似乎无法编辑? 换句话说:我可以编辑符号链接吗?如果没有,为什么不呢? 我确实知道,有多种替换符号链接的方法(答案部分中当前有两个替代方法),但对为什么替换似乎是处理符号链接的唯一方法的解释将很有趣。您为什么不能只更改他们指向的位置?

7
Shell脚本失败:语法错误:“(”意外
我一直在研究一个脚本,该脚本可以自动为Raspberry Pi开发设置开发环境(有关工作的逐步详细信息,请参见此处)。该脚本已在该文章中链接,但为方便起见,您也可以在此处找到它。现在,当运行此脚本时,将安装并正确设置环境,但是由于sudo的默认超时值,您必须多次输入sudo密码。因此,我开始进行实验,删除所有sudo行,然后在命令行通过sudo运行整个脚本,如下所示: kemra102@ubuntuvm:~$ sudo ./pi_dev_env_install.sh 这可以按预期工作,并且可以完成大部分工作: ./pi_dev_env_install: 68: ./pi_dev_env_install.sh: Syntax error: "(" unexpected 现在,当不使用sudo运行整个脚本时,此行以前可以正常工作。以sudo运行的这条线没有什么可以阻止它工作,据我所知,有人有任何想法吗?

2
符号链接递归-是什么使其“重置”?
我编写了一个bash脚本,以查看当我继续跟踪指向同一目录的符号链接时会发生什么。我期望它可以创建一个非常长的工作目录,或者崩溃。但是结果让我感到惊讶... mkdir a cd a ln -s ./. a for i in `seq 1 1000` do cd a pwd done 一些输出是 ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a ${HOME}/a ${HOME}/a/a ${HOME}/a/a/a ${HOME}/a/a/a/a ${HOME}/a/a/a/a/a ${HOME}/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a ${HOME}/a/a/a/a/a/a/a/a 这是怎么回事
64 bash  symlink 

5
如何从正在运行的系统中安全地删除SATA磁盘?
有时我需要将磁盘插入磁盘托架。在其他时候,我有一个非常奇怪的设置,即在笔记本电脑上使用SATA-eSATA电缆连接SSD的同时,还要从台式机上取电。 如何安全地从系统中删除SATA磁盘?这个Phoronix论坛主题有一些建议: justsumdood写道: 一个(匿名)droid写道: 在拔掉插头之前,您在软件方面做了什么?它是简单的“ umount / dev / sd” [驱动器号]吗?卸下设备后,要“关闭电源”(或使设备休眠): hdparm -Y /dev/sdX (其中X代表您要关闭电源的设备。例如:/ dev / sdb) 这将使驱动器掉电,从而可以移除驱动器而没有电压浪涌的危险。 这是否意味着磁盘缓存已正确刷新并随后关闭电源? 来自同一线程的另一个建议: chithanh写道: 所有SATA和eSATA硬件在物理上都可以热插拔(即,如果您插入/拔出插头,则不会损坏)。 芯片组和驱动程序如何处理这是另一个问题。某些驱动程序/芯片组组合不能正确处理热插拔,需要一个如下所示的热插拔命令: echo 0 - 0 > /sys/class/scsi_host/hostX/scan 用适合您的SATA / eSATA端口的编号替换X。 我怀疑这样做是否正确,但我也找不到任何证明。 那么,从系统中删除连接的磁盘的正确方法是什么?假设我已经卸载了磁盘上的每个分区并运行了sync。如果可能,请指向一些官方文档,我在Linux文档树或Linux ATA Wiki中都找不到任何内容。
64 ssd  sata  hot-plug  disk 

5
rsync是否验证在两个本地驱动器之间复制的文件?
我想从一个本地驱动器到另一个本地驱动器复制大量文件的新副本。 我已经读到rsync在通过网络将文件发送到远程计算机时会对文件进行校验和比较。 在两个本地驱动器之间复制文件时,rsync会进行比较吗? 如果确实进行了验证-这是一个安全的选择吗?还是进行逐字节比较更好?

7
Linux等同于C:\ Program Files?
我知道在Windows以及Linux和Unix中,可以在任何目录中安装程序|软件。同样,如果使用发行版的打包系统安装了软件包,则会将文件放置在正确的位置。 但有时,软件安装会提示您放置文件的路径。如果是Linux发行版,则此默认位置(C:\Program Files或C:\progra~1等效位置)在哪里?各种发行版本是否有所不同?如果是的话,这个地方将是RHEL,Suse和Ubuntu?

5
列出程序访问的文件
time 如果您想弄清楚给定命令需要多少CPU时间,这是一个很棒的命令。 我正在寻找类似的东西,可以列出程序及其子级正在访问的文件。实时或事后报告。 目前,我使用: #!/bin/bash strace -ff -e trace=file "$@" 2>&1 | perl -ne 's/^[^"]+"(([^\\"]|\\[\\"nt])*)".*/$1/ && print' 但如果运行命令涉及则失败sudo。它不是很智能(如果它只能列出现有文件或存在权限问题的文件,或者将它们分为读取的文件和写入的文件,那将很好。)strace速度也很慢,因此选择较快的方法会很好。

1
如何使用pacman强制在Arch中删除软件包?
我如何强制在Arch中删除一个软件包,pacman而其他软件包仍然依赖于它。 pacman -R perl-libwww checking dependencies... error: failed to prepare transaction (could not satisfy dependencies) :: perl-app-cpanminus: requires perl-libwww>=5.828 :: perl-app-pmuninstall: requires perl-libwww :: perl-app-sd: requires perl-libwww :: perl-catalyst-action-rest: requires perl-libwww>=2.033 :: perl-catalyst-runtime: requires perl-libwww>=1.64 :: perl-cpan: requires perl-libwww :: perl-cpan-mini: requires perl-libwww :: perl-cpan-uploader: requires perl-libwww :: perl-feed-find: requires …


7
进行符号链接到相对路径名
我可以做这个: $ pwd /home/beau $ ln -s /home/beau/foo/bar.txt /home/beau/bar.txt $ readlink -f bar.txt /home/beau/foo/bar.txt 但我希望能够做到这一点: $ pwd /home/beau $ cd foo $ ln -s bar.txt /home/beau/bar.txt $ readlink -f /home/beau/bar.txt /home/beau/foo/bar.txt 这可能吗?我可以以某种方式解析相对路径名并将其传递给ln吗?
64 symlink 

4
有什么方法可以防止将命令添加到您的历史记录中?
有什么方法可以防止将命令添加到您的历史记录中?我有一个命令要保留在历史记录文件中,并且当我搜索存储在内存中的历史记录时,我真的不在乎将其保存在该文件中,尽管这没什么大问题。有什么方法可以防止这种情况,还是我只需要返回并编辑历史文件。 更新:我没有意识到这可能是特定于外壳的。我的壳是zsh。欢迎您回答其他外壳程序,以便人们知道如何在其外壳程序中执行此操作。

7
程序将STDIN传递到STDOUT并去除了颜色代码?
我有一个产生彩色输出的命令,我想将其通过管道输出到一个去除了颜色代码的文件中。cat除了剥离颜色代码外,是否有其他类似的命令?我计划做这样的事情: $ command-that-produces-colored-output | stripcolorcodes > outfile
64 colors  pipe  filter 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.