Tạo danh sách ứng dụng từ cài đặt cũ để chạy trên cài đặt mới


8

Tôi muốn chuyển từ ub Ubuntu-desktop 10.10 sang ub Ubuntu phiên bản 10.10 trên netbook của tôi. Hiện tại, thời điểm tôi ssh vào ubfox từ mạng ad-hoc của tôi, ubfox đóng băng. Nó luôn đòi hỏi phải tắt máy lạnh. Vì vậy, hy vọng rằng phiên bản netbook có thể không có vấn đề này. Tôi đã tùy chỉnh cài đặt nhiều ứng dụng trên phiên bản máy tính để bàn. Vì vậy, tôi muốn lưu danh sách ứng dụng vào tập lệnh và chạy tập lệnh trên bản cài đặt mới, để tất cả các ứng dụng sẽ được tải xuống và cài đặt. Tôi cần những gợi ý về cách tốt nhất để đạt được điều này.


Bất cứ ai nghĩ đến việc đề xuất dpkg --get-selections: hãy nhớ rằng có một bộ gói khác nhau được cài đặt bởi hệ thống. Bạn cần lọc dựa trên những ứng dụng nào đã được cài đặt sau hệ thống cơ sở.
Oli

1
Đóng băng rất có thể liên quan đến trình điều khiển kernel / xorg / X, rất khó có khả năng thay đổi trình quản lý windows sẽ khắc phục nó.
João Pinto

Hơn nữa, sự thống nhất trong 10.10 là "đóng băng" hơn bất cứ điều gì khác
Extender

1
Ngoài ra hãy kiểm tra apt trên cd nếu bạn không muốn phải tải xuống lại.
Jeremy

Câu trả lời:


9

Chạy con quái vật này trên bản cài đặt hiện có của bạn, thay thế 12.04phiên bản Ubuntu của bạn và i386bằng kiến ​​trúc (i386 hoặc amd64):

release_num='12.04'
arch='i386'

comm -23 \
    <(sort <(aptitude search '~i!~E' --disable-columns | grep -v "i A " | cut -d " " -f 3)) \
    <(sort <(wget -q -O- http://releases.ubuntu.com/maverick/ubuntu-${release_num}-desktop-${arch}.manifest | grep -E -o '^[^ ]+')) \
| sed 's/$/ install/g' > packages

Nó sẽ tạo ra một tập tin gọi là packages. Sao chép này vào một nơi nào đó trong bản cài đặt mới của bạn và sau đó chạy:

sudo apt-get update
sudo bash -c "cat packages | xargs apt-get -y install"

Lưu ý: Điều này so sánh các gói được sử dụng trên LiveCD với các gói hiện tại. Hiện tại, có một vài gói (gparted, btrfs-tools, v.v.) trên CD chưa được cài đặt. Nếu bạn đã cài đặt thủ công, bạn cũng cần phải cài đặt lại trên máy mới. Rất may điều này chỉ áp dụng cho một vài gói, tất cả đều đơn giản để cài đặt nếu / khi bạn nhận ra mình cần nó.

Ngoài ra nếu bạn sử dụng bất kỳ PPA hoặc kho lưu trữ khác, hãy đảm bảo bạn thiết lập chúng trên máy mới trước khi bạn chạy nó.


Chỉ cần sử dụng .manifest-desktop thay thế. Ví dụ. gparted và btrfs-tools không phải là một phần của cài đặt mặc định (chúng chỉ nằm trên CD). Nếu bạn đã cài đặt thủ công các gói đó, chúng sẽ không hiển thị trong 'gói'.
htorque

Bạn có thể muốn chuyển hai phần thông qua sắp xếp, vì 'comm' phàn nàn rằng cả hai tệp không được sắp xếp. IIUC điều này sẽ có cùng 'vấn đề' với các gói từ cài đặt mặc định, được đánh dấu thủ công là 'cài đặt thủ công' (tôi đoán đó sẽ là cột thứ 3 của 'comm'?).
htorque

Trường hợp nào thì .manifest-desktopsống? Tôi sắp sửa để thêm sắp xếp. Họ trông có vẻ sắp xếp nên tôi không nghĩ mình phải làm điều đó nhưng dường như là không. Nắm bắt tốt. Công bằng với tôi, tôi đã gõ bài đăng này từ giường trên điện thoại bằng bàn phím 15mm * 100mm nhỏ khó chịu. ;)
Oli

Đó là nhược điểm - dường như không có sẵn trực tuyến như tập tin .manifest đó. : - / Trên CD, nó nằm trong thư mục 'casper'.
htorque

Tôi đã có một cuộc săn lùng và không thể tìm thấy một phiên bản gần đây. Tôi nghĩ rằng việc sử dụng một phiên bản cũ cũng gây hại và tải xuống ISO chỉ để giải nén nó là một sự lãng phí năng lượng. Tôi nghĩ rằng đó chỉ là một sự cảnh báo của quá trình này. Bạn có thể phải cài đặt thủ công một vài gói mà bạn đã có trước đây nhưng điều này sẽ làm hầu hết chúng.
Oli

7

Tôi đề nghị sử dụng oneconf Cài đặt oneconf

Nó tích hợp với Trung tâm phần mềm khá độc đáo và làm những gì bạn muốn.


Oneconf đã sẵn sàng để sử dụng bởi người dùng thông thường?
Decio Lira

Người dùng thông thường có thể sử dụng nó, nhưng sẽ không thích nó; Nó cần rất nhiều tình yêu trước đó là trường hợp. Tuy nhiên nó rất hữu ích.
Chipaca

6

Tôi nghĩ rằng những người khác đã trả lời phần kỹ thuật của câu hỏi của bạn, tôi muốn trả lời câu hỏi ngụ ý - "sẽ chuyển sang Unity khắc phục vấn đề ssh này", và câu trả lời là tôi sợ tôi nghi ngờ điều đó. Các phiên shell từ xa thường không sử dụng Unity hoặc máy tính để bàn. Nếu bạn có thể sử dụng tốt máy tính để bàn của mình từ mạng có dây, nhưng không phải từ mạng ad-hoc, việc đóng băng có thể liên quan đến trình điều khiển không dây của bạn chứ không phải vỏ máy tính để bàn.


Tôi thứ hai - vì phiên bản netbook và phiên bản máy tính để bàn sử dụng hầu hết tất cả các trình điều khiển / gói giống nhau, nên việc cài đặt lại sẽ không giải quyết được gì. Thay vào đó tốt hơn để chẩn đoán các vấn đề mạng.
ImaginaryRobots

Mark, Có, có vẻ như đó là một vấn đề trình điều khiển. Nhưng trong những trường hợp hiếm hoi, nó đã xảy ra trong khi trên mạng có dây. Tôi nên thử tắt cả thẻ và thử.
nixnotwin

1

Có một tệp có tên 'filesystem.manifest-desktop' trong thư mục 'casper' trên CD (hoặc trích xuất nó từ tệp ISO). Nó chứa tất cả các gói được cài đặt, trừ những gói được tải xuống trong quá trình cài đặt (bản cập nhật, langpacks?).

Vì vậy, một cái gì đó như thế này sẽ cung cấp cho bạn danh sách các gói được thêm và loại bỏ:

dpkg --get-selections | awk '{print $1}' > now.txt
awk '{print $1}' filesystem.manifest-desktop > then.txt
diff -u then.txt now.txt | grep '^+' | sed 's/^+//' | grep -v '^+' > add.txt
diff -u then.txt now.txt | grep '^-' | sed 's/^-//' | grep -v '^-' > rem.txt

Sau đó, bạn có thể cài đặt qua:

cat added.log | xargs sudo apt-get install

(Bạn cần đảm bảo rằng tất cả các gói đó đều khả dụng, nếu không lệnh đó sẽ thất bại.)


1
Điều này có làm cho các gói được cài đặt tự động hiện tại được cài đặt thủ công trên hệ thống mới không?
Oli

Có vẻ như 'add.txt' của tôi chứa các gói giống như 'gói' của bạn, vì vậy tôi đoán là không. Tuy nhiên, điều này không làm được, là đặt các gói từ cài đặt thành 'cài đặt thủ công', nếu bạn đã làm như vậy trên hệ thống hiện tại.
htorque

2
Tôi đã đánh cắp phương thức cài đặt lại của bạn nhưng bạn nên lưu ý rằng xargs có thể chia mọi thứ thành nhiều lệnh nếu có nhiều đối số. Dựa vào thời gian có thể có giữa thời gian tải xuống đợt đầu tiên và lần thứ hai, sudo có thể sẽ hết hạn. Đó là lý do tại sao tôi bọc của tôi trong một sudo bash -c "...".
Oli

Heh, thực sự tôi nghĩ rằng chế độ cài đặt của bạn tốt hơn bởi vì DSelect sẽ hiển thị rõ ràng các gói không thể cài đặt (PPA không xác định, .debs của bên thứ 3), vì vậy bạn có thể bỏ đánh dấu chúng. Với apt đó là tất cả hoặc không có gì.
htorque
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.