问题标签 [freebsd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
241 浏览

device-driver - 协助调试 FreeBSD 驱动程序(以太网问题)

我刚刚安装了 pfSense(一个 FreeBSD 发行版)并且我的以太网适配器出现问题 - 我似乎能够让它进入一种状态,尽管有 ARP 表等,但我无法 ping 任何机器......一切都是正确的(在我正在 ping 的机器上,我可以看到数据包到达并在 Wireshark 中发送响应,但远程机器什么也没有得到)

对操作系统开发感兴趣且知识有限,我有点想尝试调试它,但在很多方面我不确定从哪里开始:

  • 如何获取我正在使用的驱动程序的源代码?它们会成为 FreeBSD 源代码的一部分,还是会有一些外部项目?(或者我使用的驱动程序可能是Realtek发布的专有驱动程序,因此没有源代码)
  • 就此而言,我如何识别我当前使用的驱动程序?
  • 最后,关于如何调试内核级/设备驱动程序有什么好的资源吗?

(如果我问的是愚蠢的问题,或者我似乎对我希望通过调试实现的目标过于乐观,我表示歉意,但尽管我缺乏这方面的经验,但我认为自己是一个聪明的人,我必须开始某处!)

0 投票
3 回答
3125 浏览

php - 如何将本地目录与远程 ftp 目录同步?

我们的网站依赖于我们的制造商之一的图像。图像目录很大,通过 FTP 获取它们是一项整天的工作。现在我们已经下载了整个目录,我们希望能够定期下载新的文件和目录,或者自上次下载以来已经更改的文件和目录。我们正在考虑编写一个脚本来检查文件的修改日期并只下载最新版本。

由于这不是第一次遇到或解决这个问题,我想我会发布这个,看看是否有人知道可以在这里应用的现有解决方案。现有的解决方案需要与 FreeBSD 和/或 LAMP 兼容。

0 投票
1 回答
3407 浏览

gdb - gdb 没有遇到断点

为了更多地了解 FreeBSD 和 *nix 系统,我开始查看来自 DEFCON 17 Capture The Flag 游戏的二进制文件。现在,我正在反转 tucod 二进制文件。以下是关于 tucod 的一些可能有用的信息:

从一些简短的静态分析中获得的其他一些可能有用的信息是 tucod 绑定在端口 0xDEAD 上(可爱,是吗?),如果你给它一个特定的密码(“HANGEMHIGH!”),它会和你玩一个刽子手游戏。

我遇到的问题是我没有在 gdb 中达到我的断点。 具体来说,我试图到达的断点位于处理客户端连接的代码中。如果没有断点,代码将按预期执行。当我在该代码上设置断点时,孩子退出(而不是像预期的那样进入 gdb)。如果我在服务器分叉孩子之前设置断点,我可以很好地点击这些,但是在点击“继续”之后,孩子不会继续处理我的连接(也就是说,它不会要求我输入密码或玩hang-man )。

由于守护进程在收到新连接时会分叉,因此我尝试使用以下命令告诉 gdb 跟随子进程:

但是在分叉后单步执行指令后,这似乎不起作用。

我尝试寻找对 的调用,认为他们实现了自定义 SIGINT 处理程序(或类似处理程序),但我可以看到signal的唯一调用处理 SIGCHLD。signal

我在 gdb 中的断点目前如下所示:

并且0x080497d0是我想在客户端处理代码中中断的地址。

我对分析 *nix 系统上的软件有点陌生,可以使用一些指针。 我还应该如何解决为什么 GDB 不会达到我的断点? 还是我忽略了一些重要的事情?

对于那些有兴趣直接查看二进制文件的人,所有游戏二进制文件都有一个torrent 。

0 投票
3 回答
359 浏览

svn - Subversion 忽略某些目录和文件

嗨,我在 freebsd 机器上使用颠覆。

在一个项目中,我有几个目录,例如缓存和 Smarty 使用的 tmp 文件夹。如何从提交中排除这些文件夹?来自 Eclipse 的 .project 文件也总是添加到要提交的列表中。我也可以忽略吗?

谢谢。

0 投票
1 回答
665 浏览

mysql - FreeBSD、MySQL、Perl、bash:命名管道上的间歇性阻塞?

这很奇怪,我不确定真正的罪魁祸首是谁。

我正在编写一些脚本,在 FreeBSD (6.2) 上?它广泛使用了以下***bash***ism:

...其中“do_something 是一个有点笨拙的实用程序(在 Perl 中),它不会从管道中读取。如果我使用常规文件,它工作正常。我的bash脚本使用诸如此类exec 4< <(...)查询之类的东西(接下来是表格while read x y z <&4; do ...似乎从来没有任何问题。

但是,Perl (5.8.x) 似乎会定期阻塞(显然是永远阻塞)。我尝试chomp(my $data = <MYDATA>);用一​​个使用sysread的例程来改变它,并用 Python 编写了一些测试用例进行比较。这些似乎比惯用的 Perl 代码阻塞的频率要低得多,但有时它们仍然会这样做。(使用f.read()or的 Python 代码os.read(f.fileno()...)似乎在这个问题上表现得差不多)。

我已经尝试使用... <(cat ...)(我在cat常规文件的地方)重现该问题,但这似乎永远不会重现该停顿。

我浏览了一些ktrace/kdump数据……但我对 Linux strace甚至 Solaris truss更加熟悉……所以我还没有弄清楚那里发生了什么。

我想我们基本上可以排除 Perl,因为我已经使用 Python 重现了同样的问题......我看不出bash在这里做错了什么(它只是在/var/tmp/sh中创建了一个命名管道-np-xxx并将进程连接到那个)。

mysql shell/utility 正在做什么可能会导致这种情况?我认为我没有从其他任何东西(例如catdd)中看到它。我还没有在 Linux 下测试过这个场景……但我已经在 Linux 下使用<(...)了(进程替换)多年,并且不记得曾经见过这个。

是 FreeBSD 的问题吗?

当然我可以使用临时文件解决这个问题......但我肯定更愿意理解它为什么这样做(并避免临时文件带来的一些竞争和清理混乱)。

有什么建议么?

0 投票
2 回答
913 浏览

command-line - 命令行 grep 中包含“$”的字符串?

我试图找到两个变量在脚本目录中连接的位置,但是当我尝试以下操作时:

我收到“未定义的变量”错误...

我想我可以通过使用以下方法来逃避 $s:

但是我得到了同样的错误——那么,你如何用 $s 来查找字符串?

0 投票
2 回答
24136 浏览

linux - 如何在不接触 CFLAGS 环境变量的情况下在 64 位 linux 机器上编译 32 位二进制文​​件

解决方案在

如何使用 gcc/cmake 在 64 位 linux 机器上编译 32 位二进制文​​件

不可能,因为我使用 3rd 方软件和其他已经使用 CFLAGS 变量的东西。并且不允许修补他们的 makefile - 我的老板说。

所以我必须找到另一种方法来执行它。也许有一些符号链接的魔法将对 gcc 的调用重定向到 32 位版本的编译器(希望不会动态检测到默认目标)。

0 投票
1 回答
1645 浏览

php - 如何让 mod_rewrite 在我的主目录中工作?

我将我的 PHP 文件存储在 FreeBSD 下的这个目录下:

在我的浏览器中,我通过以下 URL 访问它们:

我有一个 htaccess 文件来重写 URL:

但是当我在浏览器中访问http://192.168.6.7/~david/code/php/test时,我得到了这个错误:

如您所见,重写规则成功尝试将 test 重定向到 test.php。但由于某种原因它失败了。

我在我的 apache 错误日志文件中找到了这个:

有人知道怎么修这个东西吗?顺便说一句,如果我把它放在一个 web 目录而不是我的主目录中,一切正常。

0 投票
3 回答
337 浏览

c++ - FreeBSD 内核中是否有用于 Malloc 调用的标志“M_FAST”?

如果你知道有一个,你能告诉我它的用途吗?如果不是,请这样说:) 谢谢。

签名: void * malloc(unsigned long size, struct malloc_type type, int flags);

例如。其他标志是...

这是我困惑的根源

编辑

我在下面的回答中对 M_FAST 进行了说明。

0 投票
3 回答
1855 浏览

linux - FreeBSD vs GNU Linux vs OpenSolaris 的主要优点/缺点是什么?

FreeBSD vs GNU Linux vs OpenSolaris 的主要优点/缺点是什么?

哪个是最好的编程/开发操作系统?