Unix & Linux

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

2
如何反转apt-get build-dep <package>的效果?
当我跑步时: apt-get build-dep &lt;package&gt; 特权会安装的构建依赖&lt;package&gt;。 现在,我知道可以apt-cache depends &lt;package&gt;用来查看二进制依赖项了。我还没有找到任何方法可以在单个命令调用中显示相同的构建依赖关系信息,然后可以使用该信息来实现所需的功能。 那么,如何才能apt-get build-dep &lt;package&gt;消除的影响,即删除先前通过调用该命令安装的软件包? Braiam在下面的回答中给出了与构建相关的软件包: autotools-dev debhelper dpkg-dev libexpat-dev libgd2-noxpm-dev libgeoip-dev liblua5.1-dev libmhash-dev libpam0g-dev libpcre3-dev libperl-dev libssl-dev libxslt1-dev zlib1g-dev 完整apt-get autoremove要删除的软件包是: build-essential debhelper dpkg-dev libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev build-essential在这里尤其不希望这样做,但是我可以自己解决此问题。 实际安装的软件包列表为: debhelper dh-apparmor gettext html2text intltool-debian libcroco3 libgettextpo0 libpcre3-dev libpcrecpp0 libssl-dev libunistring0 po-debconf zlib1g-dev
8 apt 

2
udev规则,用于为相同的USB串行设备分配已知的符号链接
我有两个(可能将来会更多)相同的USB串行设备(不幸的是,序列号很低)-它们实际上是BTC矿机。当前,它们最终以ttyUSBXX为0、1或2结束,因为还有另一个不相关的USB串行设备(这里不必担心)。 我想编写一个udev规则,它将在内为它们分配可预测的名称/dev,例如/dev/miner0零是递增的整数。我不在乎其中的哪个会最终结束,但是我确实需要它们处于可预测的范围内,并且不会改变。 目前我有这个: SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="miner%n" 这很接近,因为我最终得到的名字像我想要的。唯一的问题是,因为矿工和第三装置有时会出现在一个随机的顺序,我可能最终有两个的miner0,miner1和miner2,但我从来不知道其中两个(无需手动寻找)。如果我添加更多非矿工USB串行设备(可能),则会加剧该问题。 我发现%e对它的引用似乎确实符合我的要求,但是似乎不再存在。 如何给这些设备起可预测的名称?如果可能的话,我也不想将它们绑定到USB总线上的位置。 进一步的信息/背景 值得一提的是,我并没有为它们的名字而烦恼,只是即使它们被插入另一个USB插座,它们的名称也不会改变。我会简单地忘记整个udev并在中使用条目/dev/serial/by-id,但是由于它们具有相同的序列号,所以其中只有一个! 还值得一提的是,这样做的原因是需要告知挖掘软件一系列要探测和查找的设备。我可以让它完成所有工作(它基本上只是找到ttyUSB*范围内的所有有效矿工),但是这会惹恼非矿工设备。因此,我需要提前知道的矿工的名称,以便可以将其配置为仅使用那些名称。可悲的是它不会接受通配符(因此,仅告诉它使用/dev/miner*似乎是不可能的),因此就出现了这个问题。

2
从期望日志中删除不可打印的字符?
如何从文件中删除以下字符序列?^[[64;8H,^[[?25h,^[[1;64r等或有希望避免增加他们摆在首位? 背景: 我正在为某些任务使用期望脚本的集合。 我正在收集的输出文件通常包含上述字符类型(如emacs / vi / cat -v中所示)。我已经尝试了许多类似以下的tr命令,但它只使[64; 8H等可见。 tr -dc '[:print:]\n' &lt; input 编辑: 有问题的行从上面得到的结果 [1;64r[64;1H[64;1H[2K[64;1H[?25h[64;1H[64;.....
8 bash  expect  tr 

2
防止在Awesome WM中窃取焦点,尤其是从Skype中窃取
当我将KDE与Awesome WM结合使用并在Skype中收到一条新消息时,Plasma Desktop将失去重点。这使我发疯,因为我无法继续在当前窗口中输入内容。有什么办法可以防止任何打开的窗口出现这种情况? 看起来,这样的焦点窃取是由Awesome WM或Plasma阻止的,但是Plasma的窗口切换器仍会突出显示窗口。因此,等离子控制杆(位于底部的那个)未被隐藏,因此本身就失去了焦点。 当我执行时killall plasma-desktop,焦点窃取停止了。但是,我也杀死plasma-nm了我想使用的其他东西。
8 awesome  plasma 

1
没有socat,nc或Bash的TCP重定向的ProxyCommand?
ssh_config的ProxyCommand允许建立到代理之前一些连接建立与实际目标机器的连接。 一个简单的问题:我如何利用内置ssh的动态或SOCKS代理功能,而不必依赖nc或socat安装它以及将TCP重定向编译到已安装的Bash中? 从字面上看,我只是在网上找到了上述例子。

1
为什么grep有时显示文件名,有时却不显示?
有人可以向我解释为什么我没有得到示例1中的完整路径吗? 示例1-返回找到的行 grep MODIFY /opt/releases/packages/cr_c_cr6/sas/dbms/*/*; outcome: MODIFY 示例2-返回完整路径 grep MODIFY /opt/releases/packages/cr666/sas/dbms/*/*; /opt/releases/packages/cr666/sas/dbms/sti/FA_DISCLOSURE.ddl:MODIFY QUANTITY NUMBER; 我已经找到了解决方案,但是我想了解这里发生的事情。1条命令,不同的结果/处理。
8 grep  wildcards 

1
在笔记本电脑上自动安装CIFS共享
我曾经在几个变体中看到过与此问题类似的问题,但是我还没有找到满意的答案。 这是我所拥有的: 高移动性的Debian笔记本电脑,可经常切换网络。 家里有一台CIFS共享的FreeNAS服务器。 这就是我想要的: 如果我在家时访问CIFS共享目录,请自动挂载CIFS共享。 如果我在其他地方访问CIFS共享时,请立即返回错误(即,在确定NAS不存在之前,请不要考虑网络五分钟)。 当我挂起或休眠计算机时,请干净地卸载共享,以使当计算机再次唤醒时,挂载不会指向稀薄的空气。如果无法完全卸载共享(进程正在使用目录),请执行以下任一操作: 中止暂停/休眠状态,并告诉我谁在山上露营;要么 无论如何都要强制卸载,然后继续挂起/休眠。 额外信用:当网络连接断开(拔下插头或失去与WAP的关联)时,请尝试完全卸载共享。 额外信用:此魔术应该独立于所使用的网络管理器。 我读过的各种选项似乎都不适合: autofs 似乎是可靠的,但似乎对暂停/休眠没有任何了解。 该_netdev选件mount和/etc/fstab看起来很有趣,但似乎只适用于NFS共享。 我还没能gvfs上班,但是那时我还没有很努力。 有关如何处理此问题的任何建议? 附录: 这是到目前为止我做的简短的版本。我安装了autofs,并编写了一个小的Shell脚本来强制使所有自动安装的卷过期,每当网络接口出现故障时,该卷就会被调用。 我为CIFS服务器创建了一个自动安装程序映射,其凭据存储在一个外部文件中(yuck)。然后,我编写了以下shell脚本: #!/bin/sh -e # Expire everything in the automounter. if [ -f /var/run/autofs.pid ]; then kill -USR1 "$(cat /var/run/autofs.pid)" fi 将USR1信号发送到自动挂载守护程序会使它强制使所有未使用的挂载失效。然后/etc/network/if-down.d/autofs,我将这个脚本放入其中,并在其中添加一个软链接/etc/network/if-post-down.d/autofs。连接断开时,NetworkManager会调用后一个目录中的所有脚本,因此应卸载所有自动挂载的文件系统。 但是,我对此安排并不满意。首先,autofs不区分自动装入的卷,并且在接收到USR1时将卸载所有不活动的卷,包括非网络卷,这是很费力的。 此外,CIFS服务器的登录密码必须存储在文件中。我非常希望得到提示。 无论如何,到目前为止,这就是我一直坚持的目标。它可以工作,但是我很乐意使用更好的东西...

3
从一行中提取不带定界符的固定宽度记录
我需要从单个文件中提取文本字符串,该文件包含一行很长的文本,没有定界符。使用下面的示例行,这些是以下已知事实: ??????? A1XXXXXXXXXX ??????? B1XXXX ??????? A1XXXXXXXXXX ??????? C1XXXXXXX 1. It contains 38 fixed width record types 2. The record marker is a 7 alphanumeric character followed by, for example, ‘A1’. 3. Each record type has varying widths, for example, A1 record type will have 10 characters following it, if …

7
命令行表达式求解器?
我正在寻找兼容Linux的基于TTY的计算器。例如: user@host:~$ calculate &gt; 2 2 user@host:~$ calculate &gt; 8*6-4 44 user@host:~$ calculate &gt; 8*(6-4) 16 是否有这样的东西支持基本操作,某些内置功能(如atan())以及可能通过脚本编写的自定义功能?

2
全新安装后重新安装应用程序?
我在使用Debian,我想重新分区驱动器并重新安装。全新安装后,是否有一种简单的方法来还原当前所有已安装的软件包? 我正在考虑通过制作备份应用列表来做到这一点: #generate list of installed packages dpkg -l | awk '{ print $2 }' ORS="\n" | tail -n +6 &gt; reinstallList.txt 然后执行全新安装后,我应该可以执行以下操作: #install from backup at reinstallList.txt sudo apt-get install $(&lt; reinstallList.txt) 有更好的方法吗?
8 bash  debian  apt  backup  dpkg 

2
为什么即使我的源列表中已经包含URI,build-dep也不起作用?
因此,我尝试为R统计语言安装名为RGL的软件包。 sudo apt-get build-dep r-cran-rgl [sudo] password for user: Reading package lists... Done Building dependency tree Reading state information... Done E: You must put some 'source' URIs in your sources.list sh: 0: getcwd() failed: No such file or directory 现在,我认为这是完全有效的反对意见,但是我已经在我的sources.list中添加了额外的deb行,如下所示: cat /etc/apt/sources.list #/etc/apt/sources.list deb http://cran.ms.unimelb.edu.au/bin/linux/ubuntu raring/ #deb http://cran.cs.pu.edu.tw/bin/linux/ubuntu raring/ 这并不十分关键,因为我能够通过备用命令安装RGL,即 …
8 apt 

1
我需要添加一个虚拟IPsec适配器吗?
我正在尝试使用iproute2从控制台手动设置IPsec连接。我需要的是一个虚拟接口(充其量,一个虚拟IP地址也足够),该接口可以进行IPsec转换(ESP /隧道模式),并将其移交给eth0(在我的系统上称为em1)。在另一组上,对等方从其自己的eth获取数据包,将其解密,然后将其移交给另一侧的虚拟接口。所以我想建立一个“正常”的IPsec隧道。 我对策略和SA没问题,使用传输模式下系统的常规以太网地址进行配置很容易,即 ip xfrm policy add src 198.51.100.1 dst 198.51.100.2 dir out tmpl proto esp ip xfrm state add src 198.51.100.1 dst 198.51.100.2 spi 24501 proto esp enc des 0xAABBCCDDEEFF0011 ip xfrm state add src 198.51.100.2 dst 198.51.100.1 spi 24501 proto esp enc des 0xAABBCCDDEEFF0022 对手上的对手配置效果很好。 现在,我尝试使用以下命令设置虚拟IP和到其他系统的路由 ip address …

1
Linux桌面如何执行系统操作?
从桌面登录后,Linux桌面可执行一些操作,否则用户将无法使用这些操作。输入密码后,只有sudo用户才能使用诸如系统关闭和更改系统时间之类的操作。这是如何运作的。是否有运行的root守护程序接收登录用户的命令。请引导我找到正确的答案。 我正在运行Ubuntu 13.10。
8 sudo  desktop 

2
如何使用PCL转义序列打印文件?
我有CUPS,并且使用的程序会生成要打印的文档的原始PCL格式。 我打印普通文本文件没有问题,lp filename但是当我给其中包含PCL或ESC / P转义序列的文件时,我将立即获得此新打印作业的完整状态-没有打印机反应。尝试以下每个操作时,都会发生相同的情况: lpr -l filename lp -o raw filename lp -o document-format=application/octet-stream filename lp -o document-format=application/octet-raw filename lp -o document-format=application/octet-raster filename 在手册和杯具文档中找不到在打印命令中定义了过滤器/驱动程序类型(发送直接pcl或esc / p)的文件的打印方式。 尝试使用两台HP打印机DeskJet 640C和D2460进行打印。 printers.conf我认为与我相关的部分: ... Type Filter application/vnd.cups-raw 0 - Filter application/vnd.cups-raster 100 rastertogutenprint.5.2 Accepting Yes ... ErrorPolicy stop-printer ... 我认为可能与我的D2460打印机ppd文件有关的部分: ... *TTRasterizer: Type42 …
8 printing  cups 

3
&&和;和有什么区别?什么时候分叉睡觉到背景?
我刚刚问了一个有关在后台中休眠的过程的问题。 我自己想到的符号如下所示: sleep 10 &amp;&amp; echo "hello world" &amp; 这个对不同问题的答案使用了不同的格式。 ( sleep 10 ; echo "hello world" ) &amp; 我知道,&amp;&amp;如果第一个过程返回true ,则仅允许第二个过程开始。睡眠会失败吗?有没有一种情况我应该优先选择另一种情况?

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.