Unix & Linux

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

3
引导时网桥无法通过DHCP获取IP
我正在运行CentOS7。我没有在运行NetworkManager,实际上已经将其卸载。 我的系统应该br0在启动时通过DHCP获取IPv4地址。但是,当我登录时,没有地址。 我的配置: # pwd /etc/sysconfig/network-scripts # cat ifcfg-enp5s0 DEVICE=enp5s0 ONBOOT="yes" BRIDGE=br0 # cat ifcfg-br0 DEVICE=br0 ONBOOT=yes TYPE=Bridge BOOTPROTO=dhcp STP=on DELAY=0 请注意,我没有手动配置此网桥。virt-manager当我br0在此对话框中添加内容时: 相关journalctl --boot | grep '\(\<br0\>\|enp5s0\)'和上下文: Jan 08 21:04:32 jonathon-centos7 kernel: r8169 0000:05:00.0 enp5s0: link down Jan 08 21:04:32 jonathon-centos7 kernel: IPv6: ADDRCONF(NETDEV_UP): enp5s0: link is not ready Jan …
8 centos  dhcp  bridge 

3
加快递归FTP
我正在尝试使用wget(或ncftpget)从NOAA FTP服务器下载一年的数据。但是,由于FTP的开销,它花费的时间比应该花费的时间长(我认为)。例如,此命令 time wget -nv -m ftp://ftp:email@ftp.ncdc.noaa.gov/pub/data/noaa/2015 -O /weather/noaa/2015 或类似地,通过ncftpget ncftpget -R -T -v ftp.ncdc.noaa.gov /weather/noaa/ /pub/data/noaa/2015 产生结果。53分钟转移30M! FINISHED --2015-01-03 16:21:41-- Total wall clock time: 53m 32s Downloaded: 12615 files, 30M in 7m 8s (72.6 KB/s) real 53m32.447s user 0m2.858s sys 0m8.744s 当我观看此传输时,每个文件的传输速度都非常快(500kb / sec),但是下载12,000个相对较小的文件的过程会产生大量的开销,并使整个过程变慢。 我的问题: 我是否正确评估了情况?我知道在不知道服务器的情况下很难说,但是FTP在传输大量小文件时真的吸收了这么多吗? 是否有wget或ncftpget的任何调整,以使它们与远程FTP服务器更好地兼容?还是某种并行性?
8 ftp 

3
使用| $ variable中的竖线字符使它成为bash中的另一个参数;如何逃脱呢?
我有一个这样的bash脚本 export pipedargument="| sort -n" ls $pipedargument 但是它给出了错误 ls: |: No such file or directory ls: sort: No such file or directory 似乎将的内容"| sort -n"视为传递给的参数ls。 我如何才能将其转义,以便将其视为常规管道命令? 我试图有条件地设置$pipedargument。我想我可以有条件地执行命令的不同版本,但仍然想知道是否有办法使上述工作正常进行?

4
展平文件夹结构
我有这个文件夹结构: ├── foo1 │ ├── bar1.txt │ └── bar2.txt ├── foo2 │ ├── bar3.txt │ └── bar4 with a space.txt └── foo3 └── qux1 ├── bar5.txt └── bar6.txt 我想在每个文件夹级别之间加一个下划线: ├── foo1_bar1.txt ├── foo1_bar2.txt ├── foo2_bar3.txt ├── foo2_bar4 with a space.txt ├── foo3_qux1.bar6.txt └── foo3_qux1_bar5.txt 我四处张望,没有找到任何可行的解决方案,主要是因为我的问题有两个特殊之处:根目录中可能存在多个文件夹级别,而且某些文件可能包含空格。 任何想法如何在bash中完成此操作?谢谢! 编辑:运行格连杰克曼建议答案我得到这个: 一级文件夹有两个下划线。知道如何避免这种情况或只是对其重命名,以便仅使用一个下划线吗?谢谢。

1
userns容器无法启动,如何跟踪原因?
在Ubuntu 14.04上使用以下命令行创建userns(非特权)LXC容器时: lxc-create -n test1 -t download -- -d $(lsb_release -si|tr 'A-Z' 'a-z') -r $(lsb_release -sc) -a $(dpkg --print-architecture) 和(不触摸创建的配置文件),然后尝试使用以下命令启动它: lxc-start -n test1 -l DEBUG 它失败。日志文件显示了我: lxc-start 1420149317.700 INFO lxc_start_ui - using rcfile /home/user/.local/share/lxc/test1/config lxc-start 1420149317.700 INFO lxc_utils - XDG_RUNTIME_DIR isn't set in the environment. lxc-start 1420149317.701 INFO lxc_confile - …
8 ubuntu  lxc  userns 

5
哪些命令将输入​​制表符分隔的文本文件,并将每行削减为80个字符?
我有(有时)制表符分隔的数据的多行文本文件。我想输出文件,以便我可以浏览它-所以我只希望看到每行的前80个字符(我设计了文本文件,将重要内容放在每行的第一位)。 我以为我可以用cat读取文件的每一行,并将每一行发送到管道中的下一个命令: cat tabfile | cut -c -80 但这似乎是坏事。我试着胡闹,grep似乎可以工作-但后来我发现,不行(不是文件中的每一行都包含80多个字符)-看来,制表符被切为单个字符。 我试过了: cat tabfile | tr \t \040 | cut -c -80 通过消除空白可读性,即使那样会使我的数据有些混乱。但这没有用。都没有: cat tabfile | tr \011 \040 | cut -c -80 也许我使用的tr错误?我以前在tr上遇到过麻烦,想删除多个空格(似乎我在这台机器上可以访问的tr的版本有一个-s选项,用于压缩多个字符-我可能需要更多地使用它) 我确定如果弄乱了我可以使用perl,awk或sed或其他方法来执行此操作。 但是,我想要一个使用(POSIX?)常规命令的解决方案,以使其尽可能地可移植。如果最终使用tr,则可能最终会尝试将制表符转换为字符,也许要进行计算,削减计算量,然后将这些字符转换回制表符以进行输出。 它不必是一行,也不需要直接在命令行中输入-脚本就可以了。 关于选项卡文件的更多信息: 我使用制表符来中断字段,因为有一天我可能想将数据导入其他程序。所以我倾向于在内容之间只有一个选项卡。但是我也使用制表符将内容与垂直列对齐,以帮助查看纯文本文件时提高可读性。这意味着对于某些文本,我会在内容的末尾用空格填充,直到到达选项卡将使下一个字段与上下两个字段对齐的位置为止。 DarkTurquoise#00CED1海洋,天空,划艇自然 MediumSpringGreen#00FA9A对树魔术有用 青柠#00FF00仅用于春鸡和果肉

2
在哪里可以找到有关GNOME 3主题的参考方案(例如Adwaita)?
我升级到Fedora 21,该版本聚焦GNOME 3.14(以及相关的GTK +材料)。不幸的是,这个特定的更新似乎使我的许多较旧的主题变得混乱,这些主题是为GNOME 3的较新版本编写的。以前可能被它们所折磨,但现在看起来有些不合时宜。 我不打算重新发明轮子:我将很高兴采用一个预先存在的CSS模板(例如默认的Adwaita 3.14规范),并根据自己的喜好对其进行调整。不会有幻想的飞行。想象一下当我偷看/usr/share/themes/Adwaita/gtk-3.0/gtk.css时我撕开的头发: /* Adwaita is the default theme of GTK+ 3, this file is not used */ 那让我陷入了困境。我没有Google-fu来查找文档的详细信息(更糟糕的是,我有一种直觉,这对我所错过的GNOME人员而言是隐含的显而易见的东西),并且由于某些原因,GNOME开发人员网站拒绝这样做我尝试研究其主题规范。 简而言之,我想为GNOME 3.14找到一个原始主题规范,假设其中一个已经存在。我该怎么做,或如何修改我的方法?
8 gnome3  gtk  theme  gtk3 

1
有关Linux内核安全性的一些基本问题[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我对Linux内核了解不多,并且有一些疑问。 将内核内存与用户空间内存分开的主要目的是什么?要确保用户应用程序不会对内核造成任何不良影响? 用户级应用程序有几种方法可以将控制权转移到内核?我能想到的包括(1)调用系统调用,(2)将内存映射到内核(但我认为mmap()也是系统调用),以及(3)加载内核模块(但我想lsmod还调用一些系统调用)。我对么?还有其他我想念的方式吗? 有几种攻击内核的方法?我可以简要介绍一下吗? 如果我获得root特权,是否意味着我完全控制了内核?即,我可以对内核和硬件做任何我想做的事吗?还是我对内核的功能仍然有限? 如果有人可以帮助我找出这些问题的答案,我将不胜感激。

3
apt-get更新退出状态
如何检查状态apt-get update? $ apt-get update ; echo "status is: $?" Err http://security.debian.org stable/updates Release.gpg Could not resolve 'security.debian.org' Hit http://192.168.1.100 stable Release.gpg Hit http://192.168.1.100 stable Release Hit http://192.168.1.100 stable/main i386 Packages Hit http://192.168.1.100 stable/contrib i386 Packages Hit http://192.168.1.100 stable/non-free i386 Packages Ign http://192.168.1.100 stable/contrib Translation-en Ign http://192.168.1.100 stable/main Translation-en Ign …
8 shell  apt 

1
重击变量$ {0 ## * /}
我试图了解${0##*/}我在bash脚本中遇到的变量。 我知道其中$0包含脚本的名称或路径,然后##按${parameter##pattern}(source)中的方式工作。 但是我不明白/这里在做什么。我只知道这种带有两个斜杠的语法:${parameter/pat/string} 当我在bash中回显此变量时,我得到了bash:) 最后,我没有共享脚本的权限。我只说变量被调用SOFT="${0##*/}"并在printf语句中使用"Error message sent by $SOFT"


3
在mdadm降级的RAID阵列上缩小LVM物理卷,添加备用磁盘并重建它
我有一个Debian Wheezy与RAID-1(一对夫妇500个GB HDD的系统mdadm镜),在其顶部坐落LVM逻辑卷用5个分区(boot,root,usr,var和tmp),47.15吉布的总大小。物理卷中的418.38 GiB是免费的。GRUB安装在两个驱动器上。 HDD之一发生故障,现在阵列降级,但数据完整无缺。 我想要的是将所有这2个HDD交换为80 GB SSD,而无需从头开始重新安装系统。此处的微妙之处在于,我需要缩小LVM物理卷以匹配SSD的大小,但是逻辑卷不是连续的(开始时有很多可用空间),因此我必须以某种方式在物理卷中移动逻辑卷。而且lvmove在Debian中没有命令。 我该如何实现? 一些控制台输出: 版本: root@wheezy:~# uname -a && mdadm --version && lvm version Linux wheezy 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64 GNU/Linux mdadm - v3.2.5 - 18th May 2012 LVM version: 2.02.95(2) (2012-03-06) Library version: 1.02.74 (2012-03-06) Driver version: 4.22.0 数组详细信息: root@wheezy:~# mdadm …
8 debian  lvm  mdadm 

1
CentOS 7中的日志文件
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 在CentOS 7中,我如何找到并查看所有系统日志,这些日志告诉我谁试图进入系统,谁进入,他们联系了哪些流程,他们完成了哪些事情,等等。我希望能够将每个活动链接到其中一个用户ID或远程IP地址。 我的var/log/目录包含许多资源,包括/var/log/messages和/var/log/secure,但是大多数文件都是类型的Binary (application/octet-stream),除非我将一些未知的查看程序与它们关联,否则操作系统不知道如何打开它们。另外,var/log/firewalld似乎没有包含有用的信息。 我可以找到我的应用程序,数据库和NginX / Apache生成的所有日志。

3
awk +从第一行开始打印行,直到匹配单词
我想从文件中打印所有行,直到匹配单词,然后建议如何使用awk进行打印 例如 我想打印所有行直到PPP字 备注第一行应与AAA区分(任何字) cat file.txt AAA ( the first line/word chuld be any word !!!!! ) BBB JJJ OOO 345 211 BBB OOO OOO PPP MMM ((( &&& 所以我需要得到这个 AAA BBB JJJ OOO 345 211 BBB OOO OOO PPP 其他示例(要打印到KJGFGHJ) cat file.txt1 HG KJGFGHJ KKKK 所以我需要 HG KJGFGHJ
8 linux  bash  awk  ksh 

1
运行Trusty Tahr时从Ubuntu Utopic Unicorn更新单个软件包
我的任务是在Ubuntu Server Trusty Tahr安装上更新软件包。特别是rfc5766-turn-server,它在Trusty上确实很老。 https://launchpad.net/ubuntu/+source/rfc5766-turn-server 如您所见,Trusty的最新软件包是3.2.3.1-1,而Utopic Unicorn的最新软件包是3.2.4.1-1。 是否可以使用apt来更新单个软件包?这是一个专用的转向服务器,因此我不想下载源代码和所有构建工具。
8 ubuntu  apt 

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.