Генерация списка приложений из старой установки для запуска в новой установке

8

Я хочу перейти с Ubuntu-Desktop 10.10 на Ubuntu Netbook Edition 10.10 на моем нетбуке. В настоящее время, когда я захожу в Ubuntu из моей специальной сети, Ubuntu зависает. Это всегда требует холодного отключения. Так что надеемся, что в выпуске нетбуков может не быть этой проблемы. Я установил много приложений на настольную версию. Поэтому я хочу сохранить список приложений в сценарии и запустить сценарий при новой установке, чтобы все приложения были загружены и установлены. Мне нужны предложения относительно лучшего способа достижения этого.

nixnotwin
источник
Любой, кто думает о предложении dpkg --get-selections: помните, что система установила другой набор пакетов. Вам нужно будет отфильтровать, основываясь на том, какие приложения были установлены после базовой системы.
Оли
1
Замораживания, скорее всего, связаны с драйверами ядра / xorg / X, очень маловероятно, что изменение диспетчера окон это исправит.
Жоау Пинту
Более того, единство в 10.10 более «замерзает», чем все остальное
Extender
1
Также проверьте apt на CD, если вы не хотите загружать снова.
Джереми

Ответы:

9

Запустите этого монстра в существующей установке, замените 12.04версию Ubuntu и i386на архитектуру (i386 или 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

Будет сгенерирован файл с именем packages. Скопируйте это куда-нибудь в вашей новой установке и затем запустите:

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

Примечание. При этом сравниваются пакеты, используемые на LiveCD, с текущими. На данный момент на компакт-диске есть несколько пакетов (gparted, btrfs-tools и т. Д.), Которые не установлены. Если вы установили gparted вручную, вам придется вручную переустанавливать его и на новом компьютере. К счастью, это относится только к нескольким пакетам, все из которых просты в установке, если / когда вы понимаете, что вам это нужно.

Также, если вы используете какие-либо PPA или другие репозитории, убедитесь, что вы установили их на новом компьютере, прежде чем запускать это.

Оли
источник
Просто используйте вместо этого .manifest-desktop. Например. gparted и btrfs-tools не являются частью установки по умолчанию (они находятся только на компакт-диске). Если вы установили эти пакеты вручную, они не будут отображаться в «пакетах».
htorque
Вы могли бы хотеть передать две части через сортировку, поскольку 'comm' жаловался, что оба файла не были отсортированы. У IIUC должна быть та же самая «проблема» с пакетами из установки по умолчанию, которые были помечены вручную как «установленные вручную» (я думаю, это будет 3-й столбец «comm»?).
htorque
Где .manifest-desktopживет? Я собираюсь редактировать, чтобы добавить сортировку. Они выглядели отсортированными, поэтому я не думал, что должен был это делать, но, похоже, нет. Хороший улов. Честно говоря, я набрал этот пост с постели на своем телефоне, используя противную маленькую клавиатуру 15 мм * 100 мм. ;)
Оли
Это недостаток - он не доступен в Интернете, как этот файл .manifest. : - / На компакт-диске он находится в папке «casper».
htorque
Я охотился вокруг и не могу найти последнюю версию. Я думаю, что использование старой версии так же вредно, а загрузка ISO только для того, чтобы извлечь ее, является пустой тратой энергии. Я думаю, что это просто предостережение от этого процесса. Возможно, вам придется вручную установить несколько пакетов, которые у вас были раньше, но это подойдет большинству из них.
Оли
7

Я предлагаю использовать oneconf Установить oneconf

Он прекрасно интегрируется с Software Center и делает то, что вы хотите.

Chipaca
источник
Готов ли oneconf для использования обычными пользователями?
Децио Лира
Обычные пользователи, вероятно, могут его использовать, но пока не полюбят; прежде чем это так, нужно много любви. Тем не менее это полезно.
Чипака
6

Я думаю, что другие ответили на техническую часть вашего вопроса, я хотел бы ответить на подразумеваемый вопрос - «поможет ли решение проблемы SSH перейти на Unity», и ответ - боюсь, я сомневаюсь в этом. Сеансы удаленной оболочки обычно не используют Unity или рабочий стол. Если вы можете установить ssh на рабочий стол из проводной сети, но не из специальной сети, вероятно, зависание связано с вашими драйверами беспроводной связи, а не с оболочкой рабочего стола.

Марк Шаттлворт
источник
Я повторяю это - поскольку в версии для нетбуков и в настольной версии используются практически все драйверы / пакеты, маловероятно, что переустановка решит что-либо. Лучше вместо этого диагностировать проблемы с сетью.
ImaginaryRobots
Марк, да, похоже, это проблема с драйверами. Но в редких случаях это происходило и в проводной сети. Я должен попробовать выключить обе карты и попробовать.
nixnotwin
1

В папке «casper» на компакт-диске есть файл «filesystem.manifest-desktop» (или извлеките его из файла ISO). Он содержит все устанавливаемые пакеты, за исключением пакетов, загруженных во время установки (обновления, langpacks?).

Итак, что-то вроде этого должно дать вам список добавленных и удаленных пакетов:

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

Затем вы можете установить через:

cat added.log | xargs sudo apt-get install

(Вы должны убедиться, что все эти пакеты доступны, иначе эта команда не выполнится.)

htorque
источник
1
Это сделает текущие автоматически установленные пакеты вручную установленными в новой системе?
Оли
Похоже, мой «add.txt» содержит те же пакеты, что и ваши «пакеты», так что я думаю, нет. Тем не менее, это не позволяет установить пакеты из установки как «установленные вручную», если вы сделали это в текущей системе.
2010 г.
2
Я украл ваш метод переустановки, но вы должны заметить, что xargs может разбить вещи на несколько команд, если есть много аргументов. Учитывая, сколько времени может быть между загрузкой первой партии и второй, sudo, вероятно, истечет. Вот почему я завернул свой в sudo bash -c "...".
Оли
Хех, на самом деле я думал, что ваш режим установки лучше, потому что dselect будет явно показывать пакеты, которые не могут быть установлены (неизвестные PPA, сторонние .debs), так что вы можете снять их. С apt это все или ничего.
htorque