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

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

4 ответа

Решение

Запустите этого монстра на существующей установке, замените 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 или другие репозитории, убедитесь, что вы установили их на новом компьютере, прежде чем запускать это.

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

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

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

В папке "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

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

Другие вопросы по тегам