首页 >>  正文

linux系统测试端口

来源:baiyundou.net   日期:2024-09-23

整理 | 苏宓

出品 | CSDN(ID:CSDNnews)

在搭载 M1 芯片的 Mac 上成功运行 Linux 之后,Asahi Linux 团队便将手伸向了 M2 芯片。

有些出乎意料的是,在 M2 芯片短短发布一个月后,该团队便带来了 Asahi Linux 新版本,尤为值得关注的是该发行版可提供对 M2 MacBook Pro(该团队已直接测试)和 M2 MacBook Air(尚未测试但应该可以正常工作)的初步支持。此外,这一版本还支持 M1 Ultra 的 Mac Studio。

最新进展

Asahi 团队在发表的《M2 来了!2022 年 7 月发布和进度报告》中分享道,在尝试过程中,仅仅通过 12 小时,Asahi 团队就让 Linux 发行版在 M2 芯片的电脑上启动了 USB、NVMe、电池统计/控制、CPU 频率缩放、Wi-Fi 等功能。

继而又使用了几天的时间,他们实现了键盘/触控板也能在系统上正常工作。

不过,需要注意的是,当前在 M2 上使用 Asahi Linux 仍处于试验阶段,并不成熟,一些硬件还不被支持,因此对于想要尝鲜的小伙伴,该团队也给出了几点注意事项:

在 M2 上的尝试要比 M1 更具有实验性,所以预计会有 Bug。为了获得在 M2 上安装的选项,你需要在 Asahi Linux 安装程序中启用专家模式。

键盘在 U-Boot/GRUB 中无法正常工作。因为该驱动还没有编写好,Asahi 团队也正在思考如何在 U-Boot 和 Linux 之间进行交接。如果作为开发者的你想要探查引导程序的外壳,则可以使用一个外接 USB 键盘。

当前只有 M2 的 MacBook Pro 13 经过了测试。预估在 M2 版本的 MacBook Air 也可以运行 Linux 发行版,但尽量不要做这种冒险的尝试。

用于 Linux 的固件/存根是基于苹果公司专门为这些机器发布的 "特别版 "macOS 12.4 版本。不过,Asahi 团队尚未承诺长期支持这个版本,所以你可能必须通过 macOS 和安装程序来升级自己的启动组件(可能是13.0),以获得未来的功能,以便让 GPU 和外部显示器输出等未来的功能正常工作。

虽然在 M2 芯片设备上跑 Linux 还有不少缺陷,但 Asahi 团队也迈出了极为重要的一步,同时其表示接下来也将在 GPU 层面取得新的进展,即一个 "原型驱动程序 "已经启动并运行,"足以运行真正的图形应用程序和基准",尽管它目前还不包括在这个版本中。

除此之外,Asahi 团队还实现了在 Mac Studio 上运行 Asahi Linux。这款电脑于今年 3 月在苹果春季新品发布会上发布,搭载了 M1 Max 芯片和 M1 Ultra 芯片。能在该电脑上成功运行 Linux,Asahi 团队表示,“并不难。但确实需要对引导程序和设备树进行一些修改,以便处理一个 SoC 与多个芯片的想法”。

基于 Mac Studio,除了 M1 Max 型号上使用前置 USB 端口和所有型号上的 A 型端口有些限制外,开发者可以像使用大部分硬件一样,运行 Linux。

Asahi 团队:苹果工程师往往不会在芯片上做太大改变

相比之前向 M1 Mac 移植 Linux 所耗费的时间,这一次 Linux 运行在 M2 芯片设备上只用了一个月左右的时间。

对此,Asahi 团队解释道,移植他们现有的软件与苹果的 M2 芯片配合使用所花费的时间要比支持 M1 处理器所花费的时间少得多,因为它们不必从头开始。「苹果的芯片设计师经常重复使用一些东西,除非有特殊的理由,否则他们不会对硬件进行太大的改变。」

因此,通过逆向工程和内核破解调试,Asahi 团队确认 NVMe、USB 和 SMC 等功能可在 M2 芯片设备上无缝启用。

Linux “侵入”苹果硬件,将会带来哪些影响?

事实上,Asahi 团队背后,其主导的知名开发者 Hector Martin 早在 2020 年年底发起想要在苹果硬件上运行 Linux 的项目。

彼时的环境下,恰逢当时 Linux 之父的 Linus Torvalds 曾发表过「M1 芯片的 GPU 及其周围相关设备没有任何 Linux 支持」的评论,故而很多网友认为实现让 M1 Mac 运行 Linux “不太可能”,想法实属有些天方夜谭,也实在没有必要。

不过,Hector Martin 的坚持,让封闭的苹果硬件运行 Linux 这条路再难也要走下去。

经一年多的摸索与实践,功夫不负有心人。今年 3 月,Hector Martin 宣布 Asahi Linux 发行版(https://github.com/AsahiLinux)已成功在 M1 MacBook Air 笔记本电脑上运行。对此,Asahi Linux 表示:“Asahi Linux 集成了 M1 Mac 上的原生多引导支持,安装 Linux 也根本不会影响 macOS 的安全级别。你可以继续使用 FileVault、运行 iOS 应用程序甚至以 4K 画质观看 Netflix!”

经过网友的测试发现,Asahi Linux Alpha 版编译速度比 macOS 还要快上 40%。不久前,Asahi Linux 还在 Apple M1 上成功运行首个三角形渲染。

一路走来,Hector Martin 以及开源贡献者的付出,实现了大家都认为的不可能。对于 Asahi 团队而言,他们的目标一直也很坚定,就是在其工作准备就绪时向上游贡献所有的工作,目前较新的 Linux 内核版本已经实现了一些苹果芯片 Mac 的支持。最终,旨在让从 Ubuntu 到 ChromeOS Flex 都可以在苹果芯片 Mac 上运行,而不需要做大量的额外工作。这样,即使在多年以后,苹果所发布的新 macOS 版本不支持旧苹果 Mac 设备时,所有的用户也将会有备选方案。而在 Asahi 团队的努力下,OpenBSD 的一个版本也已经在苹果芯片上运行了。

对于 Hector Martin 以及 Asahi Linux 团队所做的贡献,业界也给予了高度的评价:

这是一个伟大的项目。希望明年的某个时候能看到一些有趣的 GPU 支持!

很高兴看到这个项目还活着。大约一年半以前,当这个项目首次亮相时,我做了一个小小的贡献(https://github.com/AsahiLinux/AsahiLinux.github.io/pull/4)。祝您未来努力好运。

也有不少网友关于苹果对 Linux 的支持与围城花园方面展开了激烈的讨论:

@blinkingled:

苹果能否以某种方式激励帮助 Asahi Linux 的工作?

要让 Linux 仅仅在苹果 M 系列的 SoC 上启动和使用,确实是一项艰巨的任务。为 Asahi Linux 团队的所有英勇努力点赞。个人感觉这是一个伟大的逆向工程项目,他们应该继续奋斗与努力,但 M1/2 上的 Linux 不会像标准 x64 机器上的 Linux 那样成为日常驱动。

@quesera:

苹果肯定是希望 macOS 能够成为用户首选,毕竟他们的销售依赖于 macOS 的硬件和服务。我认为,苹果并没有将他们的硬件工程过于复杂化,目的是防止人们在他们的硬件上运行 Linux。macOS 推动了硬件的销售,从而赚钱。他们不会牺牲自己改变硬件或软件,来支持小型非商业项目的能力!

无论如何,Asahi Linux 先后敲开了 M1、M2 硬件的大门,虽然是第三方所为,但苹果自身离 Linux 生态还会远吗?

参考来源:

https://asahilinux.org/2022/07/july-2022-release/

https://arstechnica.com/gadgets/2022/07/linux-distro-for-apple-silicon-macs-is-already-up-and-running-on-the-brand-new-m2/?comments=1

https://news.ycombinator.com/item?id=32136483

","force_purephv":"0","gnid":"9ccf3db5c48e16ded","img_data":[{"flag":2,"img":[{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752.gif","width":"640"},{"desc":"","height":"540","title":"","url":"https://p0.ssl.img.360kuai.com/t0163a73a6639036c73.jpg","width":"1024"},{"desc":"","height":"648","title":"","url":"https://p0.ssl.img.360kuai.com/t012341281883b1ba9a.jpg","width":"1080"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1658233903000,"pure":"","rawurl":"http://zm.news.so.com/e74c51d2be08b0b8af7cc4cea0dc7b29","redirect":0,"rptid":"65e4c121b85b19e7","s":"t","src":"CSDN","tag":[{"clk":"kdigital_1:mac","k":"mac","u":""},{"clk":"kdigital_1:苹果","k":"苹果","u":""},{"clk":"kdigital_1:linux","k":"linux","u":""},{"clk":"kdigital_1:gpu","k":"gpu","u":""},{"clk":"kdigital_1:芯片","k":"芯片","u":""}],"title":"M2 芯片上也能跑 Linux 系统了!

闾枝肺2813如何测试一个Linux服务器的端口是否对外暴露 -
罗祁变18711602423 ______ 用telnet和nc都可以.在外网找个windows机器,运行CMD命令提示符.当然linux机器也是可以的.telnet 8.8.8.8 80 如果想要指定端口范围或者指定传输协议,可以用外网一台linux机器,装上nc命令工具.运行 nc -v -z -w2 8.8.8.8 1-100 #扫描8.8.8.8 的端口 范围是 1-1000nc -u -z -w2 8.8.8.8 1-1000 #扫描8.8.8.8 的端口 范围是 1-1000

闾枝肺2813linux系统 ,不能使用telnet,如何测试端口?
罗祁变18711602423 ______ nmap ip -p port 测试端口 nmap ip 显示全部打开的端口 根据显示close/open确定端口是否打开. nc -v host port 端口未打开返回状态为非0

闾枝肺2813怎么在Linux服务器上测试TCP/UDP端口的连通性 -
罗祁变18711602423 ______ 测试端口的联通性可以借助telnet命令,操作如下: telnet ip port以上请使用测试的ip和端口替换ip和port,如通了会切换界面.

闾枝肺2813Linux下怎样查看某一端口是否开放? -
罗祁变18711602423 ______ 1.netstat -anp |grep 端口号 如下,我以3306为例,netstat -anp |grep 3306(此处备注下,我是以普通用户操作,故加上了sudo,如果是以root用户操作,不用加sudo即可查看) 图1中主要看监控状态为LISTEN表示已经被占用,最后一列显示被...

闾枝肺2813Linux查看端口的使用情况及启动方法?Linux各常用端口列表. -
罗祁变18711602423 ______ Redhat Linux中可以用netstat -an来查看系统使用端口的情况,以root用户登录,可以加-p参数,查看对应程序的PID.Linux中常见程序的默认端口:ssh为TCP22ftp(vsftp等)主动模式下数据端口为TCP20,命令端口为TCP21httpd(apache等)默认端口为TCP80dns(bind)默认端口为TCP53,UDP53mail(sendmail等)默认ICMP为TCP25,POP3为110dhcp默认端口为UDP67

闾枝肺2813linux下查端口是否被占用,查看所有端口 -
罗祁变18711602423 ______ 查看端口是否被占用:netstat -anp | grep port lsof -i:port查看端口被那个进程占用:netstat -anp | grep port或使用 lsof -i:port显示结果的有进程id,再ps -ef | grep pid即可查看进程(如java进程)使用的端口:ps -aux | grep java找到pid再lsof -i | grep pid或使用netstat -anp | grep pid即可

闾枝肺2813linux下怎么测试一个IP地址的某个端口通不通
罗祁变18711602423 ______ ping只能检查IP,无法检查端口啊 ------解决的方法--------------------------------------------------------如果是TCP的 telnet 102.106.228.173 8601即可 ------解决的方法--------------------------------------------------------探讨引用: 如果是TCP的 telnet 102.106.228.173 ...

闾枝肺2813怎么在Linux服务器上测试TCP/UDP端口的连通性 -
罗祁变18711602423 ______ 翻译自:How to Test Port[TCP/UDP] Connectivity from a Linux Server (文档 ID 2212626.1) 适用于:Linux OS - Version Oracle Linux 5.0 to Oracle Linux 6.8 [Release OL5 to OL6U8] Information in this document applies to any platform.目标:在...

闾枝肺2813linux系统 怎么判断端口是否通 -
罗祁变18711602423 ______ telnet 测试一下,比如12345端口:telnet 192.168.1.100 12345

闾枝肺2813linux开启端口及测试开启端口问题. -
罗祁变18711602423 ______ iptables只是允许访问主机的哪些端口.你的22端口是ssh服务在监听,23端口是telnet端口在监听,80端口是httpd服务在监听,这些都是常用的服务端口,主机都有对应的服务一直在监听.你的iptables虽然允许访问主机的8000,8080,8081等端口,但是没用应用程序服务在监听这些端口(也就是说这些端口在系统中没有开启),因此你telnet肯定是返回连接失败.你可以查看下主机的哪些端口是LISTEN状态,这些端口是处于监听状态,你可以telnet这些端口看下.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024