Unix & Linux

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

2
按颜色过滤命令输出
我正在运行的实用程序没有提供过滤其输出的方法。输出文本中没有任何内容表明特定功能失败,但确实显示为红色。输出是如此之长,以至于当它报告一些错误时最后,我不能总是滚动查看发生错误的输出。 如何过滤出非红色文本? 伪代码: dolongtask | grep -color red 编辑 该命令也会输出其他颜色,我需要能够过滤掉所有非红色的文本。文本着色也是多行的。
13 grep  colors  text  filter 

2
如何在不要求root特权的情况下将syslinux / extlinux安装到磁盘映像文件
我已经建立了自己的Linux发行版,并且可以以非root用户的身份制作完整的磁盘映像文件,但有一个例外-安装引导加载程序。我使用的是syslinux(实际上是extlinux),要安装它,我必须环回安装引导分区,该分区需要root / sudo特权。这些命令是从makefile运行的,并且变量名应清楚指示替换它们的内容。 sudo losetup -o $(BOOT_FS_PARTITION_OFFSET) $(LOOP_DEVICE) $(IMAGE_FILE_NAME) sudo mount $(LOOP_DEVICE) $(LOOP_MOUNT_POINT) sudo $(EXTLINUX) -S $(DISK_SECTORS) -H $(DISK_HEADS) -i $(LOOP_MOUNT_POINT) sudo umount $(LOOP_MOUNT_POINT) sudo losetup -d $(LOOP_DEVICE) 有没有一种方法可以将syslinux或extlinux写入磁盘映像文件而无需root特权?

1
Debian Live-CD用户密码
我正在尝试通过USB使用Live Debian,但是我没有成功登录… 可以访问的标准用户名和密码是什么? 我尝试在Internet上搜索此问题,并使用了我发现的标准用户凭据的组合,例如实时/实时,root / root,root /实时,以及没有密码的组合。他们都没有工作。 这个问题对我来说适用于Gnome,KDE,Xfce。
13 debian  gnome  kde  xfce  password 

1
创建一个虚拟麦克风
我运行的是启用了VNC的CentOS服务器,某些服务需要麦克风正常工作,但不必将其用于录制,只需使用可用的麦克风设备即可。因此,我想知道是否可以创建可以用作麦克风的虚拟录音设备,但不必输入任何声音。我运行alsa工具,但modprobe sound-aloop说不允许该操作。

4
使用流程替换时,如何捕获退出代码/正确处理错误?
我有一个脚本,该脚本使用从SO上的Q&A采取的以下方法将文件名解析为数组: unset ARGS ARGID="1" while IFS= read -r -d $'\0' FILE; do ARGS[ARGID++]="$FILE" done < <(find "$@" -type f -name '*.txt' -print0) 这很好用,可以完美处理所有类型的文件名变体。但是,有时,我会将不存在的文件传递给脚本,例如: $ findscript.sh existingfolder nonexistingfolder find: `nonexistingfile': No such file or directory ... 通常情况下,我会让脚本RET=$?使用类似的代码捕获退出代码,然后使用它来决定如何继续。这似乎不适用于上面的流程替换。 在这种情况下正确的程序是什么?如何捕获返回码?还有其他更合适的方法来确定替换过程中是否出了问题吗?


1
获取TMux滚动缓冲区内容
使用TMux,是否可以通过编程方式从当前命令行上方检索滚动缓冲区内容? 我基本上是想写一个bash脚本向上迭代,直到找到匹配的字符串。需要明确的是,我不想浏览键入命令的历史。我想浏览控制台上显示的所有内容。
13 tmux 

3
媒体已更改:请插入标有'Debian GNU / Linux的磁盘
我使用从Debian安装CD / DVD的第一个DVD ISO中“刻录”的USB闪存驱动器安装了Debian 7。 在没有Debian桌面环境,打印服务器和Standard系统实用程序的情况下,我所做的安装非常简单。 安装并重新引导后,向我提供了一个带有Debian GNU / Linux 7主机名tty1的控制台。我提供了登录用户名和密码。 键入命令后sudo apt-get install xorg,弹出错误消息,指出: Media changed: please insert the disk labeled 'Debian GNU/Linux 7.4.0 _Wheezy_ - Official amd64 DVD Binary-1 20140208-13:47' in the drive and press Enter 我将相同的USB闪存驱动器插入相同的端口,等待了几秒钟后,按Enter键。 弹出相同的错误消息。 我已根据一些同事的建议尝试了以下步骤: 删除/删除其中的所有条目/etc/apt/sources.list并重新启动计算机 dmesg和fstab显示USB拇指驱动器已安装在 /dev/sdb1 sudo mount /dev/sdb1 /media/usb0 sudo apt-cdrom …
13 debian  usb  media 

6
如何获得“ realpath”以找到我的符号链接?
我使用MacOSX bash作为外壳。我有这样创建的符号链接: ln -s /usr/bin/python python2 我有一个使用python2的软件包,我想在我当前的工作目录中创建一个/usr/bin/python实际上是python2 的符号链接。当我python2从命令行执行a时,出现此错误: python2: realpath couldn't resolve "/usr/bin/python2" 但是像这样调用它./python2可以正确解析路径。我PATH有.。实际上,为了进行测试,我将其修改为仅包含.在其中。 我该如何解决?谢谢! 语境 以下建议的解决方案对我不起作用。我试图提炼出尽可能集中和简短的问题,以使人们不会淹没在文字的海洋中,但是显然我需要提供更多的背景知识。 我正在尝试从git克隆的软件包上进行开发。原始软件包,git-multimail是/是在Linux的某些变体上开发的(我猜是Ubuntu)。我一直在尝试对其进行修改,以使其能够在MacOSX上使用它及其测试套件,而只需进行尽可能少的修改。这就是一些建议的解决方案不理想的原因: 以root python2身份在/ usr / bin /中创建一个符号链接。我正在寻找不需要此解决方案的解决方案。在一开始,这是一个显而易见的选择,但是我想要一个尽可能少地修改主机系统的解决方案。这就是为什么我想在当前工作目录中创建一个临时符号链接,将CWD(即.)添加到我的路径,然后在完成时销毁它(即符号链接)。 创建包装器脚本以使用现有python调用python脚本。问题在于,大多数测试套件都将实际的script_files用作可执行文件,具体取决于shebang来找到正确的执行环境。这将意味着大量编辑测试套件。在这种情况下(有关测试框架的摘要,请参见下文),我将不得不为每个.py文件添加一个包装器;进一步,用户/开发人员将必须了解使用软件包的不同规则,具体取决于它们所在的系统(即,在MacOSX上,请确保在不通过包装或显式调用python文件的情况下,不要使用python文件/usr/bin/python file.py)。 #! /bin/sh D=$(cd $(dirname "$0") && pwd) MULTIMAIL="$D/../git-multimail/git_multimail.py" POST_RECEIVE="$D/../git-multimail/post-receive" TESTREPO=$("$D/create-test-repo") HOME="$D" XDG_CONFIG_HOME="$D" GIT_CONFIG_NOSYSTEM=1 export HOME XDG_CONFIG_HOME GIT_CONFIG_NOSYSTEM cd $TESTREPO test_email() { REFNAME="$1" OLDREV="$2" NEWREV="$3" …
13 python  symlink 

3
如何使用apt-get在Debian中升级MySQL?
我正在使用Turnkey Linux虚拟机。那里的Debian版本显然在“ Wheezy”升级路径上(如果您称之为它)。如您所见,我对Linux并不完全满意。 我需要MySQL 5.6提供的一些新功能,而当前安装的是MySQL 5.5.35。我想获取最新版本(截至本文发布时为5.6.17)或至少包含任何5.6.x。 我试过apt-get update,apt-get upgrade,apt-get dist-upgrade。这些成功地更新了很多东西,但是没有一个是MySQL。我试过了apt-get upgrade mysql-server,说我已经有了最新版本。 当我需要5.6时,网络上的Debian Wheezy软件包存储库列表显示MySQL 5.5,而没有其他显示。然后,我读到有关“ backports”的内容,听起来好像可以为我提供某些我特定的Debian尚不应该具备的功能-但我似乎无法使其正常工作。它需要向添加行/etc/apt/sources.list.d/sources.list。当我尝试执行此操作然后运行时apt-get update,出现404错误。 我也尝试了其他几种方法,其中一种是编译原始的MySQL下载,但我失败了,可惜不愿再尝试。 我对如何做到这一点感到困惑。在apt-get,甚至是上,论坛/博客上列出的大多数URL wget似乎在发布后很快就会消失,因此我无法理解任何人甚至如何找到正确的信息。我已经连续两天尝试这样做,却一无所获。 因此,假设您已经阅读了本文,那么我想知道是否有人可以通过某种相对轻松的自动化方式在Debian中升级MySQL(无需make手动使用或导出/导入当前数据库和配置的方式) )。
13 debian  apt  upgrade  mysql  turnkey 

1
为什么Mutt不断询问imap用户名和密码?
解封狗的配置变量imap_user,imap_pass(也许preconnect,imap_authenticators通过为好)account-hook . "unset ... "调用,似乎是常见的做法,如果不是必须的,用于处理多个IMAP帐户(请参阅管理多个IMAP / POP帐户(可选),马特IMAP多个帐户,狗:gmail IMAP无响应,funtoo.org中与帐户挂钩相关的配置文件)。 目前,我仅通过IMAP处理一个帐户。多帐户处理计划使我遵循上述链接(某人的mutt配置示例)中最后一个链接中的说明。因此,以类似的方式,我使用了以下内容: account-hook . 'unset imap_user; unset imap_pass; unset tunnel' account-hook 'imaps://mail.domain.net:993/INBOX/' "set imap_user=UserName@domain.net" account-hook 'imaps://mail.domain.net:993/INBOX/' "set imap_pass=${my_password}" 它存储在一个单独的文件(名为account_hooks)中,并从内部获取muttrc。由于我不明白的原因,mutt不断询问用户名和密码。但是,如果直接在中设置变量imap_user和,例如imap_passmuttrc set my_password="`gpg --decrypt ~/.mutt/password.gpg`" set imap_authenticators='login' set imap_login = 'UserName@domain.net' set imap_user = 'UserName@domain.net' set imap_pass ="${my_password}" 一切正常。该account_hooks文件是第一个来源,account-hook . "unset ..."在其他任何地方均不存在其他调用。 Update,folder-hooks文件如下(我认为是)如下: #-------------------------------------------------------------------------- # …
13 mutt  imap 

4
Gentoo上的Portage如何查看可用的软件版本?
我想emerge在Gentoo系统上安装foo程序;因此,我只是简单地使用emerge foo安装和移植选择其存储库中该软件的最新版本。如果我知道版本号和命名约定,我可以这样做emerge =foo.1.2并使用它eselect来从安装的软件包中选择当前生效的软件包(如果该软件包支持的话)。 但是,如果我不知道版本号或命名约定,而只想获取foo的哪些版本列表,该怎么办?我没有看到执行此操作的紧急选项,并且在/usr/portage任何地方窥探都不给我任何东西。 奖励:总有没有找到哪些位置emerge调查来确定可用的软件包?例如,我系统上的许多ebuild都位于非标准位置,但是emerge无论如何都能找到它们,因此我试图确定如何emerge构建它的可用软件版本列表。
13 gentoo  emerge 

2
内核模式设置使我的引导挂起,但是ATI驱动程序需要它
我有一台2011年末的MacBook Pro。它具有集成的Intel视频卡和离散的ATI视频卡。理想情况下,我希望Xorg将ATI卡与免费驱动程序一起使用(无Catalyst)。 问题出在这里:内核模式设置使我的启动挂起(通过添加nomodeset到内核​​参数进行验证),我不知道为什么。但是,ATI驱动程序需要 KMS,英特尔驱动程序也需要。如上所述,通过所需的设置获取图形有哪些选择? 我在内核3.13.8,Arch GNU / Linux上。我还尝试使用内核3.10.35(也称为LTS内核)进行尝试。没运气。正如评论中所建议的那样,在锁定受影响的计算机后,我尝试对其执行ping操作。我不能肯定地说,但是看来它已经完全冻结了,而不仅仅是显示屏。 我还尝试了引导进入Mac OS X并使用gfxCardStatus强制使用Intel卡。这什么也没做。 为了尝试获取更多信息,我启动了MacBook,并将以下内核参数附加到我的常规内核行(常规内核,而不是LTS内核,并quiet删除了),并将gfxCardStatus设置为on-the-快速切换(这似乎在OS X重新启动时自动恢复): rootwait ignore_loglevel debug debug_locks_verbose=1 sched_debug initcall_debug mminit_loglevel=4 udev.log_priority=8 loglevel=8 earlyprintk=vga,keep log_buf_len=10M print_fatal_signals=1 apm.debug=Y i8042.debug=Y drm.debug=1 scsi_logging_level=1 usbserial.debug=Y option.debug=Y pl2303.debug=Y firewire_ohci.debug=1 hid.debug=1 pci_hotplug.debug=Y pci_hotplug.debug_acpi=Y shpchp.shpchp_debug=Y apic=debug show_lapic=all hpet=verbose lmb=debug pause_on_oops=5 panic=10 sysrq_always_enabled 当我尝试使用ATI或Intel驱动程序启动GDM且没有KMS引导时,Xorg会失败,并显示一条消息,提示找不到合适的驱动程序(因为Intel / AMD驱动程序需要KMS,所以预期如此)。我也尝试过使用该xf86-video-vesa软件包,但是失败,并显示一条消息,提示具有合适的驱动程序但没有合适的配置-有关BIOS的信息不正确。 我已经尝试过使用PRIME,但是由于即使没有加速或任何花哨的东西,我也无法使Xorg出现,xrandr所以它不起作用,甚至无法超越第一步。 我已经考虑过使用vgaswitcheroo或其他相关工具,但由于基本问题(我相信是KMS正在挂起),因此我认为这不会做任何事情。 我尝试的最后一件事是使用专有的Catalyst驱动程序,因为它具有自己的KMS实现,但是由于Xorg服务器版本不匹配,我无法安装它。老实说,如果我能帮助的话,我对使用专有驱动程序的渴望不到零,所以我并没有努力。 …


3
Bash脚本错误:预期为整数表达式
我遇到了一个很奇怪的问题,我在多个服务器上运行脚本(Bash),并且它停止在其中一台服务器上工作(在所有其他服务器上都可以正常工作)。 这是脚本的问题部分:(我自己没有写过,所有功劳都归功于“ Rich”)(http://www.notrainers.org/monitoring-memory-usage-on-linux-with-nagios- and-nrpe /) if [ "$result" -lt "$warn_level" ]; then #Line 56 echo "Memory OK. $result% used." exit 0; elif [ "$result" -ge "$warn_level" ] && [ "$result" -le "$critical_level" ]; then #Line 59 echo "Memory WARNING. $result% used." exit 1; elif [ "$result" -gt "$critical_level" ]; then …
13 bash 

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.