Как данные репозитория указаны в apt?

Создание живого компакт-диска из существующей / новой установки

EDIT: этот метод больше не работает. Я предлагаю вам попробовать другие методы, предложенные в этом QA.

Хорошим способом было бы сделать live CD с текущей установки. Это можно сделать с помощью виртуальной машины (просто не устанавливайте какие-либо инструменты VM внутри гостевой ОС)

Итак, сначала нам нужна новая установка (если вы не можете установить ее на самом деле, попробуйте использовать виртуальную машину) только с теми вещами, которые вам нужны (в вашем случае - thunderbird, samba и ssh). Затем мы настраиваем систему и записываем, где твики (например, вы меняете фон рабочего стола, настройки находятся в ~ / .gconf или вы добавляете ярлыки firefox, они расположены в ~ / Desktop). Это необходимо для шага 4.

Настройте некоторые переменные:
export WORK=~/temp
export CD=~/livecd
export FORMAT=squashfs
export FS_DIR=casper
Замените ~ / temp на путь во временный каталог, в котором мы будем работать. Замените ~ / livecd на путь к компакт-диску дерево. Создайте структуру папок. sudo mkdir -p ${CD}/{${FS_DIR},boot/grub} ${WORK}/rootfs Теперь нам нужно будет установить несколько пакетов:
sudo apt-get install grub2 xorriso squashfs-tools
Теперь мы скопируем текущую установку, изменим флаги исключений в соответствии с вашими потребностями:
sudo rsync -av --one-file-system --exclude=/proc/* --exclude=/dev/* \
--exclude=/sys/* --exclude=/tmp/* --exclude=/home/* --exclude=/lost+found \
--exclude=/var/tmp/* --exclude=/boot/grub/* --exclude=/root/* \
--exclude=/var/mail/* --exclude=/var/spool/* --exclude=${WORK}/rootfs \
--exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts \
--exclude=/etc/timezone --exclude=/etc/shadow* --exclude=/etc/gshadow* \
--exclude=/etc/X11/xorg.conf* --exclude=/etc/gdm/custom.conf \
/ ${WORK}/rootfs
Если у вас есть отдельный загрузочный раздел, выполните следующее: sudo cp -av /boot/* ${WORK}/rootfs/boot In в вашем случае вы хотите скопировать настройки и некоторые файлы из домашнего каталога. Сначала определите, какие каталоги мы хотим скопировать: CONFIG = '. Config .gconf Desktop someotherfolder andanotherfolder' И теперь мы копируем это:
cd ~ && for i in $CONFIG
do
sudo cp -rpv --parents $i ${WORK}/rootfs/etc/skel
done        
Теперь мы chroot в новую систему и модифицируем ее.
sudo mount  --bind /dev/ ${WORK}/rootfs/dev
sudo mount -t proc proc ${WORK}/rootfs/proc
sudo mount -t sysfs sysfs ${WORK}/rootfs/sys
sudo mount -t devpts devpts ${WORK}/rootfs/dev/pts
sudo chroot ${WORK}/rootfs /bin/bash
Следующие команды выполняются в chroot:
LANG=
apt-get update
apt-get install casper
Каспер содержит живые сценарии. Если вы хотите установить установщик, запустите это:
apt-get install ubiquity ubiquity-frontend-gtk
Или, если вы хотите KDE:
apt-get install ubiquity ubiquity-frontend-kde
Обновить modules.dep и initramfs:
depmod -a $(uname -r)
update-initramfs -u -k $(uname -r)
Удалить несистемных пользователей - не волнуйтесь, мы скопировали настройки и данные в «скелет» пользователей. Это означает, что все новые пользователи получат их.
for i in `cat /etc/passwd | awk -F":" '{print $1}'`
do
    uid=`cat /etc/passwd | grep "^${i}:" | awk -F":" '{print $3}'`
    [ "$uid" -gt "999" -a  "$uid" -ne "65534"  ] && userdel --force ${i} 2>/dev/null
done
Очистить:
apt-get clean
find /var/log -regex '.*?[0-9].*?' -exec rm -v {} \;
find /var/log -type f | while read file
do
    cat /dev/null | tee $file
done
rm /etc/resolv.conf /etc/hostname
Выйти из chroot. exit Теперь мы копируем ядро:
export kversion=`cd ${WORK}/rootfs/boot && ls -1 vmlinuz-* | tail -1 | sed 's@vmlinuz-@@'`
sudo cp -vp ${WORK}/rootfs/boot/vmlinuz-${kversion} ${CD}/boot/vmlinuz
sudo cp -vp ${WORK}/rootfs/boot/initrd.img-${kversion} ${CD}/boot/initrd.img
sudo cp -vp ${WORK}/rootfs/boot/memtest86+.bin ${CD}/boot
Если вы установили установщик, вам нужно будет это сделать, чтобы установщик не устанавливал такие вещи, как casper:
sudo chroot ${WORK}/rootfs dpkg-query -W --showformat='${Package} ${Version}\n' | sudo tee ${CD}/${FS_DIR}/filesystem.manifest
sudo cp -v ${CD}/${FS_DIR}/filesystem.manifest{,-desktop}
REMOVE='ubiquity casper user-setup os-prober libdebian-installer4'
for i in $REMOVE 
do
    sudo sed -i "/${i}/d" ${CD}/${FS_DIR}/filesystem.manifest-desktop
done        
Отключите то, что мы установили:
sudo umount ${WORK}/rootfs/proc
sudo umount ${WORK}/rootfs/sys
sudo umount ${WORK}/rootfs/dev/pts
sudo umount ${WORK}/rootfs/dev
Преобразовать в squashfs:
sudo mksquashfs ${WORK}/rootfs ${CD}/${FS_DIR}/filesystem.${FORMAT}
Сделать файл system.size: echo -n $(sudo du -s --block-size=1 ${WORK}/rootfs | tail -1 | awk '{print $1}') | sudo tee ${CD}/casper/filesystem.size И md5: find ${CD} -type f -print0 | xargs -0 md5sum | sed "s@${CD}@.@" | grep -v md5sum.txt |sudo tee ${CD}/md5sum.txt Теперь grub.cfg:
sudo nano ${CD}/boot/grub/grub.cfg
(замените nano на ваш текстовый редактор fav, это не имеет значения) Вставьте это и сохраните:
set default="0"
set timeout=10

menuentry "Ubuntu GUI" {
linux /boot/vmlinuz boot=casper quiet splash
initrd /boot/initrd.img
}


menuentry "Ubuntu in safe mode" {
linux /boot/vmlinuz boot=casper xforcevesa quiet splash
initrd /boot/initrd.img
}


menuentry "Ubuntu CLI" {
linux /boot/vmlinuz boot=casper textonly quiet splash
initrd /boot/initrd.img
}


menuentry "Ubuntu GUI persistent mode" {
linux /boot/vmlinuz boot=casper boot=casper persistent quiet splash
initrd /boot/initrd.img
}


menuentry "Ubuntu GUI from RAM" {
linux /boot/vmlinuz boot=casper nopersistent toram quiet splash
initrd /boot/initrd.img
}

menuentry "Check Disk for Defects" {
linux /boot/vmlinuz boot=casper integrity-check quiet splash
initrd /boot/initrd.img
}


menuentry "Memory Test" {
linux16 /boot/memtest86+.bin
}


menuentry "Boot from the first hard disk" {
set root=(hd0)
chainloader +1
}
Если вы хотите, вы можете добавить дополнительную запись в меню, которая позволит вам перейти прямо в Ubiquity.
menuentry "Install Ubuntu" {
linux /boot/vmlinuz boot=casper only-ubiquity quiet splash
initrd /boot/initrd.img
}
Сделайте CD / DVD! sudo grub-mkrescue -o ~/live-cd.iso ${CD} Протестируйте его с помощью виртуальной машины!

EDIT:

1
задан 7 June 2017 в 11:22

3 ответа

unknown

Часть unknown поступает из записи для Suite в файле Release для репозитория debian. Я думаю, что вы создали локальный репозиторий без правильной установки необходимых ключей для файла Release (или InRelease), поэтому apt показывает unknown.

Например, типичный стандартный выпуск файл может иметь эти записи (взято из файла InRelease официального хранилища Ubuntu]

Origin: Ubuntu
Label: Ubuntu
Suite: zesty
Version: 17.04
Codename: zesty
Date: Wed, 12 Apr 2017  2:53:23 UTC
Architectures: amd64 arm64 armhf i386 ppc64el s390x

. Для получения дополнительной информации о формате файла выпуска см. этот раздел вики-файла debian.

И проверьте этот раздел , чтобы создать правильный локальный репозиторий Ubuntu.

now

now относится к версии установленного пакета (и поэтому считается доступным ). Информация сохраняется в файле /var/lib/dpkg/status. У меня есть эти записи в apt list --installed

zlib1g/zesty,now 1:1.2.11.dfsg-0ubuntu1 amd64 [installed]
zlib1g-dev/ubuntu-local,zesty,now 1:1.2.11.dfsg-0ubuntu1 amd64 [installed,automatic]
zsync/zesty,now 0.6.2-2ubuntu1 amd64 [installed]

Как вы можете видеть, zsync имеет запись now, которая означает, что она установлена ​​и доступна как таковая. Если вы не видите других записей, кроме now, это будет означать, что у вас установлен пакет, который недоступен для переустановки из любого известного репозитория.

Вот результат работы apt policy zsync снова из той же системы .

zsync:
  Installed: 0.6.2-2ubuntu1
  Candidate: 0.6.2-2ubuntu1
  Version table:
 *** 0.6.2-2ubuntu1 500
        500 http://bd.archive.ubuntu.com/ubuntu zesty/universe amd64 Packages
        100 /var/lib/dpkg/status
     0.6.2-1ubuntu1 500
        500 file:/mnt/Data/Software/Linux/Debian_Packages/xenial_debs2  Packages

Как вы можете видеть, /var/lib/dpkg/status был указан как репо для zsync, что означает, что он установлен в настоящий момент.

4
ответ дан 22 May 2018 в 21:54
  • 1
    @ Арун, пожалуйста. Я все еще настаиваю на том, чтобы обновить вопрос с помощью текстового вывода. Нам сложно работать с – Anwar 4 June 2017 в 11:01

unknown

Часть unknown поступает из записи для Suite в файле Release для репозитория debian. Я думаю, что вы создали локальный репозиторий без правильной установки необходимых ключей для файла Release (или InRelease), поэтому apt показывает unknown.

Например, типичный стандартный выпуск файл может иметь эти записи (взято из файла InRelease официального хранилища Ubuntu]

Origin: Ubuntu Label: Ubuntu Suite: zesty Version: 17.04 Codename: zesty Date: Wed, 12 Apr 2017 2:53:23 UTC Architectures: amd64 arm64 armhf i386 ppc64el s390x

. Для получения дополнительной информации о формате файла выпуска см. этот раздел вики-файла debian.

И проверьте этот раздел , чтобы создать правильный локальный репозиторий Ubuntu.

now

now относится к версии установленного пакета (и поэтому считается доступным ). Информация сохраняется в файле /var/lib/dpkg/status. У меня есть эти записи в apt list --installed

zlib1g/zesty,now 1:1.2.11.dfsg-0ubuntu1 amd64 [installed] zlib1g-dev/ubuntu-local,zesty,now 1:1.2.11.dfsg-0ubuntu1 amd64 [installed,automatic] zsync/zesty,now 0.6.2-2ubuntu1 amd64 [installed]

Как вы можете видеть, zsync имеет запись now, которая означает, что она установлена ​​и доступна как таковая. Если вы не видите других записей, кроме now, это будет означать, что у вас установлен пакет, который недоступен для переустановки из любого известного репозитория.

Вот результат работы apt policy zsync снова из той же системы .

zsync: Installed: 0.6.2-2ubuntu1 Candidate: 0.6.2-2ubuntu1 Version table: *** 0.6.2-2ubuntu1 500 500 http://bd.archive.ubuntu.com/ubuntu zesty/universe amd64 Packages 100 /var/lib/dpkg/status 0.6.2-1ubuntu1 500 500 file:/mnt/Data/Software/Linux/Debian_Packages/xenial_debs2 Packages

Как вы можете видеть, /var/lib/dpkg/status был указан как репо для zsync, что означает, что он установлен в настоящий момент.

4
ответ дан 18 July 2018 в 12:11

unknown

Часть unknown поступает из записи для Suite в файле Release для репозитория debian. Я думаю, что вы создали локальный репозиторий без правильной установки необходимых ключей для файла Release (или InRelease), поэтому apt показывает unknown.

Например, типичный стандартный выпуск файл может иметь эти записи (взято из файла InRelease официального хранилища Ubuntu]

Origin: Ubuntu Label: Ubuntu Suite: zesty Version: 17.04 Codename: zesty Date: Wed, 12 Apr 2017 2:53:23 UTC Architectures: amd64 arm64 armhf i386 ppc64el s390x

. Для получения дополнительной информации о формате файла выпуска см. этот раздел вики-файла debian.

И проверьте этот раздел , чтобы создать правильный локальный репозиторий Ubuntu.

now

now относится к версии установленного пакета (и поэтому считается доступным ). Информация сохраняется в файле /var/lib/dpkg/status. У меня есть эти записи в apt list --installed

zlib1g/zesty,now 1:1.2.11.dfsg-0ubuntu1 amd64 [installed] zlib1g-dev/ubuntu-local,zesty,now 1:1.2.11.dfsg-0ubuntu1 amd64 [installed,automatic] zsync/zesty,now 0.6.2-2ubuntu1 amd64 [installed]

Как вы можете видеть, zsync имеет запись now, которая означает, что она установлена ​​и доступна как таковая. Если вы не видите других записей, кроме now, это будет означать, что у вас установлен пакет, который недоступен для переустановки из любого известного репозитория.

Вот результат работы apt policy zsync снова из той же системы .

zsync: Installed: 0.6.2-2ubuntu1 Candidate: 0.6.2-2ubuntu1 Version table: *** 0.6.2-2ubuntu1 500 500 http://bd.archive.ubuntu.com/ubuntu zesty/universe amd64 Packages 100 /var/lib/dpkg/status 0.6.2-1ubuntu1 500 500 file:/mnt/Data/Software/Linux/Debian_Packages/xenial_debs2 Packages

Как вы можете видеть, /var/lib/dpkg/status был указан как репо для zsync, что означает, что он установлен в настоящий момент.

4
ответ дан 24 July 2018 в 19:55

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

Похожие вопросы: