переключатель svn - перемещает: неправильный uuid?

От вершины...

  • make компиляции и ссылки изображение ядра. Это - единственный названный файл vmlinuz.
  • make modules файлы человека компиляций для каждого вопроса Вы ответили M во время конфигурации ядра. Объектный код связан против Вашего недавно созданного ядра. (Для отвеченных вопросов Y, это уже часть vmlinuz, и для отвеченных вопросов N они пропускаются).
  • make install устанавливает Ваше созданное ядро на /vmlinuz.
  • make modules_install устанавливает Ваши модули ядра на /lib/modules или /lib/modules/<version>.

Что касается добавления его к списку доступных ядер, это заботилось о загрузчиком. Это отличается для каждого загрузчика, но grub наиболее распространено на x86 и amd64, таким образом, я опишу это. Это на самом деле довольно просто. Личинка заглядывает /, /boot и /lib/modules для любой вещи, которая похожа на него, мог бы быть рабочее ядро и добавляет его. И да, это - упрощенное описание.

Тот дополнительный "ужасный материал" в документации Ubuntu является дополнительным материалом для создания a deb пакет. При выполнении его для больше, чем сами, намного лучше упаковать его. Вы переключитесь вовремя.

Создание ядра и модулей разделено, потому что для людей, которым нужно к (т.е. разработчики ядра) они часто вносят изменения только в модуль. Они могут применить свои изменения, восстановить и установить просто модули. Это экономит много времени, когда это должно быть сделано 20 раз в день. Это никогда не будет обновляться, чтобы иметь сингл make everything команда. Вы вместо этого, выполненный make && make modules && make install && make modules_install точно так же, как в документации говорится, чтобы сделать. Процесс сборки способствует разработчикам ядра, не Вам. И это - способ, которым это должно быть.

В действительности нет почти никакой причины ни для кого кроме разработчиков ядра или поставщиков программного блока дистрибутива для компиляции ядра. При почти любом обстоятельстве функция ядра, которую Вы хотите, была уже создана для Вас и доступна в одном из предварительно упакованных ядер. Существуют исключения, но они чрезвычайно редки в эти дни.

Не то, чтобы я отговариваю Вас делать создание Вашего собственного ядра, я на самом деле поощряю Вас делать это. Я думаю, создавая Ваше ядро, с нуля неоценимая практика для приобретения знаний о том, как все это работает там. Частично, потому что, возможно, однажды Вы будете исключением, которое должно. Но это также учит Вас много ядру и процессу начальной загрузки в целом. Вы будете лучшим человеком для того, что сделали это.

7
30.01.2011, 21:12
2 ответа

svn switch --relocate ожидает находить тот же репозиторий в новом URL, не другой.

Вы использовали svnsync создать новый репозиторий? В этом случае можно использовать svnadmin setuuid использовать тот же uuid в качестве старого репозитория. Согласно svnsync документации в книге svn, это должно позволить Вам снова использовать существующие рабочие копии.

7
27.01.2020, 20:17
  • 1
    я сделал это с svnsync для перемещения repo в новое местоположение. svnadmin setuuid спасите положение! –  Matt Connolly 10.05.2011, 07:39

--relocate отметьте обновляет Вашу рабочую копию, если URL раньше достигал Ваших существующих изменений репозитория. Нет хорошего пути к SVN для переключения рабочей копии на новый репозиторий, потому что даже при том, что это могло бы содержать те же файлы, любое количество других вещей могло бы отличаться - история, количество checkins, содержание файлов, и так далее, и SVN не разработан для составления тех видов различий.

Вы задали свой вопрос просто с клиентской точки зрения, но было бы полезно иметь большее изображение того, что Вы пытаетесь сделать. Например, Вы пытаетесь переместить свой собственный репозиторий в новый сервер? Если так, какой метод Вы использовали и могли бы там быть лучшим? Или Вы использовали репозиторий, управляемый кем-то еще, и они переместили его? Существует вся история старого репозитория в новом репозитории? Существует ли причина, Вы/они не можете скопировать файлы базы данных SVN в новый сервер вместо того, чтобы создать совершенно новый репозиторий?

Существует способ вызвать то, что Вы хотите - а именно, удаляете свои .svn каталоги из Вашей рабочей копии (сделайте резервное копирование сначала!), проверьте новую копию с нового сервера и переместите все .svn каталоги от новой копии до соответствующих мест в Вашей рабочей копии. Но только сделайте это, после того как Вы рассмотрели большее изображение.

3
27.01.2020, 20:17

Теги

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