Linux 出于开发目的,新的ubuntu服务器应该安装哪些重要的东西?

还有什么?对于任何类型的web开发,我都推荐apache2。对于数据库,我建议使用mysql服务器或postgresql。对于java(以及C++和其他一些),一个流行的选项是Eclipse < /C> >,虽然代码> NETBease/COD>也不错。 如果您想了解引擎盖下的情况,wireshark是一款很棒的网络监控工具,它可以向您显示服务器所有网络流量的每个细节。您在开发什么?java/python/c++?所谓开发服务器,您是指在其上开发Web应用程序的机器吗?还是您要将webapp代码

Linux 用于ubuntu的稳定而简单的amqp服务器

我在Ubuntu 10.04 64位操作系统上使用rabbitmq服务器作为带有python客户端的amqp服务器 Rabbitmq服务器现在无法启动。我卸载并安装了最新的rabbitmq服务器1.8.0,但仍然无法使rabbitmq正常工作 我想在ubuntu系统上使用其他学习曲线较少的amqp。你能推荐一个吗?OpenAMQ 您是否尝试删除/var/lib/rabbitmq?OpenAMQ已死亡。 OpenAMQ和AMQP规范的创建者是 他们建议改用。 我也这样建议。请看下面的图片。消息传递

Linux 如何更改从LKM添加到内核的变量?

我从一个非常基本的“hello world”LKM开始学习,另外,我已经在内核中添加了功能,并成功地重新编译了它,它可以正常工作。 我现在喜欢做的是在编译后的内核代码中添加一个变量,然后在加载和卸载模块时,从我的LKM可以更改该变量。这样我就可以启动和停止内核功能,而无需重新编译。 有什么建议吗 谢谢两种解决方案: 1) 通过proc/sysfs(首选方式)向用户空间公开变量 2) 使用字符设备驱动程序发送ioctl。为什么不将其添加到proc和/或sysfs中?您的意思是什么?我该怎么做?谢谢

Linux FTP获得550权限被拒绝Apache Ubuntu服务器11

我今天刚设置了FTP,收到一个550权限被拒绝的错误。 我尝试对目录(/var/www/site1)进行chmod操作。 有什么想法吗? 检查您的用户名和密码是否正确,端口号是否正确 另一个原因可能是您可能没有在网络中使用ftp的权限。将文件从服务器传输到笔记本电脑时,我收到了相同的错误消息。我更改了防火墙设置以允许使用服务器IP地址。错误不再出现。 在我的情况下,更改chmod权限不会影响它。您是否设置了ftp用户?

在Linux中解析SWF文件

我们想写一些从几个SWF(FlashActionScript3)文件中获取数据的自动化过程 除此之外,我们希望它能够作为自动化部署脚本的一部分自动运行(用Ant编写,在Linux上运行) 你们知道有什么SWF解析工具可以检查每帧的实例数据吗?(正如我在谷歌看到的那样,AdobeAIR不会在linux控制台上运行) 想法?:) 使用Adobe AIR 我们已经使用AdobeAIR SDK完成了这项工作。系统支持Linux 你不需要为Linux桌面打包你的应用程序,只需要使用adl工具来运行你的应用

Linux sqlite3:读取正常,写入错误

我使用的是sqlite3数据库,有一个神秘的错误。 当我的应用程序尝试向其写入内容时,我会得到: “SQL逻辑错误或缺少数据库” 但是,读取请求工作正常,因此数据库连接正确。 我还总是打印导致错误的原始SQL请求,通过直接在控制台中输入它们,它就可以正常工作。 该文件对每个人都具有写访问权限 …那么,知道写入请求失败的原因吗 (这种情况发生在ubuntu服务器上,在我的本地windows设备上工作正常)很抱歉,可能是显而易见的,但是您是否检查了数据库文件的权限?我曾经在一个旧的SQLite版本中

Solaris“;installf";Linux中的commnd等价物

Linux中存在任何等效命令,对于Solaris,“installf”与Solaris上的包管理相关 各种Linux发行版具有不同的功能: Debian和Ubuntu使用.deb软件包和apt-get或aptitude命令,例如apt-get-install-sbcl来安装sbcl软件包及其依赖项 Redhat、Fedora和Maegia使用.rpm软件包,例如使用yum命令 其他一些发行版具有其他包管理器,请参阅

Linux 在Unix中将ls-R输出解析为变量

我正在执行一个ls-R/文件/ 我得到了以下输出 ./: nvision ./nvision: layout ./nvision/layout: abcd.txt 我希望得到清单中的路径,如 /nvision /nvision/layout/ /nvision/layout/abcd.txt 我应该能够将所需的路径复制到一个变量 附言:我不是在寻找nvision 我正在尝试获取文件夹下的文件夹和文件列表 有人能帮我吗你试过使用find吗 这很容易找到。获取当前目录中的文件

Linux pci_iomap:查询

因此,我目前正在使用ioremap_no_缓存映射卡中的门铃区域,并且只有4K大小。然而,我现在无意中意识到,在这个4K区域之后,我也能按门铃/写信到其他地方,奇怪的是,它似乎起了作用。 我想知道它是如何工作的/为什么工作的,如果可能的话,通过本文深入了解ioremap_no_缓存在引擎盖下是如何工作的?代码阅读和手册页只起了这么大的作用。 请注意,默认情况下,第一个4K区域之外的额外4K区域不存在1除了ioremap\u no\u缓存设置的映射之外,还有其他映射吗?2如果ioremap_no_

Linux CMake忽略自定义命令中的变量

免责声明:我是新手 我有以下CMakeLists.txt文件: cmake_minimum_required( VERSION 2.8.10.2 ) project( widget ) # gleaned from the original makefile add_definitions( -DPJ_IS_BIG_ENDIAN=0 ) add_definitions( -DPJ_IS_LITTLE_ENDIAN=1 ) add_definitions( -DPJ_AUTOCONF=1 )

Linux &引用;“无子进程”;调用waitpid两次时出错

出于某种原因,我必须在同一个子进程上调用waitpid两次: 第一次调用waitpid,没有错误: waitpid(pid, &status, WUNTRACED); 第二次: waitpid(pid, &status, WNOHANG|WUNTRACED); 出现错误:“无子进程”。我的代码有什么问题吗 更新: 如果子进程在我第一次调用waitpid之后或之前已经退出,这意味着父进程已经收获了这个子进程,那么第二次调用waitpid就会导致错误。这是否正确?是否在第二次wa

Linux can';t在DEBIAN_前端之后安装runit=非交互式安装-y gcc

我希望自动安装gcc和runnit。 但是当我“sudo apt get install gcc”时,它会弹出一个对话框来选择配置。 所以我用 sudo DEBIAN_FRONTEND=noninteractive apt-get install -f -y --force-yes --no-install-recommends gcc 然后我用同样的方法安装runit sudo DEBIAN_FRONTEND=noninteractive apt-get install -f -y --fo

Linux 登录时执行bash并添加别名

当我按照Putty登录到Linux服务器时,我想执行bash(因为默认shell是另一个),然后添加别名 我尝试了几种组合,将exec bash放在.profile中,并将alias foo='echo foo'添加到.bash\u profile中。但是我没有找到正确的组合。要么没有设置别名,要么没有执行bash 那么,问题是,在这些文件中: .profile .bashrc .bash_profile 我是否必须输入以下命令: exec bash alias foo='echo foo'

Linux Shell脚本-如何获取参数$n的上目录

在我的脚本中,我收到一个.tgz文件作为参数$1,我必须在临时目录中过滤其元素的大小,创建一个新的,然后重写原始文件 如果$1是的“~/Directory/File.tgz”,那么我需要知道如何访问“~/Directory”,以便使用它 这是我的代码: dtemp=`mktemp -d ./tmpdirXXX` cp $1 $dtemp #Copy cd $dtemp comprimido=`find ./ -name "*.tgz"` tar xzvf $com

使用Hadoop集群的处理能力,而不是GNU/Linux机器

我正在Hadoop集群上的两个文件之间进行区分。 diff Hadoop使用无共享体系结构,这意味着所有记录都是独立处理的。在您的情况下,这意味着HDFS块大小应至少为20GB(默认为64-128MB)。因此,在这种情况下使用Hadoop是疯狂的;)我明白你的意思任何带有mapred的东西,我们可以使用2个映射器(1个映射器读取每个文件)和1个减速机(运行差异)?只是澄清一下。我想你误解了什么,但也许我错了。Hadoop不是集群或操作系统。它是Map/Reduce编程模型的一个实现,您可以使用它

如何使用Linux Crontab在其他日期执行两个任务?

我想这样做: 今天早上6:00执行任务A,然后每隔两天执行一次 明天早上6:00执行任务B,之后每两天执行一次。让cron作业每两天执行一次的正常解决方案是在天字段中使用*/2,但这不支持交替天 您可能需要列出一个天数列表: 0 6 */2 * * #Job to execute every even numbered day 0 6 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31 * * #Job to execute every odd numbered

Linux 使用start-stop守护进程启动二进制文件禁止使用UDP

我有一个二进制文件,它使用UDP监听命令,等待命令。当由root用户启动时,效果非常好。但是如果在启动时由start-stop守护进程启动,我会在UDP例程中看到“坏文件描述符”错误 这是一个基于Linux/Ubuntu ARM的板,运行3.4.0-1489-omap4内核 启动停止守护进程--版本 Debian的启动停止守护程序1.16.1.2 start-stop daemon命令如下所示: start-stop守护进程--start--startas$home/program--pidfi

Linux 用于添加具有超级用户权限的postgres用户的shell脚本

我正在尝试编写shell脚本来创建一个具有超级用户权限的postgres db用户,然后通过使用新创建的用户登录来自动运行一些sql脚本 我尝试了下面的两个脚本,但我进入了psql交互模式,我们如何避免任何外部输入并提供所需的所有凭据,并使用给定路径中的一些脚本完成用户/db/和表的创建。如果有什么不清楚的地方,请允许我更正 脚本1: #!/bin/sh username="testuser" psql $username << EOF CREATE ROLE $username W

Linux 为什么cut在for循环中返回相同的值?

我正在尝试使用linux centos6从每个单独的文件中剪切文本。出于某种原因,它会不断从第一个文件返回相同的值,而不会从每个单独的文件返回该值 例如,当我运行以下命令时 for d in ~/assets/*/client_custom.css; do sed -n 73p ~/assets/*/style.css | cut -c 29-35 ; done 如果有20个目录,它将带回 #3a1504 #3a1504 #3a1504 #3a1504 #3a1504 #3a1504 #

Linux 我的bash脚本有问题吗

我的作业要求,如果我键入add2 4-3 12 9,它将输出 二十二 但我的产出: 41322 如果我输入add24-3129它将输出: 对不起,“12”不是一个数字 但我的产出 4 1 对不起,“十二”不是一个数字 对不起,“九”不是数字 我的作业需要echo$number | grep-q“[^a-z]”>/dev/null,因为它希望我将输出重定向到/dev/null,我不知道我做错了什么。问题是,在处理每个数字之后,您都在打印$sum,而您的任务是仅在最后一个数字之后打印。因此,您需要将

Linux 更改chromebook开发人员控制台中的键盘布局

我有一个Acer Chromebook,它正在开发模式下运行。在ChromeOS和cosh中,我有一个德国键盘。当我想切换到Ubuntu(strg+alt+f2)时,我必须使用chronos登录帐户登录到开发者控制台。但这里的键盘布局/设置是EN-US。输入命令后,crouton/ubuntu启动,键盘布局再次为德语 如何更改/切换开发人员控制台中的键盘布局? 有shell命令吗 开发者控制台crosh是一个unix控制台,unix命令通常适用。我不确定相关的命令是什么,但是你可能可以通过一些G

Linux 我的审查委员会网站中没有差异选项?

我根据以下站点中详细说明的步骤成功设置了审查委员会: 它工作得很好,只是它没有diff选项,而且我看不到哪里可以加载补丁文件。我只能加载一个常规文件 当我尝试加载文件时,还会收到以下消息: 您将无法在此审核请求中添加任何差异。审查请求仅可用于审查屏幕截图和其他图形文件。 以下是一个屏幕截图: 我找到了自己问题的答案。事实证明,我必须以管理员身份登录并导航到admin部分,然后添加一个cvs或svn存储库,在这种情况下,我可以加载diff并下载它们

Linux 作为超级用户的WinSCP

我遇到了WinSCP,我认为它是一个非常好的客户端,可以与我的EC2 ubuntu实例一起使用,作为putty的图形替代品。但有一个问题是,每当我想修改或创建一个文件时,我必须将其放入shell中并运行相应的sudo命令。有没有办法以超级用户身份使用winscp登录以避免出现这种情况?可能重复的请参阅

Linux 使用Sudo命令时,单行中的多个命令不起作用

我尝试使用&&在一行中执行多个命令,但在以下情况下不起作用。它只是单独执行第一个sudo命令 sudo /usr/bin/rootsh -i -u ditest && Set_proj && 1 注意:只有第一个是Sudo命令,其余是普通命令。我已经尝试使用以下命令。但它不起作用 即使在执行第一个命令后输入“Set_Proj&&1”,多个命令也不起作用。仅执行第一个命令(Set_proj) 在其他情况下,多行命令可以正常工作。例如:cd jtest&ls 编辑:

Linux ELF—为什么正常链接运行速度比';ldd-r';?

我有一个exe,其中没有任何代码更改,但我担心它链接到的符号不再存在于其共享对象上。我找到了两种方法来测试这一点: 运行ldd-r 重新链接exe 在某些情况下,重新链接似乎比运行ldd-r更快,这是什么原因 在某些情况下,重新链接似乎比运行ldd-r更快,这是什么原因 考虑一个简单的例子:main.o从libfoo.so调用foo() gcc main.o -L. -lfoo ld必须完成的工作量:发现正在调用foo,发现它是在libfoo中定义的。没有太多的工作 现在假设libfoo.

Linux 拉斯宾气喘吁吁地把云和NFS放在一起

我正在尝试在raspberry pi(raspbian wheezy)上设置一个文件/DLNA服务器,以供我使用的所有设备(android和Linux)共享文件 我有一个USB驱动器,有一些像样的存储空间,里面有我所有的文件。到目前为止,我有NFS和dlna为USB驱动器内容提供服务 最近,我安装了自己的云。它要求owncloud数据目录归www数据所有。我已安装(从fstab)USB驱动器,选项为:rw、user、uid=33、gid=33、mask=007。owncloud工作得很好(尽管渲

Linux Python套接字。错误:[Errno 13]权限被拒绝

使用Linux和Python,我想通过广播发送一些数据: d = b'109u433279423423423' import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.sendto(d, 0, ('192.168.0.255', 9)) 我在根目录下启动此脚本,并出现以下错误: s.sendto(d, 0, ('192.168.0.255', 9)) socket.error: [Errno 13]

Linux MongoDB仅返回在最近一小时/24小时内更新的字段

我在这方面找了很多线索,但似乎都不管用 我得到的最接近的表格如下: db.<collection>.find({ $where: function () { return Date.now() - this._id.generation_time() < (24 * 60 * 60 * 1000) } }) 我想知道是否有办法使用“时间戳”与日期进行比较。现在()…尝试了一些已经不起作用的事情。。。想知道是否有古鲁能伸出援手 谢谢 不要使用\u id的(这将失败,因为它不

Linux 如何在nodejs中运行独立的bash脚本

因此,我想运行一个脚本,它终止我的nodejs进程,并在另一个屏幕窗口中运行另一个进程。当我从控制台运行命令时,它可以工作,但是当从nodejs脚本运行时,kill部分被执行,但服务器永远不会运行 filelog('Attempting restartNodejs with PID: ' + pid + ' serverjsLocation: ' + serverjsLocation); filelog('kill ' + pid + ';screen -d -m -L nodejs '

一旦linux维护者应用了补丁,我什么时候在哪个LinuxGit分支中可以看到我的补丁?

我昨天向lkml社区提交了我的补丁,并且它已经被维护者应用,但是我还没有在linux-next.git中看到我的补丁。 我想知道它是否是查看我的补丁的正确分支? 如果“否”,我在哪里可以看到? 如果“是”,我需要再等一段时间吗?负责linux next的Stephen Rothwell目前正在度假。所以当他回来时,你的补丁就会出现在那里。否则,您可以在维护者中找到您的补丁应用到的特定子系统的树,查找T:行。负责linux next的Stephen Rothwell目前正在度假。所以当他回来时,你

Linux中是否有一个程序可以执行命令并在失败时发送电子邮件?

我有一个由Сron启动的流程,如下所示: timeout 1h /app/longprocess.sh 现在我想通过电子邮件通知我,如果它出了什么问题。想象一下: notifyme maintainer@example.org timeout 1h /app/longprocess.sh 其中,notifyme是一个假定的命令,它将向maintainer@example.org如果命令以非零状态退出,则输出命令。有类似的东西吗?没有,但是(未经测试) notifyme(){ 本地收件人=$1

Linux 在终端ubuntu中打开(";./data/./data/)

我有一个可编译的代码。当我在终端中运行可执行文件时,出现以下错误: terminate called after throwing an instance of 'chrono::ChException' what(): Cannot open stream Aborted (core dumped) 然后我运行: strace -e trace=open ./myexe 我发现程序在以下方面失败: open("../data/../data/_template_POV.pov", O_R

Linux 为什么';t PuTTY显示vi模式I';我在吗?

每当我点击I进入插入模式时,我希望vi显示--插入模式--,但当我将其与PuTTY一起使用时,它不会显示这样的消息 为什么会这样?如何使Vim显示我所处的模式?这对我来说是非常重要的,第一次就把它做好 我相信将设置showcmd放在.vimrc中就可以了。(或者只需输入:从vim内部设置showcmd)在.vimrc文件中放入以下行。它将在最后一行显示当前模式 set showmode 最后,我通过重新安装vim解决了这个问题 我认为我的Ubuntu操作系统导致了这个问题,因为我使用的是中文本

Linux Read/proc/<;pid>/fd/<;fd>;没有完全的根访问权限

我有一个程序()依赖于/proc/[pid]/fd/*来查找给定(网络)inode的进程 /proc/[pid]/fd只能由root用户读取,但为了安全起见,我希望尽可能放弃特权 是否有某种方法可以(有效地)在不需要完全根权限的情况下获得进程和inode之间的关系?也许我可以有选择地使用一些系统调用来访问功能?以便能够读取您需要的所有进程的fd: CAP_DAC_READ_SEARCH-用于访问/proc/[pid]/fd CAP_SYS_PTRACE-读取/proc/[pid]/fd下的符号

Linux 转义URL的sed正则表达式

为什么sed不替换任何东西: sed -i '' 's/<a href="\.\.\/\.\.\/ja\/%E6%9C%88\/[^-]\+-page-[\d]\+.html"\/>//g' foo.htm sed-i''s///g'foo.htm 我希望它与以下字符串匹配: <a href="../../ja/%E6%9C%88/%E3%82%A2%E3%83%B3%E3%82%AE%E3%83%A9-page-2013.html"/> 您不能使用\d将数字与s

Linux 在文本文件中保留以图案开头的行

我正在处理JSON格式的文本文件。我只想保留以此图案开头的线条: {“MessageType”:“SALES.CONTRACTS.SALECREATED” 在这里,您可以看到我的两行数据: {"MessageType": "SALES.CONTRACTS.HOLDCREATED", "Event": {"Id": "ZWbDoMKQw6HDjFzCo8KuwpNmwofCjl7Co8OPwpDCncOSXMOdccKTZVVWZWbCnA==", "RefInfo": {"TenantId":

如何在linux中编辑文件中一行的字符串

我有一个包含第30行文本的文件,它是: Icon="\<some path which we do not know\icon.png" 最好的方法是什么 谢谢。您可以使用vim查找和替换字符串,或者使用“sed”命令您可以使用编辑器手动执行此操作,或者如果您喜欢以非交互方式执行此操作,您可以使用小型shell管道和sed sed `3 s/big path/custom path/` input_file.txt 其中,3是行号,大路径是要替换的路径,自定义路径是要替换的路径inpu

Linux Bash脚本使用if条件生成错误

我对bash脚本中的if有问题。我编写了以下if条件,但它产生了一个错误: if [[ "$capacity" != *10 && "$capacity" != *20 ]] || [[ "$capacity" != *80 && "$capacity" != *100 ]]; then 简单地说,我想使用or运算符比较(两个值不等于)| |(两个值不等于)条件,我取了您的行并添加了足够多的行,使其成为: 然后我像这样运行它: $ chmod +x ./mys

Linux #!/带参数问题的bin/bash可执行文件

为什么我不能理解这里的问题?参数catch在/bin之外工作,但我不想使用“/”来运行我计划执行的命令 我在/bin目录中添加了此脚本: $ cat /bin/test #!/bin/bash echo $@ 当我执行它时,我得到一个错误。例如: $ test one two bash: test: one: unary operator expected 但是,当我将相同的脚本放在不同的位置时: $ cat /home/user/run/test #!/bin/bash echo $@

Linux Shell脚本中基于菜单的选择

我有一个Shell脚本,可以在一个菜单中执行4项任务。 到目前为止,我的代码是基本的,我想没有菜单。我希望它在开始时添加菜单,并且我尝试了许多使用case语句、if-else和while循环的方法。什么都没有解决 #!/bin/bash cd / echo "1. Basic Details" echo "2. CPU Information" echo "3. Network information" echo "4. All" echo "5. Cancel" read option

Linux 与cp命令和-R参数一起使用时,**和*之间的差异

我只是想找出两者之间的区别 cp -R $rootpath/vgcore/core/src/geom/*.* $destpath/geom_src , , 及 假设我们在geom中有一个子目录,比如alg中有文件 在一种情况下,是否只从geom和alg复制所有文件并放入geom_src?那么源的dir结构将被忽略 geom中的所有文件以及alg+alg本身中的所有文件都将复制到SubDR结构上 和2一样 sames as 2和3 对不起,我手头没有测试Linux的机器来测试这个 谢谢。当您在b

Linux 无法通过同一网络中的IP地址访问nexus服务器

我已经在Linux机器上安装了nexus存储库,我可以通过 它工作得很好 现在我在同一网络上有另一台机器,我正试图使用该机器上的IP地址访问nexus,但它不工作 有人能帮我修一下吗? 有需要更改的配置吗 首先尝试从linux机器的某个位置ping,并确保您与外部世界有活动连接。最好ping你的电脑 检查防火墙是否处于活动状态 基于发行版 service iptables status service firewalld status 如果它处于活动状态,请尝试停止并重试 service i

Linux 在部署-git时限制文件

我正在使用Gitlab部署我的应用程序 我有几个需要同步到Gitlab的文件,但不想将它们部署到生产环境中 例如:read.md、注释、片段 我知道将文件添加到.gitignore将完成任务,但它将完全忽略文件 还有其他选择吗?有一种方法可以告诉git不要将更改考虑到特定的文件: git update-index --skip-worktree path/to/file () 您可以在部署到生产环境之前设置它,并在gitlab上为日常交换取消设置它 (关于使用--跳过工作树或--假设未更改的各

Linux 如何在nginx中运行编译后的代码或脚本

exec\u push/usr/bin/ffmpeg-re-irtmp://localho … 此代码正在运行,但是 exec\u push/usr/bin/output exec/usr/bin/output exec/usr/bin/test.sh 这些代码不起作用,但相同的代码在终端上起作用。为什么? 他们就在我搬家的地方。权限已满,所有者为root用户 您可以改为使用shell_exec,或者如果它不工作,则可以使用检查功能是否启用 检查php.ini 或使用以下代码来确保 “这些代码不

Linux xdp ebpf在更新dest端口后如何更改校验和tcphdr

xdp ebpf在更新dest端口后如何更改校验和tcphdr //检查tcp头大小 结构tcphdr*tcph=data+NHU off; nh_off+=sizeof(结构tcphdr); 如果(数据+NHU关闭>数据结束){ 返回XDP_通行证; } tcph->dest=bpf_ntohs(5555); // ... 我正在尝试更改tcphdr的校验和,这对我不起作用。 tcph->check=0; tcph->check=校验和((无符号短*)tcph,sizeof(struct tc

Linux 在Google计算引擎上设置cronjob

我刚开始设置cronjobs,我正试图在googlecomputeengine的虚拟机上进行设置。经过一番研究,我发现了这个问题: 根据答案,我设法进入了crontab-e编辑模式,并设置了一个测试cronjob,如108***/usr/bin/python/scripts/kite-data-pull/dataPull.py。我还检查了系统时间(UTC),并根据该时间输入时间 根据答案,我应该采取的步骤是运行sudo systemctl restart cron,这给我带来了一个错误: sud

如何在Linux上模拟I2C设备?

我有一个自定义的SOM(基于iMX6)板正在开发中,它将运行Ubuntu,并且有几个I2C设备连接到一个IMX6I2C“适配器”。鉴于硬件还不可用,我想编写软件来访问和控制上述I2C设备,最好在我的Ubuntu笔记本电脑上模拟它们;我在想,比如安装,对软件测试也可能有用 我一直在玩i2cdetect,想看看我的笔记本电脑上有什么,我发现了一些特别有趣的东西;考虑这些命令和响应: $ sudo i2cdetect -l i2c-3 i2c i915 gmbus dpd