Покрокова псевдоінсталяція ArchLinux офлайн

Цю статтю мені надіслав наш друг Уго Флорентіно електронною поштою, де він розповідає про свій досвід спроб встановити ArchLinux, не маючи під рукою жодного сховища, просто використовуючи інсталяційний диск

Псевдоустановка

Пару днів тому я завантажив ArchLinux ISO для домашньої установки. Раніше використовуючи інші дистрибутиви, які дозволяють встановити хоча б мінімальну базу з компакт-диска, я хотів зробити щось подібне, але цікаво, що процес встановлення Arch не розроблений для комп'ютера, який не має доступу до Інтернету (побічні ефекти розробників, що живуть у першому світі).

У моєму випадку на моєму диску вже була Windows 7 (із завантажувальним та системним розділом) та Fedora (зі свопом та виділеним / завантажувальним розділом). Тоді ідея полягала в тому, щоб встановити Arch там, де раніше була Fedora, не руйнуючи при цьому Windows.

Автономна псевдоустановка ArchLinux

Ну, я завантажився з компакт-диска Arch, вибравши x86_64, і без особливих сумнівів залишив мене за консоллю. Я подумав: "Ого, ці хлопці серйозно ставляться до того, що не є дистрибутивом-початківцем ... гаразд, давайте тоді пограємось і подивимось, що станеться".

Я перерахував каталог, де я мав перевірити, чи є якась документація, і виявив, що там справді є текст з елементарним керівництвом із встановлення. Я написав актуальне на аркуші паперу (у мене вдома немає принтера) і взявся за роботу.

Перше, що я зробив, це змінив розкладку клавіатури на іспанську з Іспанії, що було простіше, ніж я очікував (є навіть цікаво названі нами акценти):

loadkeys es

Наступним було встановити зовнішній диск, щоб зберегти копію MBR на випадок проблем і випадково зберегти важливу інформацію, яку я мав у своїй Fedora:

mkdir -p / mnt / tmp1 && mount / dev / sdb1 / mnt / tmp1 dd, якщо = / dev / sda = = mnt / tmp1 / mbr.bin bs = 512 count = 1

На щастя Arch Live LiveCD підтримує NTFS і має вбудований Опівнічний коммандер (MC), тож у найкоротший час я закінчив зберігати решту інформації.

Потім я демонтував диск, видалив тимчасовий каталог і фізично видалив зовнішній диск, щоб зменшити ризик потенційних "катастроф".

umount /mnt/tmp1 && rmdir /mnt/tmp1

Тож я відформатував свої розділи, змонтував кореневий та завантажувальний розділи та ввімкнув обмін:

mkfs -t ext4 / dev / sda3 mkfs -t ext4 / dev / sda6 mount / dev / sda6 / mnt mkdir -p / mnt / boot mount / dev / sda3 / mnt / boot swapon / dev / sda5

Наступним кроком стала моя перша перешкода:

pacstrap /mnt base

Арч, природно, намагався шукати бази даних сховищ на одному із дзеркал, і не міг знайти жодного, всього пакстрап Це було створено структуру каталогів у / mnt, дуже організовану, але очевидно порожню.

По телефону я запитав пару друзів, які використовують Arch, чи немає можливості встановити без доступу до Інтернету хоча б ті самі пакети, що є на LiveCD, не скопіювавши сховище на диск, і вони сказали мені, що принаймні вони не знали, як це зробити.

Мені здалося, що технологічний "виклик" цікавий, тому я подумав: "Якщо Arch може ввійти в режим LiveCD, він повинен мати можливість встановити його на жорсткий диск принаймні в тому ж режимі", тому я спробував скопіювати вручну файли та дотримуючись решту навчального посібника (з деякими незначними змінами), щоб побачити, що сталося:

rsync -avl / {bin, etc, home, lib, lib64, opt, root, sbin, srv, usr, var} / mnt arch-chroot / mnt genfstab -p / >> / etc / fstab echo hpc> / etc / ім'я хосту ln -sf / usr / share / zoneinfo / Cuba / etc / localtime locale-gen

Наступним кроком стала моя наступна перешкода:

mkinitcpio -p linux

Ця команда спричинила деякі помилки після прочитання інструкції з команди та вмісту файлів /etc/mkinitcpio.conf y /etc/mkinitcpio.d/linux.preset, Я зрозумів, що команда не може знайти файл vmlinuz-linux, тому я натиснув Ctrl + D, щоб вийти з середовища chroot, і шукав будь-який файл, який був схожий на нього:

find / -type f -iname "*vmlinuz*"

Трапляється, що Arch LiveCD монтує завантажувальні файли під каталог / запустити /, тому я вирішив скопіювати їх мені / завантаження / щоб вони були зручні в моєму середовищі chroot:

cp /run/archiso/bootmnt/arch/boot/[memtest,intel_ucode.img} / mnt / boot / cp / run / archiso / bootmnt / arch / boot / x86_64 / * / mnt / boot / arch-chroot / mnt

Ще однією помилкою, яку я виявив, експериментуючи з mkinitcpio, було те, що мітку кореневого розділу знайти не вдалося, я записав його UUID (який я ідентифікував за допомогою команди blkid) для використання з командою, яка нарешті виглядала так:

mkinitcpio -p linux -k /boot/vmlinuz root=UUID=d85938aa-83b8-431c-becb-9b5735264912

Цього разу збірка закінчилася успішно, лише з парою попереджень про модулі, які не вдалося знайти, але в моєму випадку не потрібні. Про всяк випадок я відновив fstab, але цього разу вказавши UUID:

genfstab -U -p / > /etc/fstab

Я подумав: ну ну нарешті прогрес. І я продовжив змінювати пароль і встановити завантажувач.

passwd grub-install --target = i386-pc --recheck / dev / sda grub-mkconfig -o /boot/grub/grub.cfg

Нарешті, і, щоб бути методичним, я знову натиснув Ctrl + D, щоб вийти із закріпленого середовища, розібрав все і перезапустив, щоб побачити, що сталося:

umount / mnt / boot перезавантаження umount / mnt

Комп’ютер перезапустився, показавши меню Grub з Arch (Windows ніде не з’являлася), тому я вибрав його, і все, здавалося, завантажувалось нормально, поки ... система не вказала, що були помилки, які мені слід перевірити за допомогою наступної команди:

journalctl -xb

Аналізуючи помилки, я побачив, що більшість з них можна було проігнорувати, але остання була незвичною, кажучи мені, що плімут не знайдений.

Я відразу подумав, Плімут ??? Навіщо, блін, консольному завантажувальному середовищу потрібно щось подібне? Здається, це не дуже KISS. Я, звичайно, не ставив цього, і мені це не потрібно ".

Але щоб бути практичним, я подумав: "Ну, але принаймні на це слід посилатись у якомусь файлі, подивимось ...":

find /etc -type f -print0 | xargs -0 grep -i "plymouth"

Дивно, але в каталозі конфігурації не з’явився файл із текстовим рядком "plymouth". Тоді я подумав: «О, так ... ти змушуєшся зі мною? тоді давайте подивимось, як ви засвоюєте "гармату" "(як ми говоримо на Кубі), і" я побудував "плімут з ​​нуля:

vi / usr / bin / plymouth chmod 755 / usr / bin / plymouth

Для тих з вас, хто цікавиться, що я вклав у цей файл, ось його вміст у всій славетній цілісності:

#! / bin / sh вихід

Я знову перезавантажився, очікуючи помилки, і ... на диво, systemd зрадів, що знайшов цей "важливий компонент", оскільки він завершив процес запуску і без подальших затримок залишив мене в консолі. Оскільки я не міг повірити своїм очам, я вирішив "видалити" плімут і перезавантажитись, щоб подивитися, що станеться:

rm -fr / usr / bin / plymouth перезавантаження

Дивно, але цього разу система запустилася тихо, не дратуючи мене подальшою відсутністю Плімута. (Без коментарів)

Додавання Windows до GRUB

Потім залишалося додати запис Windows до GRUB. Оскільки традиційні маршрути не працювали (поєднання grub-mkconfig з os-prober здавалося, не працює добре), я вирішив створити запис вручну, для чого мені потрібно було виявити рядок завантажувача Windows та UUID завантажувального розділу:

mkdir -p / mnt / winboot && mount / dev / sda1 / mnt / winboot grub-probe --target = hints_string / mnt / winboot / bootmgr grub-probe --target = fs_uuid / mnt / winboot / bootmgr

Це повернуло мені відповідно ці два рядки:

--hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1
DC788F27788EFF8E

Таким чином я перевірив, що повернутий UUID був таким самим, як отриманий для цього розділу при виконанні команди blkid. Потім потрібно було створити власний запис grub із зазначеними даними:

vi /etc/grub.d/40_custom

За своїм змістом:

#! / bin / sh exec tail -n +3 $ 0 # Цей файл забезпечує простий спосіб додавання спеціальних записів меню. Просто введіть елементи меню #, які ви хочете додати після цього коментаря. Будьте обережні, щоб не змінити # рядок "exec tail" вище. меню "Microsoft Windows 7 SP1" --клас windows --class os {insmod part_msdos insmod ntfs insmod search_fs_uuid insmod ntldr search --fs-uuid --set = root --hint-bios = hd0, msdos1 --hint-efi = hd0, msdos1 --hint-baremetal = ahci0, msdos1 DC788F27788EFF8E ntldr / bootmgr}

Після завершення цього кроку я вирішив встановити Windows як операційну систему за замовчуванням, щоб моя дружина не панікувала, а моя племінниця могла грати своїх Барбі, коли вона прийде. Для цього я просто відредагував файл / І т.д. / за замовчуванням / GRUB і я встановив вхід для запуску за замовчуванням, а час очікування - лише 3 секунди.

GRUB_DEFAULT = 2 GRUB_TIMEOUT = 3

Залишилося лише повторно відновити конфігурацію GRUB і перезапустити:

grub-mkconfig -o /boot/grub/grub.cfg перезавантажити

На щастя, все пройшло як слід. Я вибрав запис у Windows, і він розпочався щасливо.

Отже, як ви можете бачити, якщо ви можете зробити принаймні офлайн-псевдоустановку ArchLinux крок за кроком, не будучи в мережі лише на компакт-диску, хоча очевидно, що те, що буде встановлено на жорсткому диску, по суті є LiveCD, але принаймні це може завантажте систему, скопіюйте файли та запустіть деякі програми.

На щастя, Сенді (KZKG ^ Гаара) заїхав і скопіював репозиторій Arch (за що я їм дуже вдячний), тому я планую незабаром закінчити справжню офлайн-установку, але це була б інша історія. У чому я можу вас запевнити, це те, що я вже давно трохи пропускаю такий веселий експеримент. Насправді, якби я мав час, підключення в будинку та певні матеріальні умови, я, мабуть, спробував би зробити власний розподіл на основі LFS, що було б набагато цікавішим проектом. 😉


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   петерчеко - сказав він

    Сподіваюся, ви спробуєте FreeBSD Elav.
    Що стосується Вашого путівника, дуже, дуже хорошого та повного ...

    1.    Рамп - сказав він

      Наскільки ти мінливий. Запевняю, за кілька місяців вам набридне FreeBSD.

      1.    lf - сказав він

        Цікава інформація, проте я все ще не бачу посібників з встановлення арки в системах з UEFI, чи є у лучників нові ПК?

        1.    елав - сказав він

          Встановлення з UEFI в ArchLinux спрощується шляхом встановлення Antergos, вам потрібно лише створити розділ у Fat32 з обсягом менше 500 МБ, і автоматично (при завантаженні USB за допомогою UEFI) Antergos позначить розділ як / boot.

      2.    петерчеко - сказав він

        Ось чому я змінююсь ... Щоб більше не змінюватися, я переходжу з Linux на BSD: D.

    2.    петерчеко - сказав він

      Внесена зміна та письмовий посібник: D.

  2.   r @ y - сказав він

    Вау, і я подумав, що витратив роботу https://humanos.uci.cu/2014/11/instalando-arch-linux-en-gpt-con-repositorio-local/

    1.    Озкар - сказав він

      Продовжуй користуватися Arch, коли я поїду до Гавани, я заберу його.

  3.   Alex - сказав він

    У мене на своєму USB є Arch Linux iso, я не наважився користуватися ним через брак часу.
    Я збираюся зробити хороший огляд статті, а потім використати її!

  4.   Бойове серце - сказав він

    Відмінна стаття, до речі, це нагадує мені одісею, яку я пройшов, щоб встановити Arch через WIFI з BCM4312.

  5.   калевіто - сказав він

    Елав, вибачте за запитання, але я новачок у Linux, я використовував лише ubuntu і Arch Linux привертає мою увагу. Мої друзі кажуть, що я не зможу встановити його, оскільки він призначений для експертів, але, переглядаючи ваш підручник в автономному режимі, я думаю, що, крок за кроком, я можу це зробити, для мене є складним завданням встановити його. Тільки я хочу зробити це з Інтернетом, там моє запитання: чи є у вас, або коли ви будете робити підручник із такою кількістю деталей (як цей), щоб встановити його?

    1.    daekko - сказав він

      Посібник опублікований на цьому сайті. https://blog.desdelinux.net/guia-de-instalacion-de-arch-linux-2014/

      😀 Отже, користуючись керівництвом та звертаючи увагу на те, що зроблено, ми матимемо установку без ускладнень, удачі!

    2.    елав - сказав він

      Ви все ще можете встановити Antergos, який є Archlinux, але з інсталяцією "в стилі Ubuntu" .. 😀

  6.   афанічний - сказав він

    В Arch є інший альтернативний носій встановлення для офіційних зображень під назвою Archboot, який, на відміну від офіційних зображень, містить сховище [core] (і щось інше), корисне для автономних установок (це також гібридна архітектура, воно використовується для i686 та для x86_64).

    Погана річ у тому, що зараз вона займає 1 Гб (раніше вона займала набагато менше років тому), яку потрібно було б завантажувати раніше ... і без стабільного зв’язку це початкове завантаження ускладнюється.

    Ось посилання на випадок, якщо вам це стане в нагоді: https://wiki.archlinux.org/index.php/archboot

    1.    елав - сказав він

      Цікаво, я його не знала 😀

    2.    Хьюго - сказав він

      Ну, що цікаво, деякий час тому я спробував archboot, і коли я потрапляю до частини pacstrap, він говорить мені, що не може знайти пакет ntfs-3g 🙁

      Він також має інші особливості, наприклад, що він не включає сторінки mc або керівництво, і для встановлення йому потрібно багато оперативної пам'яті. Це не схоже на добре відшліфоване рішення.

  7.   Макс Сталь - сказав він

    Правда полягає в тому, що існує дуже простий спосіб встановити арку в автономному режимі, і мені довелося зробити класичний метод спроб і помилок, щоб встановити її на домашньому ПК (де у мене немає Інтернету).

    Для цього вам, очевидно, потрібен ще один ПК з аркою та підключенням до Інтернету. Просто зробіть спочатку pacman -Syu, а потім pacman -Sw (плюс все, що ви хочете встановити). Скопіюйте всі файли з кешу pacman на флешку usb, а також файли бази даних (/var/lib/pacman/sync/{core.db, extra.db, community.db}.

    Потім перейдіть до звичайної інсталяції арки, але до досягнення точки створення основи pacstrap - d / mnt (або що завгодно, я кажу все з пам’яті>. <) Ви повинні точно відредагувати pacstrap (за допомогою vi або чого завгодно або довести інсталяційний диск) і майже до кінця є рядок, який посилається на "pacman -Syy", ми просто видаляємо його. Після цього ми копіюємо файли бази даних pacman у відповідне їм місце (усі файли .db в / var / lib / pacman / sync), а файли кешу в каталог кешу.

    Тож тепер ми продовжуємо з базою pacstrap -loquenomeaccord / mnt та з усім іншим.

    Все, що я кажу з пам’яті, тому може бути якась деталь, яку я пішов, наприклад файли кешу, я не пам’ятаю, куди вони точно йдуть, але це має бути в / var / cache / pacman / pkg або якщо це неможливо вказати в pacstrap мені здається.

  8.   Леонель - сказав він

    Вони можуть зробити підручник cfdisk з подвійним або потрійним завантаженням 🙁, крім того, що мені потрібно для встановлення arch

    1.    Хьюго - сказав він

      Насправді не так багато можна сказати про cfdisk, оскільки він зовсім не складний, і насправді згаданий вище посібник із встановлення в основному показує, як ним користуватися. Але якщо у вас встановлені інші системи, ви можете використати щось більш дружнє, можливо, Gparted. Для Windows існує безкоштовний інструмент (хоча, на жаль, не безкоштовний) під назвою Easeus Partition Master, яким ви могли б скористатися, схоже, він працює дуже добре.

      В іншому я радий, що вам стаття стала цікавою, я не побачив великої переваги свого досвіду, але Елав заохотив мене підготувати щось про це.