Cách tốt nhất để nâng cấp vim / gvim lên 7.3 trong Ubuntu 10.04?


13

Tôi phải sử dụng Ubuntu 10.04 tại nơi làm việc và không thể nâng cấp nó. Tôi đang sử dụng Vim / gVim 7.2.

Tôi muốn nâng cấp nó lên 7.3 (có hỗ trợ mở rộng Python và Ruby). Đó là cách tốt nhất? Thêm một mục trong sources.listsvà cài đặt gói 7.3 vim / gvim từ nó, hoặc xây dựng từ nguồn? Tôi có những bất lợi gì từ mỗi phương pháp?

Câu trả lời:


14

Nơi đầu tiên để kiểm tra là nếu có backport , nhưng không , điều đó không gây ngạc nhiên vì maverick cũng có vim 7.2 .

Điều tiếp theo cần thử là nếu ai đó đưa lên một kho lưu trữ với các gói vim 7.3 ở đâu đó, tốt nhất là PPA . Có nhiều PPA với vim , bao gồm một số với 7.3 (không phải là danh sách đầy đủ).

Nếu bạn không tìm thấy gói nhị phân ở bất cứ đâu hoặc không giống như gói bạn tìm thấy, bước dễ nhất tiếp theo là lấy gói nguồn từ natty , có vim 7.3. Tải về các gói nguồn ( .dsc, .debian.tar.gz.orig.tar.gz), sau đó chạy

apt-get install build-essential fakeroot
apt-get build-dep vim
dpkg-source -x vim_7.3.035+hg~8fdc12103333-1ubuntu2.dsc
cd vim-7.3.035+hg~8fdc12103333
# Edit debian/changelog to add an entry with your name and “recompiled for lucid”
dpkg-buildpackage -rfakeroot -us -uc -b -nc

Nếu mọi việc suôn sẻ, bạn sẽ có các gói nhị phân cho các bản phân phối của mình. Nếu bạn gặp phải các phụ thuộc bị thiếu hoặc lỗi biên dịch, điều này phải được giải quyết trên cơ sở từng trường hợp.

Điều tiếp theo cần thử là biên dịch nguồn 7.3 ngược dòng với bao bì từ phiên bản Ubuntu của bạn. Điều này mang lại cho bạn một gói đẹp và sạch sẽ, nhưng nó liên quan nhiều hơn một chút, vì vậy nếu bạn không cảm thấy tự tin khi thực hiện việc này mà không có hướng dẫn, tôi khuyên bạn chỉ nên biên dịch nguồn ngược dòng.

Nếu bạn kết thúc việc biên dịch nguồn ngược dòng, theo mặc định, bạn sẽ kết thúc với các tệp bên dưới /usr/localvà sẽ không dễ dàng gỡ cài đặt chúng, hoặc thậm chí để biết bạn có gì. Bất cứ khi nào bạn cài đặt một cái gì đó mà không sử dụng trình quản lý gói, tôi khuyên bạn nên cài đặt vào một cấu trúc thư mục riêng và tạo các liên kết tượng trưng trong /usr/local( ~/usrhoặc bất cứ thứ gì). Stow là tốt cho điều đó:

  • Cài đặt dưới /usr/local/stow( ~/usr/stowhoặc bất cứ nơi nào). Với nhiều chương trình, bạn có thể sử dụng một cái gì đó như ./configure --prefix=/usr/local/stow/vim-7.3. Điều này sẽ đặt nhị phân chính tại /usr/local/stow/vim-7.3/bin, và như vậy.
  • Chạy stow vim-7.3từ /usr/local/stowthư mục. Điều này tạo ra các liên kết tượng trưng trong các thư mục bình thường của người Viking, vd /usr/local/bin/vim -> ../../stow/vim-7.3/bin/vim.
  • Nếu bạn muốn gỡ cài đặt chương trình này, chỉ cần chạy stow -D vim-7.3để xóa các liên kết tượng trưng và xóa /usr/local/stow/vim-7.3.

Ngoài ra còn có xstow là một chương trình tương tự, nhưng mạnh mẽ hơn (một trong những lợi ích của nó là nó có thể giải quyết các xung đột).


Tôi chưa bao giờ làm điều gì đó như tạo gói nhị phân cụ thể cho phân phối của mình. Nếu tôi biên dịch nguồn ngược dòng thành / usr / local, tôi có thể loại trừ nó sau khi có sự cố không? Tôi chưa bao giờ làm điều gì đó như thế này trước đây, vì tôi sợ phá vỡ các gói khác (tôi đã thực hiện mớ hỗn độn này trước đây với Ubuntu 8.04 ở đây, tất cả các cài đặt python của tôi chỉ là f *** ed up)
Ai đó vẫn sử dụng bạn MS-DOS

2
@Som somebody: Ưu điểm của việc cài đặt gói (do bạn hoặc người khác tạo ra) là bạn có thể gỡ cài đặt dễ dàng. Nếu bạn biên dịch gói, tôi khuyên bạn nên sử dụng (x) stow.
Gilles 'SO- ngừng trở nên xấu xa'

3
+1. Làm thế nào tôi chưa bao giờ nhìn thấy stow trước đây? Nó trông rất hữu ích.
Steven D

Cảm ơn, điều này hoạt động như một cơ duyên trong Ubuntu 10.10 với các nguồn 2: 7.3.035 + hg ~ 8fdc12103333-1ubfox7 từ liên kết tự nhiên của bạn! Tôi chỉ phải apt-get install python3-dev. Btw. Đối với tất cả những ai đang tự hỏi, bạn có thể cài đặt các bản sửa lỗi bằng cách sử dụng sudo dpkg -i *.debvà có thể xóa các gói vim7.2 trước đó.
Juve

Vấn đề duy nhất tôi thấy là bạn cần đặt vim runtimepath không phải là /usr/local/stow/vim-7.3/share/vimthư mục mà là một cái gì đó giống như /usr/local/share/vimthư mục. Tôi nghĩ bạn có thể làm điều đó với --with-global-runtimepath=/usr/local/share/vimnhưng tôi có thể sai.
docwhat

3

Xây dựng từ nguồn. Nó sẽ nhanh hơn. Cố gắng tìm và kích hoạt kho lưu trữ để cài đặt một lần như thế sẽ chỉ khiến bạn đau đầu hơn nữa.


4
Không, có được một kho lưu trữ (khi có một) nhanh hơn. Xây dựng gói không nhất thiết phải nhanh hơn, nhưng đối với các chương trình có nhiều tùy chọn biên dịch (vim là một) thì nên sử dụng các bước xây dựng của bản phân phối, vì nó có khả năng cung cấp cho bạn một cấu hình mà bạn thấy thoải mái. Xây dựng một gói cũng là một chiến thắng lớn nếu bạn muốn cài đặt trên nhiều máy.
Gilles 'SO- ngừng trở nên xấu xa'
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.