Unix & Linux

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

2
LVM根不断增长
我尝试使用以下方法扩展我的LVM(在luks上)根分区 lvresize -L +5G -r /dev/vg/lv-root 并发现文件系统不会因为挂载而增长。现在我发现了 https://ubuntuforums.org/showthread.php?t=1537569 那说我应该从别的东西引导,然后做 resize2fs /dev/vg/lv-root <size> 我的问题是:我可以忽略大小,而仅让文件系统填充分区(之前已成功扩展)吗?我会尝试的,但是担心会把事情弄糟。使用(最新的)Arch,文件系统是ext4。
12 linux  debian  lvm 



2
bluez:断开连接后,蓝牙耳机无法重新连接
我可以将蓝牙耳机与笔记本电脑配对一次。但是,当我断开耳机的连接时,无法再次连接。它唯一有效的方法是重新启动蓝牙守护程序: service bluetooth restart 当我这样做时,我在日志中看到以下内容: bluetoothd: Terminating bluetoothd: Stopping hci0 event socket bluetoothd: Stopping SDP server bluetoothd: Exit bluetoothd: Bluetooth daemon 4.99 bluetoothd: Starting SDP server bluetoothd: Excluding (conf) network bluetoothd: Excluding (conf) gatt_example bluetoothd: Excluding (conf) time bluetoothd: Excluding (conf) alert bluetoothd: Failed to open RFKILL control device bluetoothd: …

2
为什么这个grep -v无法正常工作?
我有一个与grep -v查询有关的奇怪问题。请允许我解释一下: 要显示连接,我使用who: $ who harry pts/0 2016-12-08 20:41 (192.168.0.1) james pts/1 2016-12-08 19:28 (192.168.0.1) timothy pts/2 2016-12-08 02:44 (192.168.0.1) tty我的终端的电流是pts/0 $ tty /dev/pts/0 $ tty | cut -f3-4 -d'/' pts/0 我尝试使用排除自己的连接grep -v $(tty | cut -f3-4 -d'/')。该命令的预期输出应为who,而无需我的连接。但是,输出是最意外的: $ who | grep -v $(tty | cut -f3-4 -d'/') grep: a: …
12 command-line  grep  tty 

2
Wget返回二进制而不是HTML?
我正在使用wget下载静态html页面。W3C验证程序告诉我该页面以UTF-8编码。然而,当我下载完文件后,我得到了一堆二进制废话。我在Ubuntu上,我认为默认编码为UTF-8?这就是我的语言环境文件所说的。为什么会发生这种情况,我该如何纠正? 另外,看起来像Content-Encoding: gzip。也许这有所不同? 这是简单的请求: wget https://www.example.com/page.html 我也尝试过这个: wget https://www.example.com/page.html -q -O - | iconv -f utf-16 -t utf-8 > output.html 哪个返回: iconv: illegal input sequence at position 40 处理文件将返回类似于以下内容的二进制文件: l�?חu�`�q"�:)s��dġ__��~i��6n)T�$H�#���QJ 结果xxd output.html | head -20: 00000000: 1f8b 0800 0000 0000 0003 bd56 518f db44 ...........VQ..D 00000010: 107e a6bf 62d4 8a1e …

1
如何可靠地在PATH上找到程序的完整路径?
我需要PATH使用shell脚本找到给定程序的路径。该路径必须是程序的实际完整路径,以后可以传递给其中一个exec*不搜索PATH自身的函数,例如execv。 有类似的程序kill,它们既可以作为实际程序使用,又可以内置于外壳中。如果是这种情况,我需要实际程序的完整路径。 PATH如2.9.1.1节,POSIX标准的命令搜索和执行中所指定,有许多实用程序可以在上找到程序。 有which,这不是任何标准的一部分。在某些系统上,它可以是常规程序,而在某些shell中,它是内置的。它似乎在大多数系统和Shell上都可用,但是具有内置版本的Shell也仅返回内置名称而不是可执行文件的路径。同样,它没有以任何方式标准化,并且可能返回任何输出并采用不同的选项。 bash# which kill /usr/bin/kill dash# which kill /usr/bin/kill fish# which kill /usr/bin/kill mksh# which kill /usr/bin/kill tcsh# which kill kill: shell built-in command. zsh# which kill kill: shell built-in command 有whence,这是一些shell的内置组件。但是在许多外壳上不可用。它也将返回内置名称而不是程序路径。-p可以将A 传递给wherece以更改此行为。 bash# whence kill bash: whence: command not found dash# whence kill dash: 1: whence: …
12 shell  path 

1
尝试捕获SIGINT信号时为什么会出现错误消息?
我正在运行以下脚本,以使用lftp从服务器自动下载文件。它正常工作,但运行时会收到错误消息 trap: SIGINT: bad trap 如果我用INT和TERM替换SIGINT和SIGTERM,那么它确实可以工作,但是我不知道它是否能达到相同的目的。这是在Linux Debian 4.9.2-10上。 #!/bin/sh login="login" pass="password" host="server.server.com" remote_dir='~/remote/dir' local_dir="/local/dir" base_name="$(basename "$0")" lock_file="/tmp/$base_name.lock" trap "rm -f $lock_file" SIGINT SIGTERM if [ -e "$lock_file" ] then echo "$base_name is running already." exit else touch "$lock_file" /usr/bin/lftp -p 22 -u "$login","$pass" sftp://"$host" << EOF set sftp:auto-confirm yes set …
12 shell  trap 

1
读取文件末尾以恢复数据
一个非常旧的.swp文件还原了我正在编辑的文件,因此现在大大缩短了。此后,我在该目录中未做任何事情,因此紧接文件末尾的字节仍应包含我的数据。我可以使用什么功能从给定的内存地址读取N个字节?dd并read停止在文件边界,除非我错过了某个地方的选项。 当前文件大小为3.2 KB。我不记得文件被截断之前到底有多大,但可能不超过10 KB。我如何从文件开头读取10 KB,而忽略文件边界?只要我不必从头开始,就可以很好地保存数据,这是很好的。


5
如何在Firefox中将备用编码设置为UTF-8?
我写了一份挪威降价文件: $ file brukerveiledning.md brukerveiledning.md: UTF-8 Unicode text 我已经使用markdown命令将其转换为HTML : $ markdown > brukerveiledning.html < brukerveiledning.md $ file brukerveiledning.html brukerveiledning.html: UTF-8 Unicode text 但是,Firefox坚持使用“ windows-1252”编码,以打破非ASCII字符。我尝试将后备文本编码从“默认为当前区域设置”(在英国此处应为ISO-8859-1或UTF-8)更改为“中欧,ISO”,“中欧,微软” ”和“其他(包括西欧)”。这些都不能显示æ,ø和å。没有Unicode选项。我也试图改变intl.fallbackCharsetList.ISO-8859-1在about:config中各种价值观喜欢utf8,utf-8,iso-8859-1,没有运气。 使用此markdown软件包: $ pacman --query --owns "$(which markdown)" /usr/bin/markdown is owned by markdown 1.0.1-6 和这个地区: $ locale LANG=en_GB.utf8 LC_CTYPE="en_GB.utf8" LC_NUMERIC="en_GB.utf8" LC_TIME="en_GB.utf8" LC_COLLATE="en_GB.utf8" LC_MONETARY="en_GB.utf8" LC_MESSAGES="en_GB.utf8" LC_PAPER="en_GB.utf8" …


6
在安装前积极fsck磁盘
我有一台旧的HP Athlon机器,用于在旧处理器下测试软件。我们经常出现电源不足的情况,在最后一个电源耗尽之后,磁盘一片混乱。太糟糕了,我无法运行fsck并分发所有问题。我执行了全新的操作系统安装,但仍然收到fsck投诉。 我想最后一次尝试重新加载Linux,然后再谴责硬盘或计算机。在创建文件系统之后但在安装之前,我希望fsck执行一次激进的操作以将可疑块标记为坏块。 磁盘很大(大约500 GB),而Debian 8发行版相对较小(通常8-12 GB绰绰有余),所以我不在乎好块是否被标记为坏块。我也喜欢GUI安装,但是我还没有结婚。 我有两个问题: Debian 8是否提供选择fsck在安装基本系统之前执行?如果是这样,它在哪里?如果没有,那么流程是什么? 是否fsck有设置来控制将块标记为不良的积极程度?如果是这样,那是什么?如果没有,那可以用什么呢? 编辑:该机器是HP5850。进入BIOS,导航至“存储”,然后进行驱动器保护系统(DPS)自检,DPS建议更换驱动器。DPS没有提供任何统计数据,所以我不确定造成的损害程度。 考虑到我可以花12美元购买一个[旧的]新SATA II驱动器,我将更换它。浪费时间或精力是没有意义的。 相关参考文献如下。这两个问题似乎都没有解决。 fsck 手册页 第6章使用Debian安装程序| 6.3。使用单个组件

3
如何在bash脚本中保存/ dev / stdout目标位置?
我有一个特定的bash脚本,它想要/dev/stdout在将第一个文件描述符替换为其他位置之前保留原始位置。 所以,自然地,我写了类似 old_stdout=$(readlink -f /dev/stdout) 而且它没有用。我很快就知道问题出在哪里: test@ubuntu:~$ echo $(readlink -f /dev/stdout) /proc/5175/fd/pipe:[31764] test@ubuntu:~$ readlink -f /dev/stdout /dev/pts/18 显然,$()它在子外壳中运行,并通过管道传输到父外壳。 因此,问题是:是否存在一种可靠的方法(范围仅限于Linux发行版之间的可移植性),以便将/dev/stdout位置另存为bash脚本中的字符串?

2
尝试从wheezy升级到jessie时,apt-get dist-upgrade不会执行任何操作
我在Debian狂风中,尝试按以下方式升级到jessie: sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 这些操作已成功完成,我重新启动了系统,但系统仍然处于混乱状态: ~: cat /etc/*release PRETTY_NAME="Debian GNU/Linux 7 (wheezy)" NAME="Debian GNU/Linux" VERSION_ID="7" VERSION="7 (wheezy)" ID=debian ANSI_COLOR="1;31" HOME_URL="http://www.debian.org/" SUPPORT_URL="http://www.debian.org/support/" BUG_REPORT_URL="http://bugs.debian.org/" ~: sudo apt-get dist-upgrade [sudo] password for abc: Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done …
12 debian  apt  upgrade 

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.