Unix & Linux

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

2
如何在保密的情况下自动执行使用密码短语的gpg解密?
我的任务是使用cron(或任何与Ubuntu Server兼容的作业调度工具)自动进行gpg解密。因为它必须是自动化的,所以我使用了--passphrase它,但是它最终出现在外壳程序历史记录中,因此在进程列表中可见。 如何在保持良好(最好是极好的)安全性标准的同时实现自动解密? 一个例子将不胜感激。
13 ubuntu  security  gpg 

4
根据文件名从终端删除特定文件
我有一个包含名称文件的目录 rho_0.txt rho_5000.txt rho_10000.txt rho_150000.txt rho_200000.txt 等等。我想删除所有5000的倍数。 我尝试了以下方法:printf 'rho_%d.txt\n' $(seq 5000 10000 25000) | rm,但这给了我回应rm: missing operand。 还有另一种方法吗?
13 files  rm 

4
软件包升级后无法重新安装/恢复为只读
我正在使用Debian Stretch。我的根分区已安装read-only。仅当我安装或升级软件包时,才/重新安装到read-write(通过使用apt钩子),然后重新安装回ro。 有时在软件包升级后,我无法重新安装/回只读状态: mount -o remount,ro / mount: / is busy 在较旧的Debian版本(Wheezy)上,我可以列出已与取消链接的打开文件lsof: lsof +L1 或者,更具体地说,是防止阻止/重新安装到ro的文件: { lsof +L1 ; lsof|sed -n '/SYSV/d; /DEL|(path /p;' ; } | grep -Ev '/(dev|home|tmp|var)' 但是,在Debian Stretch上,lsof +L1不会列出任何文件。 我没有看到任何改变+|-L在man lsof这可以解释为什么它停止工作。 为什么lsof + L1不再列出已取消链接的打开文件? 如何列出阻止/重新挂载为只读的文件? 更新 我已经停止了所有可以停止的进程,只有它们可以运行,init并且getty仍在运行,但是仍然无法重新安装/到ro。
13 debian  files  apt  readonly  lsof 

3
为什么不按字面意义处理`|`?
我的问题来自如何将正则表达式存储在shell变量中,从而避免引用shell特有字符的问题?。 为什么会出现错误: $ [[ $a = a|b ]] bash: syntax error in conditional expression: unexpected token `|' bash: syntax error near `|b' 在[[ ... ]]的第二个操作数内部=,应该是一个遍历模式。 这a|b不是有效的浮动模式吗?您能否指出它违反了哪个语法规则? 下面的一些评论指出,这|被解释为管道。 然后将=glob模式更改=~为regex模式进行 |工作 $ [[ $a =~ a|b ]] 我学会了从学习猛砸在P180 我以前的帖子是|在解释之初确认为管道,(其中包括解析例子中的条件表达式)解释的任何其他步骤之前也。那么,如何|在使用时将其识别为regex运算符=~,而又在使用时如何将 其识别为无效使用的管道=?这让我认为第1部分中的语法错误并不意味着将|其解释为管道。 Shell从标准输入或脚本读取的每一行都称为管道。它包含一个或多个用零个或多个管道字符(|)分隔的命令。对于读取的每个管道,shell会将其分解为命令,为管道设置I / O,然后对每个命令执行以下操作(图7-1): 谢谢。
13 bash 

4
独立验证TRIM确实适用于SSD
我有一个LUKS分区/dev/sda1,我喜欢打开--allow-discards: cryptsetup --allow-discards luksOpen /dev/sda1 root 然后,我ext4使用以下discard选项挂载文件系统: grep /dev/mapper/root /proc/mounts /dev/mapper/root / ext4 ro,relatime,block_validity,discard,delalloc,barrier,user_xattr,acl 0 0 然后,我修剪已安装分区上的可用空间: fstrim -v / 使用df,我看到/有80%的可用空间。这意味着在上/dev/sda1,磁盘的80%是二进制零。 如果我用克隆图像 cat cat /dev/sda1 > sda1.img 并使用压缩图像xz,我希望磁盘上的所有零都将被压缩。由于磁盘上20%的数据是加密的,因此它看起来应该像随机的并且是不可压缩的。因此,xz压缩的图像应为aprox。原始大小的20%。 但是,所得的xz压缩图像与原始原始图像的大小大致相同。 我的推理正确吗? 为什么我的理论不能转化为实践?
13 ext4  ssd  cryptsetup  trim  fstrim 

4
uname已损坏:如何确定当前正在运行的内核?
> uname -r FATAL: kernel too old > cat /proc/cmdline FATAL: kernel too old / boot中有3个* .vmlinuz-linux文件。如何确定当前正在运行的内核? 请注意,我在具有最小外壳的有限环境中运行。我也尝试过: > sh -c 'read l < /proc/version; echo $l' FATAL: kernel too old > dd if=/proc/version FATAL: kernel too old 有什么想法吗?
13 linux  glibc 

6
如何在Debian Stretch(9)中安装mongodb 3.4?
我想在debian Stretch上安装mongodb 3.4。不幸的是,debian Stretch软件包仅是mongodb 3.2(https://packages.debian.org/stretch/mongodb)。 mongodb文档仅提及debian 7和8(https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/)。使用debian 8命令时,我无法安装mongodb软件包,因为它们具有未满足的依赖性。 当允许jessie-backports时,未满足的依赖关系错误消失了,但是我不确定是否应该这样做并拉伸安装jessie-backports软件包。 您将如何在Debian Stretch上安装mongodb 3.4? 感谢您的任何建议。
13 debian  mongodb 


4
如何查找除指定文件外的所有文件
该ls可以给像结果 [root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# ls CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo 但实际上我希望只是看看CentOS-Base.repo,CentOS-Debuginfo.repo而CentOS-Vault.repo却没有CentOS-Media.repo。所以我运行这个命令 ls [^\(Media\)] 但是我得到一个错误信息,该怎么办?
13 wildcards 

3
什么决定了Linux主机名?
在过去的几年中,我一直使用Linux作为主要系统,特别是Fedora,我一直看到我的主机名设置为“ localhost”,但当我连接到某些网络并成为IP时除外。今天,我经历了以下行为,但是我很难理解。 我在笔记本电脑的另一个分区上设置了Ubuntu安装,并在Ubuntu安装过程中设置了计算机名称/主机名。但是,当我重新启动回Fedora时,Fedora将我的主机名更新为我在Ubuntu安装中设置的名称。 我一直以为主机名已配置并存储在发行版安装的分区上,确实Fedora上/ etc / hostname的内容仍显示为“ localhost.localdomain”,但运行hostname命令将显示新的主机名。这两个安装共享一个efi引导分区,但其他情况下是离散的。我想知道Fedora安装从何处以及为什么要读取新主机名?


1
Solaris 11上的POSIX Awk?
这或多或少是以下两个问题的跟进问题: 通过awk'!x [$ 0] ++'文件删除重复行的语法错误 SunOs和Linux上的awk / nawk替代 我看到在Solaris 10(SunOS 5.10)上,我得到以下结果: $ type -a awk awk is /usr/bin/awk $ PATH="$(getconf PATH)" type -a awk awk is /usr/xpg4/bin/awk awk is /usr/bin/awk $ 在Solaris 10上,/usr/bin/awk不接受POSIX标准awk中语法如'!x[$0]++',但/usr/xpg4/bin/awk确实。到目前为止足够好了。 但是,在Solaris 11上,/usr/bin/awk甚至只有getconf PATH。虽然也有nawk和oawk是/usr/bin,这些显然都没有指出,一些从任何地方符号链接。 知道Solaris已获得POSIX认证,这使我感到惊讶。 如何使用可移植代码在Solaris 11上标准地获得与POSIX兼容的Awk,这些代码也可以在其他与POSIX兼容的系统上工作?(或者是检查nawkor 是否存在oawk并使用其中一个(如果存在)的唯一选择?) 因此,什么是 nawk和oawk?
13 awk  solaris  posix 

4
如何捕获所有进入NIC的数据包,即使这些数据包不属于我
在AFAIK中,NIC从局域网中的线路接收所有数据包,但拒绝其目的地址不等于其IP的那些数据包。 我想开发一个监视用户互联网使用情况的应用程序。每个用户都有一个固定的IP地址。 我和其他一些人已连接到DES-108 8端口快速以太网非托管台式机交换机 如前所述,我不仅要捕获属于我的那些数据包,还要捕获所有用户的所有流量。 如何强制我的NIC或其他组件接收所有数据包?

2
/ opt软件包应该在哪里写日志?
我正在将自定义包安装到/opt/package_name,将配置文件存储在其中/etc/opt/package_name,将静态文件存储在其中/var/opt/package_name/static/-均遵循FHS建议的惯例。[ 1 ] [ 2 ] [ 3 ] 我还需要存储一些日志文件。我希望可以通过分析工具发现它们,因此它们也应该放在常规位置。这些应该进去吗? /var/log/package_name (就像系统软件包一样,尽管这是一个自定义软件包) /var/opt/package_name/log(遵循/var/opt惯例-但这是可以发现的吗?) 还有什么吗
13 logs  fhs 

2
Ctrl-R反向搜索后向前搜索的单个快捷方式
我一直都在使用Ctrl+ R,但是当我如此快速地按下它时,我常常会越过我要遵循的命令。 要向前搜索,Ctrl+ S可以用来提供它不使用终端第一(konsole中在我的情况,其中stty -ixon在~/.bashrc修复它)。 但是,我必须按两次:一次进入模式i-search后似乎进入,reverse-i-search第二次实际后退。 有没有一种方法可以消除两次​​按下快捷键的需要?

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.