Переносити файли та змінювати розміри розділу автоматично?


1

Я перебуваю в трохи незвичайної ситуації. Нещодавно я працював над переходом від debian до arch, і я отримав свій домашній розділ для обох, вказуючи на той самий розділ (різні імена користувачів, так що це не проблема).

Що я хочу зробити, це одна з двох речей:

  1. Налаштуйте користувача на арку з таким самим іменем користувача та групою, як debian, і маєте все, що потрібно для роботи! АБО
  2. Перемістити файли Я хотів би поділити між домашніми папками їх власний розділ і змонтувати його за допомогою fstab.

Для другого, у мене є близько 150 Гб файлів, які потрібно перенести на свій розділ, і у мене є близько 15 ГБ вільного місця на моєму домашньому розділі. Отже, що я хочу зробити, це як-небудь зробити 10gb ext4 розділ, перемістити 10gb-іш файлів, розширити розділ знову, перемістити файли знову і т.д.

Я можу зробити це вручну, але було б легше, якби я міг сказати: "Перемістіть 10 ГБ-файлів звідси в туди, а потім змініть розмір і повторіть, поки я не вийду з файлів".

Це можливо?

Відповіді:


3

Файли даних і конфігурації в каталогах / home / слід бути агностиком розподілу, оскільки він пов'язаний з додатками, а не з ОС. Деякі дистрибутиви можуть налаштувати їхню версію програм для використання різних назв папок /home/rob наприклад, але вам не потрібно робити більше, ніж перейменувати папку або символічну посилання, щоб вона відповідала очікуваному програмі.

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

Перше, що потрібно зробити, це розробити UID користувача debian, і переконайтеся, що це те саме на арці. UID - це "справжній" ідентифікатор користувача, до якого ви входите, це лише людське представлення uid. Давайте скажемо, що ваш користувач арки є "грабувати", і домашній директор грабувати /home/rob:

 $ ls -alnd /home/rob
 drwxr-xr-x 94 1000 1000 12288 Jul  3 21:36 /home/rob

Uid і gid (ідентифікатор групи) є стовпцями третього і четвертого. Отже, ця папка належить uid 1000 і gid 1000. На стороні debian це відповідає ім'я користувача та ім'я групи, з яким ви знайомі в passwd:

$ grep 1000 /etc/passwd
rob:x:1000:1000:,,,,:/home/rob:/bin/bash
$ grep 1000 /etc/group
rob:x:1000:

Таким чином, ви можете побачити назву групи також "грабувати" в цьому випадку. Це вибір дистрибутива - деякі за замовчуванням створюють користувачів з основною групою з тим же ім'ям, а деякі створюють users групи (часто gid 100) і зробити це первинним. З точки зору сортування, це не має великого значення, особливо якщо ви єдиний користувач.

Я не пам'ятаю, що робить арка, але я припускаю, що вона створює users група з gid 100.

Тому нам просто потрібно створити нового користувача robі вкажіть на папку та переконайтеся, що він налаштований з правильним uid:

$ adduser --home /home/rob --uid 1000 --no-create-home --gid 100 rob

Або якщо ви бажаєте створити групу для роботи, виконайте такі дії:

$ adduser --group --gid 1000 rob

Потім

$ adduser --home /home/rob --uid 1000 --no-create-home --gid 1000 rob

Тепер встановіть пароль для облікового запису rob

$ passwd rob

І увійти, і він повинен мати доступ так само, як це було на арку.


ls -іл. Debian впевнено використовує ім'я користувача, як ім'я групи, і має його як gid 1000, а арка використовує загальну групу "користувачів" на 100. Просто зробіть uid і gid матч, і це повинно бути нормально зі мною! Буде спробувати це пізніше, коли я завантажуватися в арку, щоб встановити речі.
Rob

Дуже добре працювали. man usermod і man groupmod були великими допомогами. Я змінив uid оригінального рахунку на 1001, зробив новий з правильними налаштуваннями, і увійшов, і він не працював! О ні! Але я забув, що він вказував на домашню папку оригінального користувача на деякі речі на завантаженні, і як тільки я змінив, що все було краще
Rob

1

Варіант №1 має хороші шанси працювати. Вам просто потрібно зробити uid і gid відповідність. Використовуйте groupadd -g і useradd -u щоб додати їх до бази даних користувачів з вибраними вручну uid та gid, які відповідають вказаним у Debian id -a

find /home -printf 'user %u %U\ngroup %g %G\n' | sort -u

Сподіваємося, що список просто містить вхідні файли та gids для ваших непривілейованих облікових записів користувачів, а ті з іншої системи повідомляються або з іменами corrent, або з числами без назви. Якщо один і той самий uid або gid двічі відображається у списку з двома різними іменами, все складніше.

Для тих, про які повідомляється без імен, використовуйте groupadd -g gid group і useradd -u uid -g gid username створювати записи бази даних користувачів, надаючи їм їх імена. Потім запустіть passwd username , щоб встановити пароль для створеного користувачем.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.