Unix & Linux

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


2
Ubuntu更新错误“等待无人值守升级”
我无法更新安装了2个Ubuntu的系统,一个是16.04版,另一个是17.04版。在两种情况下,我都遇到相同的错误。 例如,在Ubuntu 16.04中,我运行software updater并得到如下所示的结果。 我确实等了一段时间,但updater没有继续前进。 然后我按下Stop按钮,然后转到以下弹出窗口。 然后,我按下了按钮Install now,这将我带到下一个弹出窗口,如下所示。 我在这里等了一段时间,但被卡在那里。 我无法在这两种安装中进行更新。 我无法进行任何更新,怎么办? (还希望查看者查看是否通过远程方式或其他方式进行未经授权的篡改会导致此错误。如果是,则如何解决此问题?) 如果我无法更新,则可能会被迫麻烦从头开始重新安装两个安装,无论如何,我都希望避免这种情况。 编辑 与参考。到上面提到的“安装更新”的第三张图片,它确实可以继续进行并已完全更新。但是在重新启动并再次运行后software updater,我遇到了一个新问题。现在运行software updater,它会显示消息check your Internet connection。我已经发布了第q 这里。
22 ubuntu  upgrade 

6
使用Sudo执行Bash脚本功能
我有一个脚本,可以执行许多不同的操作,其中大多数不需要任何特殊特权。但是,我包含在一个函数中的一个特定部分需要root特权。 我不希望整个脚本都以root身份运行,我希望能够以root权限从脚本中调用此函数。如有必要,提示输入密码不是问题,因为无论如何它都是交互式的。但是,当我尝试使用时sudo functionx,我得到: sudo: functionx: command not found 如我所料,export没什么不同。我希望能够直接在脚本中执行该功能,而不是出于多种原因而将其分解并作为单独的脚本执行。 有什么办法可以使我的函数对sudo可见,而无需将其解压缩,找到合适的目录,然后将其作为独立脚本执行? 该函数本身大约一页长,包含多个字符串,其中一些用双引号引起来,而某些用单引号引起来。它还取决于主脚本中其他位置定义的菜单功能。 我只希望拥有sudo ANY的人能够运行该功能,因为它的功能之一就是更改密码。
22 bash  sudo  function 


5
如何将ttyUSBX设备与USB串行设备匹配
选件驱动程序正确匹配USB ID,并为此设备加载驱动程序。例如 # lsusb Bus 001 Device 002: ID 19d2:0031 ONDA Communication S.p.A. ZTE MF636 Bus 001 Device 003: ID 12d1:14ac Huawei Technologies Co., Ltd. 它还创建用于管理硬件的ttyUSBX设备 crw-rw---- 1 root uucp 188, 0 Jul 4 13:48 /dev/ttyUSB0 crw-rw---- 1 root uucp 188, 1 Jul 4 13:49 /dev/ttyUSB1 crw-rw---- 1 root uucp …
22 linux  usb 


4
该用户当前不可用-但允许该用户运行脚本
我在/ etc / passwd中使用以下方法创建了特殊用户: secure:x:2000:2000:secure:/bin:/usr/sbin/nologin 我不想允许该用户登录(通过控制台,ssh,ftp,以任何方式)。 他仅用于通过以下方式运行一个脚本: sudo su secure -c '/home/someuser/secure.script' 但这给了我This user is currently not available.。如何设置它以便能够以这种方式运行脚本,但阻止该用户登录系统(控制台,ssh,ftp等)? 我注意到,当我/usr/sbin/nologin在命令行上键入时,计算机将以响应This account is currently not available.。
22 sudo  users  su 

2
E:无法在Debian jessie简化的Docker容器上找到vim软件包
从运行jessie的Debian docker容器中我得到 vi blah bash: vi: command not found 所以自然而然地到达了我的安装命令 sudo apt-get install vim Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package vim 在寻找牵引力时,我遇到了这些建议以及各种输出 cat /etc/apt/sources.list deb http://deb.debian.org/debian jessie main deb http://deb.debian.org/debian jessie-updates main deb http://security.debian.org jessie/updates main apt-get install software-properties-common Reading …
22 debian  apt 

7
与SED正则表达式的非贪婪匹配(模拟perl的。*?)
我想用sed替换第一次AB和第一次出现AC(含)之间的字符串中的任何内容XXX。 对于例如,我有这样的字符串(该字符串是仅用于测试): ssABteAstACABnnACss 我想要类似以下的输出:ssXXXABnnACss。 我这样做是perl: $ echo 'ssABteAstACABnnACss' | perl -pe 's/AB.*?AC/XXX/' ssXXXABnnACss 但我想用实现它sed。以下内容(使用与Perl兼容的正则表达式)无效: $ echo 'ssABteAstACABnnACss' | sed -re 's/AB.*?AC/XXX/' ssXXXss

3
在bash中的条件语句中使用grep
我对使用bash编写脚本还是很陌生,只是尝试一些我认为是基本的事情。我想运行从运行Ubuntu 14.04的服务器更新的DDNS。 从dnsimple借用一些代码,这是我到目前为止所拥有的: #!/bin/bash LOGIN="email" TOKEN="token" DOMAIN_ID="domain" RECORD_ID="record" IP=`curl -s http://icanhazip.com/` OUTPUT=` curl -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "X-DNSimple-Domain-Token: $TOKEN" \ -X "PUT" \ -i "https://api.dnsimple.com/v1/domains/$DOMAIN_ID/records/$RECORD_ID" \ -d "{\"record\":{\"content\":\"$IP\"}}"` if ! echo "$OUTPUT" | grep -q "(Status:\s200)"; then echo "match" $(echo "$OUTPUT" | grep -oP '(?<="message":")(.[^"]*)' …

6
是否有一个终端应用程序允许单击文件名?
是否有终端模拟器(扩展程序或应用程序)为本地路径链接解析? 特别是当我看到类似这样的信息时: /home/sam/.gem/ruby/1.8/gems/actionpack-2.3.2/lib/action_controller/benchmarking.rb:68:in`perform_action_without_rescue' /home/sam/.gem/ruby/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/benchmark.rb:17:在“ ms”中 /home/sam/.gem/ruby/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/benchmark.rb:17:在“ ms”中 我希望能够点击: /home/sam/.gem/ruby/1.8/gems/actionpack-2.3.2/lib/action_controller/benchmarking.rb 打开文件。




7
尾-f,但带有行号
我正在尝试查看在任意时间范围内在远程服务器上foo bar出现了多少次/var/log/foo.log,但是到目前为止我没有尝试过。 我已经有了一个计时器脚本,可以用来跟踪自开始拖尾以来已经有多长时间了/var/log/foo.log,现在我想要一种方法来判断foo bar拖尾输出中出现了多少次。 我搜索了google,但在搜索结果的前10页中没有发现任何相关信息。 这是我尝试过的令人沮丧的结果: ## works on local machine, but doesn't work as expected on remote tail -f /var/log/foo.log | grep foo\ bar | sed '=' ## works on local, but not remote tail -f /var/log/foo.log | grep foo\ bar | cat -n - ## works on local, …

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.