Tùy chỉnh một RepairDisk: Con đường dẫn đến LFS

Đã có nhiều lần chúng tôi phải sửa chữa hệ thống từ LiveCD, và tại một số thời điểm trong quá trình này, chúng tôi nhận thấy mình thiếu một công cụ và khi chúng tôi muốn cài đặt nó, Hệ điều hành LiveCD cho chúng tôi biết rằng nó đã hết dung lượng. và tỏi và nước (để loại bỏ và giữ lại).

Vấn đề này đã thực sự đến với tôi vì đi vào LFS (LinuxTừ đầu), là hướng dẫn (KHÔNG PHẢI là bản phân phối) để cài đặt Linux tùy chỉnh. Điểm mấu chốt của sự "phân phối" này là từ bất kỳ LiveCD nào và với các công cụ thích hợp, bạn tải xuống mã nhân và các công cụ khác để xây dựng hệ thống của riêng bạn (biên dịch mọi thứ từng chút một). Nếu bạn muốn làm theo hướng dẫn từng bước, bạn cần một số công cụ và trình biên dịch, và không có liveCD với mọi thứ, vì vậy bạn phải tùy chỉnh một.

Hãy làm nó. Chúng tôi sẽ sử dụng SystemRescueCD, cung cấp một môi trường dựa trên Gentoo khá toàn diện.

Trong ví dụ của chúng tôi (cài đặt Linux từ đầu sau cuốn sách Linux From Scratch), chúng tôi thiếu chương trình Bison và Makeinfo, vì vậy chúng tôi sẽ tạo một ảnh ISO mới của đĩa này nhưng với các công cụ mới.

LƯU Ý: Gentoo là bản phân phối biên dịch trên trang web tất cả các gói được cài đặt, do đó quá trình thêm và cập nhật chương trình chậm.

Mặc dù trình quản lý gói được sử dụng (như apt-get của Debian), thay vì tải xuống các gói, mã nguồn được tải xuống để biên dịch trên máy của bạn.

Đối với quá trình này, bạn sẽ cần một phân vùng Linux (ví dụ: ext4) với ít nhất 1.5G trống, mặc dù khuyến nghị nhiều hơn. Nếu bạn không muốn loay hoay với các phân vùng của mình, hãy sử dụng máy ảo. Tất nhiên, chúng tôi khuyên rằng phân vùng có vài GB vì trong quá trình biên dịch, cài đặt, đồng bộ hóa kho ... cần có dung lượng tạm thời; Tôi khuyên bạn nên sử dụng phân vùng hoán đổi 8G + 2G (với 4G + 1G thì đủ, nhưng vì vậy chúng tôi có thể đảm bảo với bạn, nếu thiếu RAM / swap thì quá trình sẽ còn chậm hơn).

Giả sử bạn đã tạo một máy ảo với đĩa 10G, bạn khởi động nó bằng cách yêu cầu nó khởi động từ SystemRescueCd mới tải xuống. Khi bên trong, chúng tôi phân vùng bằng fdisk (nếu bạn đã bắt đầu phiên đồ họa, bạn có thể thực hiện với gparted, nhưng mục đích của bài đăng này là dạy cách sử dụng các công cụ cơ bản). fdisk là một lệnh tương tác:

  • với tùy chọn "n", chúng tôi tạo một phân vùng mới
  • với tùy chọn "t", chúng tôi thay đổi loại hệ thống tệp sẽ đi trong phân vùng
  • với tùy chọn «w» chúng tôi ghi vào đĩa
  • với tùy chọn «q», chúng tôi rời đi mà không viết các thay đổi

Khi chúng tôi sử dụng tùy chọn "n", nó sẽ cung cấp cho chúng tôi một số tùy chọn, mọi lúc chúng tôi sẽ sử dụng mặc định, ngoại trừ khi thiết lập khu vực cuối cùng trong phân vùng đầu tiên, mà chúng tôi sẽ phải viết "+ 8G", do đó cho biết chương trình rằng chúng tôi muốn phân vùng của mình. chiếm 8GB.

Khi tạo phân vùng thứ hai, chúng tôi sẽ sử dụng các tùy chọn mặc định vì phần còn lại của không gian sẽ bị chiếm dụng. Ngoài ra, để cho fdisk biết rằng phân vùng thứ hai sẽ là kiểu hoán đổi, hãy sử dụng tùy chọn "t" (mã hexcode cho hoán đổi là 82). Giao diện trông như thế này:

% fdisk / dev / sda Lệnh (m để được trợ giúp):

Khi mọi thứ đã hoàn tất, chúng tôi sử dụng tùy chọn "w" để ghi các thay đổi vào đĩa và thoát.
Bây giờ là lúc để định dạng các phân vùng. Chúng tôi sẽ bắt đầu với hoán đổi để sử dụng nó ngay lập tức:

% mkswap / dev / sda2% swapon / dev / sda2

Chúng tôi đã định dạng phân vùng hoán đổi và với lệnh hoán đổi chúng tôi đã bắt đầu sử dụng nó. Bây giờ chúng ta định dạng phân vùng đầu tiên trong ext4:

% mkfs.ext4 /dev/sda1

Chúng ta có thể bắt đầu làm theo các bước được mô tả trong http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, ở đây tôi dịch / mô tả chúng với chú thích kỳ quặc.

Chúng tôi gắn phân vùng vào vị trí của nó (LiveCD đã được chuẩn bị sẵn với một thư mục / mnt / custom nơi phân vùng mà chúng tôi sẽ thực hiện các thay đổi thích hợp phải được gắn kết). Ngoài ra sau khi mount, chúng ta sẽ phải giải nén các tập tin từ đĩa, điều này đạt được với một script đã được chuẩn bị sẵn. Tập lệnh sẽ mất một khoảng thời gian (vì nó chiếm hàng trăm MB bộ nhớ), nếu bạn muốn kiểm tra xem nó có thực sự hoạt động hay không, hãy chuyển đến một thiết bị đầu cuối khác (với Alt + F4 chẳng hạn) và thực hiện df-h.

% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom extract

Nếu bây giờ bạn điều hướng trong / mnt / custom / customcd, bạn sẽ thấy một số thư mục. Trong / mnt / custom / customcd / files hệ thống tập tin gốc được tìm thấy. Bây giờ đã đến lúc khởi động hệ thống mới trong tương lai. Ở đây tôi sẽ đặt các lệnh, để biết thêm thông tin về chroot, bạn có thể xem hướng dẫn này tôi đã viết một tháng trước

% mount -o bind / proc / mnt / custom / customcd / files / proc% mount -o bind / dev / mnt / custom / customcd / files / dev% mount -o bind / sys / mnt / custom / customcd / files / sys% chroot / mnt / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

Chúng tôi đã có trong hệ thống chroot, đây sẽ là hệ thống LiveCD khi chúng ta khởi động nó. Chúng tôi sẽ cài đặt các gói còn thiếu (bison và texinfo) bằng lệnh xuất hiện (người xử lý bưu kiện của Phí vận chuyển từ gentoo).

Đầu tiên, chúng tôi đồng bộ hóa cây portage (tương đương với apt-get update)
# emerge-webrsync LƯU Ý: chúng tôi sử dụng lệnh này thay vì "floatge –sync" vì nó nhanh hơn, vì nó tải xuống gói tar từ web. Bước này là cần thiết, vì nếu bạn không xuất hiện, nó sẽ tự động xuất hiện –sync, làm chậm nó.

Sau khi đồng bộ hóa portage tree, chúng ta có thể tiến hành cài đặt các gói:

# nổi lên sys-devel / bò rừng # nổi lên sys-devel / texinfo
bison sẽ mất một lúc để biên dịch, hãy kiên nhẫn

Chúng tôi để lại chroot:# exit

Chúng tôi ngắt kết nối "/ proc" để các gói cài đặt mới được lưu trữ trong các bí quyết. Chúng tôi cũng ngắt kết nối "/ dev" và "/ sys" để sau này không quên
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

Vì chúng tôi đã chuẩn bị sẵn hệ thống tệp bí ẩn mới, chúng tôi tạo nó bằng lệnh sau
% /usr/sbin/sysresccd-custom squashfs
Nếu chúng ta muốn thêm một tệp trong ảnh ISO nhưng chúng ta muốn nó nằm ngoài các bí quyết, chúng ta phải đặt nó trong thư mục «/ mnt / custom / customcd / isoroot»

% cp -a my-files /mnt/custom/customcd/isoroot

Tại thời điểm này, hướng dẫn chính thức cho bạn biết rằng bạn có thể đặt sơ đồ bàn phím để khởi động bằng bàn phím mặc định (ví dụ: "es" cho bàn phím tiếng Tây Ban Nha). Nhưng thực hiện một số bài kiểm tra, tập lệnh mà họ sử dụng cho tôi không hoạt động và nó dẫn đến lỗi khi tải hạt nhân, vì vậy tôi sẽ bỏ qua bước này.

Khoảnh khắc vinh quang đã đến, giờ đây chúng tôi có thể tạo ảnh ISO mới với hệ thống tùy chỉnh của mình!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" là tên mà chúng tôi đặt cho tập, bạn có thể gọi nó là gì bạn muốn. Hình ảnh được lưu trong «/ mnt / custom / customcd / isofile», ngoài ra một tệp .md5 cũng được tạo 🙂

Nếu bạn đang làm việc trên một đĩa ảo, bước quan trọng vẫn là: trích xuất ảnh ISO của hệ thống ảo. Có một số cách để làm điều đó, tôi sẽ giải thích một cách đơn giản (trong VirtualBox) để tránh phải cài đặt "bổ sung khách" hoặc bất cứ điều gì tương tự.
Chúng tôi sẽ sử dụng máy khách để lấy tệp qua đường hầm ssh. Để làm điều này, trước tiên chúng ta phải cấu hình hệ thống khách bằng mật khẩu gốc. Máy chủ ssh tự động khởi động, chúng tôi vẫn khởi động lại nó để đề phòng.
% passwd
% /etc/init.d/sshd restart

Chúng ta phải định cấu hình chuyển tiếp cổng của máy ảo. Trong VirtualBox, nó được thực hiện như sau:

  1. Bạn truy cập cấu hình máy ảo
  2. Trong phần mạng, bạn đã định cấu hình bộ điều hợp trong NAT
  3. Tìm kiếm tùy chọn chuyển tiếp cổng
  4. Bạn thêm quy tắc mới, với các tham số duy nhất "cổng máy chủ" và "cổng khách"
  5. máy chủ = 3022 và khách = 22

Với điều này, chúng tôi đã đạt được rằng cổng 3022 của PC là 22 của máy ảo. Chúng tôi khởi động ứng dụng khách Filezilla:

  1. Trong tham số máy chủ, chúng tôi viết: sftp: // localhost
  2. Trong tham số tên người dùng, chúng tôi viết: root
  3. Trong tham số mật khẩu, chúng tôi đặt một tham số chúng tôi sử dụng trong «passwd»
  4. Trong tham số cổng chúng ta viết: 3022
  5. Nhấp vào «Kết nối nhanh»

Nếu mọi thứ diễn ra tốt đẹp ở bên trái, chúng tôi có thể điều hướng trên PC và sang bên phải trong máy ảo. Chỉ cần truy cập (trong máy ảo) thư mục «/ mnt / custom / customcd / isofile» và kéo ảnh ISO đến vị trí chúng ta muốn trên PC là đủ.

!! Xin chúc mừng!! Nếu mọi thứ diễn ra tốt đẹp, bạn đã có sẵn ảnh ISO với SystemRescueCD được tùy chỉnh và sẵn sàng khởi động từ CD, USB ...


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Leo dijo

    Thật là một hướng dẫn tốt, hơi phức tạp nhưng rất hữu ích.
    Đóng góp tốt.

  2.   Leper_Ivan dijo

    Sau đó, với một ít thời gian hơn, và không có quá nhiều khó chịu ở mắt, tôi sẽ đọc nó một cách kỹ lưỡng. Nó có vẻ rất hữu ích và thú vị.

  3.   carlos sanchez dijo

    Xin chào woqer, bài viết rất hay!

    Tôi đã làm việc với LFS trong một số năm và tôi đã tạo ra iso của riêng mình có thể phục vụ bạn, nó có mọi thứ bạn cần để biên dịch vì nó là một LFS. 😀 Tôi hy vọng nó hữu ích cho bạn

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso