Я не хотел бы свой весь корневой каталог, зарегистрировался в управлении версиями просто, потому что это означает каждый подкаталог, в который я вхожу, имел бы контекст управления версиями моего домашнего dir. Команды как git checkout
имел бы фактическое действие в этом случае, вызывая проблемы, если я случайно выполняю что-то из неправильного каталога, является ли это что-то git
самостоятельно или сценарий, который звонит мерзавцу.
Это также делает его более вероятно для добавления чего-то к repo, который Вы не хотите, который не был бы проблемой, когда Вам зарегистрировались во всем, но теперь становитесь проблемой. Что, если Вы случайно добавляете файл секретных ключей (возможно, из привычки) и продвигаете ее к GitHub?
Однако я думаю, что основные недостатки не являются действительно техническими — просто желание сохранить меня от меня.
Что касается symlinking: Вы могли клонировать свой repo в подкаталог и иметь сценарий, который обновляет любые символьные ссылки, которые должны быть обновлены. Объем обслуживания, требуемого для этого сценария, мог бы перевесить преимущества наличия его вообще, хотя; symlinking мог бы оказаться меньшим количеством работы.
С символьными ссылками можно также легко сделать определенным для дистрибутива (или даже определенный для хоста) дополнения, в которых зарегистрировались мерзавец. Ваш сценарий обновления символьной ссылки проигнорирует файлы, предназначенные для несовместимых платформ или различных хостов, и только обновит соответствующие.
Что-то как:
HOMEREPO=$HOME/homerepo
HOST=$(hostname)
UNAME=$(uname)
for dotfile in $HOMEREPO/shared/* $HOMEREPO/host-$HOST/* $HOMEREPO/uname-$UNAME/*
do
target=$HOME/$(basename $dotfile)
[ ! -r $target ] && ln -s $dotfile $target
done
Лично: Я использую символьные ссылки, и я не делаю каталогов символьной ссылки; только файлы в. Это дает мне некоторую гибкость, чтобы внести локальные для сайта изменения в тех каталогах (т.е. добавить/удалить файлы). Создание моей учетной записи в новой системе утомительно, потому что я должен воссоздать все символьные ссылки вручную.
@user11177, вероятно, Вы пропускаете личинку. Вы выполняете UEFI? Так или иначе смотрите здесь.
To install grub:
Getting the System to Boot
Here is a terse summary. For details, see section 4.
1.
Boot your system using a "live CD" or "live DVD".
2.
Open a shell window and become root: sudo su
3.
For clarity, let’s discuss things using the shell variables $partition and $device. An example might be: partition=/dev/sda6 ; device=/dev/sda
4.
You need to know which partition holds the Linux system you want to boot. If you remember this, define $partition and $device accordingly, and skip to the next step. If you need to figure it out,
get a list of disk devices: ls /dev/sd? /dev/hd?
look at each such device: cfdisk $device or fdisk -l $device
Look at the partition sizes and partition labels to find the partition that you want to boot. Define $partition and $device accordingly.
5.
Create a mountpoint: install -d /mnt/radicula
6.
Mount the partition containing your Linux: mount $partition /mnt/radicula
7.
Reinstall grub: grub-install --root-directory=/mnt/radicula $device
Beware: You want to install grub on the device (e.g. /dev/sda). If you install it on the partition (e.g. /dev/sda6), the grub-install program won’t complain, but the results won’t be what you wanted.
That’s probably enough to get you going. If you want to give it a try, shut down the live CD system, eject the CD, and reboot in the normal way from your favorite device (/dev/sda in the example).
If you want to improve your chances, you can do a little more work before rebooting.
8.
If the Live CD system has a /boot directory, move it out of the way: mv /boot /xxxboot
9.
Put the target system’s boot directory in its place: ln -s /mnt/radicula/boot /
10.
Back up the existing grub control file, namely grub.cfg (for Grub Version 2) and/or menu.lst (for Grub Version 1). If both exist, back up both of them. cd /boot/grub ; cp grub.cfg grub.cfg#1 ; cp menu.lst menu.lst#1
11.
Update the grub control file: update-grub.
Note that in Grub Version 1, update-grub writes the file menu.lst, whereas in Grub Version 2, it invokes grub-mkconfig to write the file grub.cfg.
Now you really should be ready to shut own the Live CD system, remove the CD, and reboot in the normal way.