Đâu là tuyên bố phản đối ifconfig (trên linux)?


41

Rất nhiều người nói rằng ifconfiglệnh này không được ủng hộ đối với lệnh này ip(ít nhất là trên linux).

Điều này thường được sử dụng như một đối số để chuyển từ ifconfigsang ip(xem một số nhận xét và câu trả lời của Tôi có nên bỏ sử dụng Ifconfig không? ).

Chúng ta có thể tìm thấy một tuyên bố về điều đó ở đâu (nghĩa là nó được tuyên bố là ifconfigsẽ không được hỗ trợ trong tương lai)?


15
Trang người đàn ông, cho một.
Michael Hampton

5
Hãy giống như tôi ... sử dụng ipconfig miễn là bạn có thể ... cho đến khi bạn không thể . Điều tương tự cho IPv6!
ewwhite

3
@ewwhite RHEL 7 thậm chí không cài đặt các công cụ mạng theo mặc định. Chúc may mắn với điều đó.
Michael Hampton

4
@MichaelHampton Không có trên mantrang của tôi
Izkata

3
@ewwhite: Bạn dùng Windows?
slebetman

Câu trả lời:


30

Các tuyên bố chính thức về kế hoạch net-công cụ lạc hậu đã được thực hiện trên mailing list debian-devel vào đầu năm 2009 bởi một trong những net-công cụ bảo trì. Đúng như tuyên bố của họ, các công cụ mạng hầu như không được duy trì kể từ thời điểm đó.

Luk Claes và tôi, với tư cách là những người duy trì các công cụ mạng hiện tại, chúng tôi đã nghĩ về tương lai của nó. Các công cụ Net đã là một phần cốt lõi của Debian và bất kỳ bản phân phối dựa trên linux nào khác trong nhiều năm, nhưng nó cho thấy tuổi của nó.

Nó không hỗ trợ nhiều tính năng hiện đại của kernel linux, giao diện không được tối ưu và khó sử dụng trong tự động hóa, và cũng không có nhiều tình yêu trong những năm qua.

Mặt khác, bộ iproute, được giới thiệu xung quanh dòng kernel 2.2, có cả giao diện ổn định và tốt hơn nhiều, mạnh hơn và gần mười năm tuổi, vì vậy không ai có thể nói nó chưa được kiểm tra.

Do đó, kế hoạch của chúng tôi là thay thế hoàn toàn các công cụ mạng bằng iproute, có thể dẫn đường cho các bản phân phối khác đi theo. Tất nhiên, hầu hết mọi người và công cụ đều sử dụng và ghi nhớ giao diện cũ đáng kính, vì vậy bước đầu tiên sẽ là viết các hàm bao, cố gắng tương thích với các công cụ mạng.

Đồng thời, chúng tôi tin rằng hầu hết các gói sử dụng các công cụ mạng nên được vá để sử dụng iproute thay vào đó, trong khi các gói khác có thể tiếp tục sử dụng trình bao bọc trong một thời gian. Gói ifupdown rõ ràng là ứng cử viên đầu tiên, nhưng có vẻ như một phiên bản sử dụng iproute đã có sẵn trong thử nghiệm từ năm 2007.

Ý tưởng viết các trình bao bọc cuối cùng đã bị từ bỏ vì không thể thực hiện được và gần như tất cả các bản phân phối Linux đã chuyển sang iproute2 kể từ đó.


21

Các trang người đàn ông của ifconfignói:

IFCONFIG(8)           Linux System Administrator's Manual          IFCONFIG(8)

NAME
       ifconfig - configure a network interface

SYNOPSIS
       ifconfig [-v] [-a] [-s] [interface]
       ifconfig [-v] interface [aftype] options | address ...

NOTE
       This  program  is obsolete!  For replacement check ip addr and ip link.
       For statistics use ip -s link.

Các Arch Linux trang tin tức nói:

Khấu hao công cụ mạng

2011-06-08 - Tom Gundersen

Tháng Tư này đánh dấu kỷ niệm mười năm phát hành công cụ mạng cuối cùng. Chúng tôi quyết định xem đây là một cơ hội để loại bỏ các công cụ mạng và cung cấp các giải pháp thay thế và duy trì tốt hơn cho chức năng của các công cụ mạng. Điều này có một vài hậu quả, nhưng hầu hết mọi người không nên chú ý.

các công cụ mạng sẽ tiếp tục nằm trong kho, vì vậy các tập lệnh dựa vào nó vẫn hoạt động.

Linux Foundation nói nhiều điều tương tự:

công cụ mạng của
Linux Foundatio ... - 19 tháng 11 năm 2009 - 10:23 sáng

networking

Tổng quan

Một tập hợp các chương trình tạo thành bộ cơ sở của phân phối mạng NET-3 cho hệ điều hành Linux. Gói này bao gồm arp (8), tên máy chủ (1), ifconfig (8), ipmaddr, iptunnel, mii-tool (8), nameif (8), netstat (8), plipconfig (8), rarp (8), tuyến (8) và slattach (8).

Maintainers: Bernd Eckenfels, Phil Blundell
Current Version: net-tools 1.60 (see upstream git for updates)

Xin lưu ý rằng hầu hết các chương trình công cụ mạng đã lỗi thời:

program   obsoleted by
arp       ip neigh
ifconfig  ip addr
ipmaddr   ip maddr
iptunnel  ip tunnel
route     ip route
nameif    ifrename
mii-tool  ethtool

Bạn có thể muốn xem lại trang iproute2.

Tôi không chắc tại sao Ubuntu không mang theo ghi chú về sự phản đối.


Bạn không nói trong distro. Ubuntu vẫn có một trang người thật cho iconfig.
Andrew Schulman

@AndrewSchulman, đã cập nhật câu trả lời của tôi với một liên kết đến trang người đàn ông.
Câu hỏi tràn

1
Nó đã bị phản đối ngược dòng, mặc dù. Không biết khi nào điều đó cuối cùng sẽ làm việc theo cách hành chính. Một số cập nhật hệ thống con dường như đã thay đổi vị trí thứ hai trong trình quản lý cửa sổ mặc định (Unity) trong một vài năm - điều kỳ lạ là chính xác là không có người mà cá nhân tôi biết sử dụng, bao gồm cả bản thân tôi. Nhưng cuối cùng các công cụ mạng sẽ biến mất; không có gì mới được viết chống lại các thư viện của nó.
zxq9

@AndrewSchulman, tôi đã lấy lại tuyên bố của bạn trên Ubuntu vì đó không phải là điều tôi muốn nói.
Câu hỏi tràn

10

Đây là một vấn đề cụ thể distro. Mặc dù vậy, các công cụ mạng đã bị phản đối bởi mọi phân phối chính (hoặc phân phối ngược dòng), do đó, trên thực tế, toàn bộ cộng đồng đang chuyển từ ifconfig sang ip - nhưng thay đổi rất chậm, vì một số phân phối có thời hạn sử dụng rất dài (Ví dụ: RHEL).

Bạn ít có khả năng tìm thấy thông báo phản đối hơn một mục trong ghi chú phát hành của một bản phát hành chính cho một bản phân phối có nội dung như "Công cụ mạng FooLinux v2.0 không được dùng theo lệnh 'ip'". (Nếu bản phân phối có các bản phát hành lớn, nghĩa là Gentoo và Arch là những ngoại lệ thú vị xử lý loại này thông qua các thông báo tin tức xuất hiện dưới dạng thông báo của quản trị viên trong hệ thống và đôi khi trên trang web của họ: https://www.archlinux.org/ tin tức / sự phản đối của các công cụ mạng / .)

Bạn cũng có thể tìm thấy rất nhiều câu chuyện phiếm về sự sụp đổ (chậm) của các công cụ mạng trong trình theo dõi lỗi và lộ trình phát triển lỗi:

Hoàn toàn có khả năng một bản phân phối ở đâu đó có thể quyết định gắn bó với các công cụ mạng và chấp nhận bảo trì nó như dự án thú cưng của họ, nhưng điều này là không thể vì kết quả cuối cùng sẽ là nỗ lực đáng kể để duy trì một bộ công cụ không ai viết phần mềm khác chống lại. Trừ khi bản phân phối đó thuộc sở hữu của Apple, tất nhiên. ;-)

Cuối cùng, bài học thực sự là đọc ghi chú phát hành của bạn . Linux là một mục tiêu di động, đặc biệt là nếu bạn đang quản lý nhiều hơn một bản phân phối cùng một lúc, vì vậy đừng coi thường các tài liệu hoặc giả sử một cái gì đó trong bản phát hành X giống như trong X-1.


1
@BrianKnoblauch Đừng nghĩ về điều này quá khó. Có một sự pha trộn phức tạp của chính trị, kinh doanh và (thực tế) lý do kỹ thuật một số thứ thay đổi quá nhanh và những thứ khác quá chậm. Chỉ cần chấp nhận rằng mọi thứ sẽ định kỳ thổi vào chúng tôi và chú ý phát hành ghi chú thường xuyên. :-)
zxq9

1
@R Bảo trì luôn bao gồm ít nhất là đóng gói chống lại bất kỳ tiện ích cốt lõi nào mà bản phân phối của bạn bao gồm (cuối cùng có nghĩa là chuyển hoặc vá các gói ngược dòng khác, không liên quan mà bạn cũng bao gồm để hoạt động trong các ràng buộc của hệ thống bao gồm các công cụ lỗi thời) - không đề cập đến vá bảo mật (xem xét tình trạng tiến thoái lưỡng nan của Apple). Các gói cũ trở thành tarbabies theo thời gian, đặc biệt là những gói bạn ít mong đợi nhất. Sự khác biệt của Bastiat giữa những gì nhìn thấy và những gì không nhìn thấy là hướng dẫn ngoại vi ở đây, cũng như khẳng định của Heinlein rằng "Không có gì gọi là bữa trưa miễn phí".
zxq9

2
Điều này không chính xác: mọi phân phối sử dụng kernel hiện đang được bảo trì có thể có các giao diện mạng được thiết lập không hoạt động với ifconfig .
mikemaccana

1
@ zxq9 Tôi hiểu bạn đã đề cập đến nó là một vấn đề cụ thể. Tôi đã chỉ ra rằng nó không phải là một vấn đề cụ thể; tất cả các bản phân phối Linux đều sử dụng cùng một kernel, không một bản phân phối nào sẽ sử dụng một kernel có thể diễn tả tất cả các khái niệm mạng của nó theo cách mà ifconfig sẽ hiển thị chính xác các giao diện mạng được định cấu hình.
mikemaccana

1
@ zxq9 Tất cả các bản phân phối Linux đều sử dụng nhân Linux, đây là nơi các mạng ioctlđược triển khai. Bạn đã hiểu lầm và nghĩ rằng tôi có nghĩa là phiên bản kernel. Tất cả các bản phân phối Linux được duy trì (ví dụ: sử dụng kernel dưới 10 năm) có vấn đề mà ifconfig không thể đại diện, ví dụ: ip ảo trên Vlan trên một NIC ngoại quan (phổ biến hơn bạn nghĩ). Vì nó ảnh hưởng đến tất cả các bản phân phối Linux được duy trì, một lần nữa, nó không phải là vấn đề cụ thể.
mikemaccana

2

ifconfigkhông phải là một phần của Linux. Đây là một công cụ có sẵn trong hầu hết các bản phân phối dựa trên Linux. Bạn sẽ phải tham khảo tài liệu cụ thể về phân phối để tìm hiểu lý do tại sao nó bị phản đối.


4
Đó không phải là một phần của Linux hiện nay . Nó bắt đầu cuộc sống trong Linux khi Linux sử dụng BSD IP Stack (ifconfig là một phần của BSD IP Stack). Linux đã viết ngăn xếp IP của riêng họ vào khoảng năm 2001 và đã viết ifconfig của riêng họ như một phần của các công cụ mạng để tương thích.
Chris S
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.