Tại sao đơn điệu hoàn toàn lỗi thời trên tất cả các phiên bản Debian?


7

Debian 7 / Wheezy ổn định hiện tại đang chạy trên máy chủ của tôi.
Với apt-getphiên bản mono mới nhất tôi có thể nhận được là 2.10, tức là ba tuổi.
Tôi đã tra cứu gói đơn hoàn chỉnh và ngay cả trên Debian 9 / Sid không ổn định, tất cả những gì bạn nhận được là phiên bản 3.2.8, khi phiên bản ổn định mới nhất là 3.6 và 3.8.1 có sẵn.

Tôi có hai câu hỏi:

  1. Có cách nào để có được một phiên bản mono ít nhất là gần đây apt-getkhông? Làm theo hướng dẫn để cài đặt bản mono mới nhất khá khó chịu với tôi và tôi sợ lần sau tôi muốn cập nhật.

  2. Tại sao chỉ có những gói lỗi thời khủng khiếp đó (ngay cả trên các phiên bản Debian không ổn định trong tương lai), khi có các phiên bản mới, ổn định đi trước nhiều năm?


1
Nộp một lỗi danh sách mong muốn là một lựa chọn. Nếu bạn nghĩ người bảo trì là MIA, bạn cũng có thể phàn nàn về điều đó, mặc dù Debian thường chậm làm bất cứ điều gì về những điều đó. Điều chỉnh bao bì Debian hiện có để sử dụng với các phiên bản phần mềm mới hơn có lẽ cũng là một tùy chọn, mặc dù có thể là một số công việc. Một vấn đề quan trọng là liệu các bản vá Debian hiện có (nếu có) có áp dụng hay không. Nếu họ không, bạn sẽ cần phải nổi loạn họ.
Faheem Mitha

2
3.2.8 chỉ mới một năm tuổi (phát hành 2014/02/19 theo download.mono-project.com/source/mono ), sau đó 3,4 (2014-03-31) và bản phát hành mới vừa được công bố (2014- 08-12), vì vậy tôi thực sự không nghĩ rằng điều này quá vô lý. Hãy nhớ rằng, các trình đóng gói Debian thường là các tình nguyện viên không được trả lương. Có thể hỗ trợ đóng gói, và tôi chắc chắn họ sẽ rất vui vì sự giúp đỡ của bạn.
Faheem Mitha

Câu trả lời:


4

Kể từ tháng 2 năm 2015, dự án mono hỗ trợ các kho Apt riêng của họ cung cấp các gói phụ thuộc mới nhất và phụ thuộc. Thực hiện theo các bước sau:

  1. Thêm khóa ký GPG Project Mono
  2. Thêm kho gói
  3. Cập nhật bộ đệm của gói
  4. Cài đặt mono-develhoặcmono-complete

Chạy các lệnh sau với quyền root:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" |    sudo tee /etc/apt/sources.list.d/mono-xamarin.list
apt-get update
apt-get install mono-complete

Nhìn vào trang này để biết thêm chi tiết kỹ thuật: http://www.mono-project.com/docs/getting-started/install/linux/


vẫn bị mắc kẹt @ Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-8+deb7u1)trên tôi khò khè !! Dù sao để khắc phục điều này?!
Enissay

3

Có cách nào để có được một phiên bản mono ít nhất gần đây với apt-get không? Làm theo hướng dẫn để cài đặt bản mono mới nhất khá khó chịu với tôi và tôi sợ lần sau tôi muốn cập nhật.

Có vô số lựa chọn:

  • Bạn có thể chuyển từ Debian ổn định sang kiểm tra Debian / không ổn định
  • Bạn có thể trộn các bản phân phối, thêm repo không ổn định vào nguồn.lst của bạn và sau đó có một hệ thống hỗn hợp (ổn định / thử nghiệm). Lưu ý rằng điều này không phải lúc nào cũng được khuyến nghị.
  • Cuối cùng nhưng không kém phần quan trọng, bạn có thể tự mình tải xuống các nguồn biên dịch

Tại sao chỉ có những gói lỗi thời khủng khiếp đó (ngay cả trên các phiên bản Debian không ổn định trong tương lai), khi có các phiên bản mới, ổn định đi trước nhiều năm?

Debian được biết đến là rock-solid, điều này có nghĩa là không có các gói hiện tại, chứ đừng nói đến việc làm hỏng các gói hoàn toàn mới. Khi một nhánh bị đóng băng, nó chỉ bị lỗi.


Bạn cũng có thể sử dụng bao bì debian hiện có với các phiên bản mới hơn của mono. Điều này có thể yêu cầu nổi loạn các bản vá lỗi cụ thể, có thể là một nỗi đau. Bỏ đi các bản vá cũng là một lựa chọn, tôi cho rằng, mặc dù tôi không đủ sức để làm điều này.
Faheem Mitha

1

Tại sao đơn điệu hoàn toàn lỗi thời trên tất cả các phiên bản Debian?

Đây là một ngụy biện. Các phiên bản đơn hoàn chỉnh có sẵn trong Debian là:

oldstable     2.6.7-5.1 
old-sec       2.6.7-5.1 
stable        2.10.8.1-8 
testing       3.2.8+dfsg-7 
unstable      3.2.8+dfsg-7 

Vì vậy, 2.6.7, 2.10.8 và 3.2.8 là tất cả các phiên bản của Mono, sẵn sàng để được cài đặt trong tất cả các phiên bản của Debian. Bạn đang căn cứ tuyên bố của mình trong việc sử dụng phiên bản ổn định làm điểm tham chiếu duy nhất, sẽ luôn hy sinh các tính năng cho sự ổn định; ổn định là đá rắn .


Tôi đã tra cứu gói đơn hoàn chỉnh và ngay cả trên Debian 9 / Sid không ổn định, tất cả những gì bạn nhận được là phiên bản 3.2.8, khi phiên bản ổn định mới nhất là 3.6 và 3.8.1 có sẵn.

Tại sao chỉ có những gói lỗi thời khủng khiếp đó (ngay cả trên các phiên bản Debian không ổn định trong tương lai), khi có các phiên bản mới, ổn định đi trước nhiều năm?

Các gói đã trong một quá trình chuyển đổi. Bất kỳ tải lên nào không hướng đến quá trình chuyển đổi này đều được khuyến khích mạnh mẽ:

Gói này sẽ sớm là một phần của quá trình chuyển đổi tự động. Bạn có thể muốn đảm bảo rằng gói của bạn đã sẵn sàng cho nó. Bạn có thể có thể tìm thấy thông tin bổ sung trong kho lưu trữ phát hành debian hoặc trong lỗi release.debian.org tương ứng.

Ngoài ra, nhóm bảo trì chỉ là hai người mạnh mẽ và cả hai đều có nhiều gói hơn để duy trì ngoài Mono. Mono là một gói lớn, với hàng tấn mã rất khó để duy trì.


Có cách nào để có được một phiên bản mono ít nhất gần đây với apt-get không?

Bạn có thể thêm các kho lưu trữ thử nghiệm và ghim kho lưu trữ để ưu tiên ổn định.


1
"Bạn có thể thêm các kho lưu trữ thử nghiệm và ghim kho lưu trữ để ưu tiên ổn định." Không chắc chắn điều này có nghĩa là gì, nhưng việc cài đặt trực tiếp các gói từ kiểm tra ổn định thường không phải là một ý tưởng tốt.
Faheem Mitha

1

Tôi đã xem xét các nguồn của gói Debian và đang xây dựng phiên bản không ổn định khi tôi viết.

Có hai mẩu tin tốt ở đây.

  1. Phiên bản không ổn định của mono có các phụ thuộc có vẻ rất dễ thỏa mãn với sự khò khè, mặc dù tôi đã không thử xây dựng nó trong một chroot. Tôi chỉ phải cài đặt một gói để xây dựng nó. Điều này là hiếm trong các gói lớn trên Linux. Thông thường người ta phải điều hướng một cách thông qua một mê cung phụ thuộc. Nếu tôi không được lòng, tôi có thể coi nó như một tổ chuột.
  2. Ngoài ra, có chính xác một bản vá Debian, mặc dù nó là một 'un lớn. Bạn có thể bỏ nó hoàn toàn, hoặc cố gắng làm lại nó. Nó dường như là để xây dựng trên mipsel. Đây là thông tin duy nhất ở đó.

    * [10016c2] Build libmono-2.0-1 and libmono-2.0-dev for mipsel
    Author: Iain Lane <laney@debian.org>
    

    Thật không may, các trình đóng gói không thể bị làm phiền khi tuân theo Nguyên tắc gắn thẻ bản vá Debian.

Vì vậy, có thể việc tái sử dụng bao bì Debian để xây dựng gói Debian của bản phát hành Mono gần đây nhất sẽ không khó. Tất nhiên, những lời cuối cùng nổi tiếng ...

Dù sao, hãy xem xét đóng gói nó cho mình. Bạn thậm chí có thể trở thành người duy trì Debian mới!

ĐỊA CHỈ: Nếu bạn muốn thử xây dựng gói Debian từ nguồn gần đây nhất, đây là cách bạn thực hiện.

  1. Lấy nguồn ngược dòng gần đây nhất. Giải nén nó.
  2. Lấy nguồn Debian gần đây nhất

    apt-get source mono-complete
    
  3. Sao chép thư mục Debian từ nguồn Debian sang nguồn ngược dòng.
  4. Cd để debian/patchesvà nhận xét các bản vá được đề cập trong debian/patches/series.
  5. Thêm một mục mới trong debian/changelogphiên bản mới. Kiểm tra đề cập đến số gói ở những nơi khác. Trong một hệ thống đóng gói được thiết kế tốt, sẽ có một vài đề cập về mã hóa cứng.
  6. Chạy debuild -uc -us
  7. Điều này có thể sẽ thất bại, phàn nàn về việc phụ thuộc bị thiếu. Cài đặt những phụ thuộc còn thiếu. Thử lại. Nếu bạn thành công, bạn có thể thử lấy bản vá đó để áp dụng.
  8. Nếu 6 hoạt động, hãy thử cài đặt. Bạn sẽ cần phải chạy dpkg i list_of_packages_you_want, có thể lặp đi lặp lại. Sau đó, bạn sẽ cần phải cố gắng cài đặt các phụ thuộc thời gian chạy bị thiếu. apt-get install hoạt động tốt ở đây, miễn là các gói có sẵn trên hệ thống của bạn ở các phiên bản được yêu cầu.

ĐỊA CHỈ 2: Vì vậy, 3.2.8 được xây dựng thành công trên sự khò khè. Wow, đó là rất nhiều gói. Mặc dù cá nhân tôi không tán thành nỗ lực không may của ông Icaza trong việc chuyển các sản phẩm của một tập đoàn độc quyền độc ác sang các hệ thống miễn phí, tôi nên chúc mừng vì chúng là do một kỹ thuật phần mềm ấn tượng.


1
Tôi đã quản lý để xây dựng và chạy với ảnh chụp nhanh git mới nhất (3.8.1) nhờ một hướng dẫn. Nếu tôi có kỹ năng tốt hơn về ma thuật Linux, tôi sẵn sàng giúp đỡ người khác cung cấp các phiên bản đơn âm gần đây ... Liên kết để hướng dẫn (nó hoạt động trên debian): lovemesomecode.com/20130719-compiling-mono-3-in-ub Ubuntu
người dùng81756

1
@ user81756 Bạn có thể tìm hiểu thêm về Debian. Nó có lẽ sẽ không đau quá nhiều.
Faheem Mitha

1
Làm thế nào tôi bắt đầu nhận được vào đó?
dùng81756

1
@ user81756 theo các hướng dẫn ở trên sẽ là một sự khởi đầu.
Faheem Mitha

1
 Is there a way to get an at least somewhat recent version of mono with apt-get?

Trả lời: Có, bạn có thể sử dụng repo của bên thứ ba mà tôi sử dụng có gói Mono mới nhất hoặc ít nhất là sau này.

Nếu bạn cần Mono trên Debian của bạn và muốn cài đặt và cập nhật nó với apt :

Tôi gặp vấn đề tương tự, cần Monodevelop và Mono trên các hệ thống Red Hat và Fedora của tôi và tôi thấy anh chàng này đã repos cho những thứ này, I think they're always the newest packages, but I know they are newer than come with the distributions normally.tôi đã sử dụng nó trong nhiều tháng trên Fedora của tôi và không bao giờ gặp vấn đề gì (EDIT: I ' Tôi cũng đang thử nghiệm nó trên Debian Wheezy, Mono và Monodevelop đã được cài đặt).

Anh ta có kho lưu trữ và hỗ trợ những thứ này: CentOS, Debian, Fedora, Ubuntu và openSUSE.

Đây là liên kết.

Trên trang web chọn phân phối của bạn và làm theo các hướng dẫn để thêm repos và cài đặt mono.

Đối với Debian 7.0, hãy chạy như sau: root:

apt-get install debian-keyring
echo 'deb http://download.opensuse.org/repositories/home:/tpokorra:/mono/Debian_7.0/ /' >> /etc/apt/sources.list.d/monodevelop-opt.list 
wget http://download.opensuse.org/repositories/home:tpokorra:mono/Debian_7.0/Release.key
apt-key add - < Release.key  
apt-get update
apt-get install mono-opt

Nếu bạn muốn cài đặt Monodevelop, hãy làm:

apt-get install monodevelop-opt
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.