rpm 有一个-i( --install) 选项来安装一个包
rpm 有一个-U( --upgrade) 选项来安装或升级一个包
在Red Hat文档表明,rpm -i是完全可以接受的。
然而,我见过的每个文档都推荐使用-U,即使是第一次安装包。
为什么rpm -U通常优先于rpm -i?
我正在遵循的安装文档指示添加这样的用户:
sudo adduser --disabled-login --gecos 'GitLab' git
Run Code Online (Sandbox Code Playgroud)
--disabled-login我搜索过的大多数手册页中都没有该标志。
我创建了两个用户,一个带有--disabled-login( foo),一个没有 ( git)。
据我所知,--disabled-login旗帜什么也不做。我仍然可以su给两个用户,并且都/bin/bash用作他们的登录 shell。
我能看到的唯一区别是getent passwd在禁用登录的用户的主文件夹之前有额外的逗号。有没有文件,我可以找到,表示什么这意味着。
root@gitlab:~# getent passwd git
git:x:998:998:GitLab:/home/git:/bin/bash
root@gitlab:~# getent passwd foo
foo:x:1001:1002:GitLab,,,:/home/foo:/bin/bash
Run Code Online (Sandbox Code Playgroud)
我发现了另一个区别,一个用户*的密码是 a,另一个用户有!:
root@gitlab:~# getent shadow git
git:*:15998::::::
root@gitlab:~# getent shadow foo
foo:!:15998:0:99999:7:::
Run Code Online (Sandbox Code Playgroud)
--disabled-login在 Ubuntu 上究竟做了什么?
您将如何对出现在两行上的文本执行 grep?
例如:
pbsnodes 是我使用的返回 linux 集群利用率的命令
root$ pbsnodes
node1
state = free
procs = 2
bar = foobar
node2
state = free
procs = 4
bar = foobar
node3
state = busy
procs = 8
bar = foobar
Run Code Online (Sandbox Code Playgroud)
我想确定与处于“空闲”状态的节点匹配的进程数。到目前为止,我已经能够确定“进程数”和“处于空闲状态的节点”,但我想将它们组合成一个显示所有空闲进程的命令。
在上面的例子中,正确答案是 6 (2+4)。
我拥有的
root$ NUMBEROFNODES=`pbsnodes|grep 'state = free'|wc -l`
root$ echo $NUMBEROFNODES
2
root$ NUMBEROFPROCS=`pbsnodes |grep "procs = "|awk '{ print $3 }' | awk '{ sum+=$1 } END { print sum }'`
root$ echo $NUMBEROFPROCS
14
Run Code Online (Sandbox Code Playgroud)
如何搜索读取为“procs = …
我第一次从 epel 安装软件包时,系统会提示我是否要导入 GPG 密钥。
请注意在安装 redis 时如何出现 2 个“这是正常的”提示吗?
[root@us-devops-build02 yum.repos.d]# yum install redis
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.. truncated for readability
Total download size: 213 k
Installed size: 668 k
Is this ok [y/N]: y
Downloading Packages:
redis-2.4.10-1.el6.x86_64.rpm | 213 kB 00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
Userid: "EPEL (6) <epel@fedoraproject.org>"
From : http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Run Code Online (Sandbox Code Playgroud)
这会导致 …
我有一个非常大的 csv 文件。你将如何,用 sed (或类似的)删除最后一个?
...
[11911,0,"BUILDER","2014-10-15","BUILDER",0,0],
[11912,0,"BUILDER","2014-10-15","BUILDER",0,0],
[11913,0,"BUILDER","2014-10-15","BUILDER",0,0],
]
Run Code Online (Sandbox Code Playgroud)
期望输出
...
[11911,0,"BUILDER","2014-10-15","BUILDER",0,0],
[11912,0,"BUILDER","2014-10-15","BUILDER",0,0],
[11913,0,"BUILDER","2014-10-15","BUILDER",0,0]
]
Run Code Online (Sandbox Code Playgroud)
以下 sed 命令将删除每行的最后一次出现,但我想要每个文件。
sed -e 's/,$//' foo.csv
Run Code Online (Sandbox Code Playgroud)
这也不起作用
sed '$s/,//' foo.csv
Run Code Online (Sandbox Code Playgroud) 我经常通过 ssh 进入 openstack 实例。所有实例都位于专用 vlan 和子网 (10.2.xx) 上。所有实例都具有相同的用户名 (bob)
我像这样连接:
ssh bob@10.2.x.x
Run Code Online (Sandbox Code Playgroud)
或有时像这样
ssh 10.2.x.x -l bob
Run Code Online (Sandbox Code Playgroud)
当我通过 ssh 进入 10.2.xx 子网上的任何虚拟机时,是否可以将我的笔记本电脑配置为自动使用名称 bob?我不想在连接到任何其他子网上的机器时自动使用 bob。
看起来ssh 配置不支持通配符。(如果我错了,请纠正我)。我想也许别名可以做到这一点,但我不确定语法是什么。
在学习lcpi考试的过程中,我遇到了以下说法。
如果有多个磁盘可用,最好在不同的分区上也有 /usr 和 /home 目录。http://en.wikibooks.org/wiki/LPI_Linux_Certification/Design_Hard_Disk_Layout
对于桌面工作站,将您的主目录放在单独的驱动器或分区上是有意义的。
我登录了很多 linux 服务器,我从未见过系统管理员将这些文件夹放在不同的分区上。
在 linux 服务器上分隔这些文件夹是常见的做法吗?
您可能出于什么原因将 /usr 和 /home 分开?(除了使重新安装更容易)。
mklost+found直到我读到这个问题,我才知道这个命令。
该mklost+found命令将在 pwd 中创建一个新的 lost+found 目录。
为什么你需要运行这个命令?lost+found 目录已经存在于我检查过的每个发行版上的 / 中。
如果您有多个丢失和找到的目录会发生什么?恢复的数据片段会转到 / 中的 lost+found 目录,还是会转到最近创建的 lost+found 目录?
我不确定如何故意创建一个数据片段来测试这个。
/etc/networking/interfaces使用“可预测的网络接口名称”时如何重置?
早于 15.10 的 Ubuntu 版本使用网络适配器名称,例如:
eth0 eth1eth2更换网卡或将虚拟机移动到新的管理程序,会导致 Linux 增加接口编号。删除/etc/udev/rules.d/70-peristent-net.rules将使 Linux 重用eth0。
Ubuntu 15.10 和更新版本使用“可预测的网络接口名称”。网络适配器名称源自 mac 地址。
ens3ens32ens192迁移虚拟机时,网络不会启动,因为/etc/network/interfaces仍然引用旧的不存在的网络适配器。
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens32
iface ens32 inet dhcp
pre-up sleep …Run Code Online (Sandbox Code Playgroud)