Unix & Linux

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

4
文件不包含字符串时如何使用grep
在我的bash脚本中,如果文件中不存在某个字符串,我将尝试打印一行。 if grep -q "$user2" /etc/passwd; then echo "User does exist!!" 如果我希望该字符串存在于文件中,这就是我写的方式,但是如果在/ etc / passwd文件中找不到该用户,该如何更改它以使其显示“用户不存在”?
26 bash  ubuntu  grep 

2
灰资料/配置文件
我正在寻找一种使用我自己的aliases和whatnots 定制Ash会话的方法。Bash bashrc文件的Ash等同于什么?
26 profile  ash 

2
验证SSL证书的指纹?
我正在和一个Puppet代理和一个Puppet主玩,我注意到Puppet证书实用程序为我的代理的公钥提供了指纹,因为它已经要求签名: $ puppet cert list "dockerduck" (SHA256) 1D:72:C5:42:A5:F4:1C:46:35:DB:65:66:B8:B8:06:28:7A:D4:40:FA:D2:D5:05:1A:8F:43:60:6C:CA:D1:FF:79 如何验证这是正确的密钥? 在Puppet代理上,使用a sha256sum给我带来了截然不同的东西: $ sha256sum /var/lib/puppet/ssl/public_keys/dockerduck.pem f1f1d198073c420af466ec05d3204752aaa59ebe3a2f593114da711a8897efa3 如果我没记错的话,证书会在实际密钥文件本身中提供其公共密钥的校验和。如何获得钥匙指纹?

3
如何减少ClamAV的内存使用量?
我正在512MB VPS上运行基于Ubuntu的Web服务器(Apache,MySQL)。这对于它正在运行的网站(小型论坛)绰绰有余。 当我想对病毒进行一些防护时,我安装了ClamAV并将其作为上载处理脚本(PHP)的一部分扫描上载的文件。 我正在运行clamav-daemon服务,因此不必在每次扫描文件时都加载定义。这种做法的一个缺点似乎是clamav-daemon服务使用的“巨大”内存量:> 200 MB。这已经导致该服务被迫停止并且上传被拒绝。 我可以简单地将VPS的内存升级到1024MB,但是我想知道是否存在一种方法,例如通过不加载不需要的定义来减少ClamAV的内存使用。
26 linux  ubuntu  memory 

7
“ echo 3> / proc / sys / vm / drop_caches”-拒绝权限为root
我目前在缓存方面遇到一些问题。现在太多了,所以我想清除它。我用Google搜索,发现了这个小命令:sync && echo 3 > /proc/sys/vm/drop_caches。 我以root用户身份通过​​SSH登录(不使用sudo)。这些是我所做的尝试: root@server: ~ # ll /proc/sys/vm/drop_caches -rw-r--r-- 1 root root 0 15. Jan 20:21 /proc/sys/vm/drop_caches root@server: ~ # echo 3 > /proc/sys/vm/drop_caches -bash: /proc/sys/vm/drop_caches: Permission denied root@server: ~ # sudo su -c "echo 3 > /proc/sys/vm/drop_caches" bash: /proc/sys/vm/drop_caches: Permission denied root@server: ~ # echo …

5
在Ubuntu或任何Linux中更改用户名的正确方法
我正在使用Ubuntu 12.04并进行了一些自定义。我还将使其成为定制的ubuntu的新iso。 我想问的是如何更改用户名。我当前的主文件夹中有很多配置。因此,我不想弄乱更改用户名。 那么,有什么最佳实践或工作流程可以做到这一点吗?
26 linux  ubuntu  users 

1
有没有办法在一个目录(Linux / Unix)中压缩多个文件?
是否有一种相当简单的方法来访问tar目录中的多个(特定)文件?例如,假设以下是目录: -rw-r--r-- 1 allend bin 98 Jul 20 15:50 scriptlog.log -rw-r--r-- 1 allend bin 19533 Jul 29 21:47 serveralert.log -rwxr--r-- 1 allend bin 1625 Jul 29 21:47 orion -rw-r--r-- 1 allend bin 24064 Jul 29 21:49 orion_files.tar -rwxr--r-- 1 allend bin 156 Aug 4 21:22 htmltest -rw-r--r-- 1 allend bin …
26 files  tar 

3
如何安全地替换Linux RAID5阵列中尚未发生故障的磁盘?
我在4个磁盘上有一个软件RAID5阵列(Linux md)。 我想用一个新磁盘替换其中一个磁盘,而不会使阵列处于降级状态,如果可能,请使其联机。那怎么可能呢? 这很重要,因为我不想: 冒使其他磁盘承受压力的风险,以便在重建过程中可能会崩溃, 冒处于“无奇偶状态”的风险,因此我有一段时间没有安全网了。 我想在网上这样做太麻烦了,我应该dd将旧磁盘的数据原始复制()到离线的新磁盘上,然后替换它,但是从理论上讲,这是可能的... 背景信息:这些磁盘几乎一直在连续旋转5.5年以上。目前,它们仍然可以正常工作,并且都通过了(长期)SMART自检。但是,我有理由认为这4个磁盘中的一个不会持续很长时间(假定为预测性故障)。

5
为什么我需要为if引用变量,而不必为echo引用呢?
我读到您需要双引号来扩展变量,例如 if [ -n "$test" ]; then echo '$test ok'; else echo '$test null'; fi 将按预期工作,而 if [ -n $test ]; then echo '$test ok'; else echo '$test null'; fi $test ok即使$test为null 也会一直说。 但是为什么我们不需要引号echo $test呢?
26 shell  quoting 

1
查找并保存(搜索并替换)
我在Mac上使用以下命令: $find . -name “*.java” -exec sed -i ’s/foo/bar/g’ {} \; 似乎没有效果。 我在目录中有两个以.java结尾的文件,它们都包含foo文本。我想念什么吗? 编辑:从评论请求的结果 [aafghani-03:~/test amirafghani]$ find . -name "*.java" -exec sed -i 's/foo/bar/g' {} \; sed: 1: "./bar.java": invalid command code . sed: 1: "./foo.java": invalid command code .
26 find  sed  osx 

9
如何更改文件系统UUID(两个相同的UUID)?
这个问题是从Stack Overflow 迁移过来的,因为可以在Unix&Linux Stack Exchange上回答。 迁移 8年前。 我在VMware中有一个fedora客户操作系统。我想扩展/boot分区,因此我向该VM添加了另一个虚拟磁盘,并尝试克隆该磁盘。 之后dd if=/dev/sda1 of=/dev/sdb1,blkid报告/ dev / sda1和/ dev / sdb1具有相同的UUID / GUID。 奇怪的是,Universe中有两个相同的UUID,如何将其中一个更改为另一个UUID值? 更新2017-01-25 主题已更改,此处的UUID表示文件系统UUID,而不是分区UUID。 由于它是文件系统UUID,因此需要文件系统特定的utils来更改UUID,或使用hexeditor修改磁盘上的原始数据(危险,不建议使用,除非您知道自己在做什么)。



3
普通用户systemd服务在哪里/为什么没有日志?
我正在尝试学习基本的systemd用法,并且遇到了用户服务单元令人困惑的问题。 当使用systemctl start来运行常规服务时,我可以通过运行sudo journalctl --unit some.service来查找该服务的完整日志(包括据我了解的打印到stdout / stderr的内容)。 考虑示例服务文件chatty.service: [Service] ExecStart=/usr/bin/echo "test from chatty.service" 当我将此服务文件放置在〜/ .config / systemd / user / chatty.service中并使用systemctl --user start chatty.service运行它时,无论是使用纯journalctl还是使用journalctl,都无法在journalctl中找到发送到stdout的输出- -用户。两种方式我都只得到以下输出: Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Starting chatty.service... Jan 15 19:16:52 qbd-x230-suse.site systemd[1168]: Started chatty.service. 而且journalctl --unit chatty.service根本不返回任何内容(带或不带--user都没有区别)。 虽然如果我将相同的服务文件移动到/ etc / systemd / system并使用sudo systemd …
26 systemd 

2
我如何安装比Debian提供的软件更多的最新版本?
假设我想要的软件版本比当前版本的操作系统更新,该怎么办? 需要考虑的案例: 有适用于该版本OS的其他软件包的半官方/官方资源。例如,Debian的backports.org或Ubuntu的PPA。 没有适用于该操作系统版本的软件包的最新版本,但是适用于该操作系统的最新版本的更新版本。这是反向移植的标准情况。 没有可用的软件最新版本的打包版本。可用选项用于打包较新的版本。 Per 让我们编制一份规范的问答列表,旨在为以下问题提供规范的答案。答案可能应该做成社区Wiki。
26 debian  apt  backports 

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.