Эквивалент WSL для Linux

Похоже, вы путаете опцию -fGNU mvс опцией -t, которую вы хотите здесь, чтобы переместить несколько источников в одну цель сxargs

   mv [OPTION]... -t DIRECTORY SOURCE...

Обратите внимание, что обычный xargsразбивает ввод на аргументы, разделенные пробелами, поэтому ваша команда будет прервана, если какое-либо из имен файлов содержит пробелы. Также это UUOC .

Итак,

xargs -d'\n' mv -t /root/testing2/moved/ 

-1
10.03.2021, 09:54
2 ответа

В качестве другого варианта на ваших хостах Linux я бы рекомендовал Docker. Как только вы установите Docker , вы сможете быстро развернуть новые «контейнеры» на основе существующих «образов», аналогично тому, что вы делаете с wsl --importи wsl -d <DistroName>с помощью WSL в Windows.

Docker на самом деле выходит далеко за рамки образов ОС, поскольку вы можете с легкостью загружать и запускать множество различных приложений/серверов/языков программирования.

Например:

docker pull opensuse/leap # pulls the latest image from the online Docker repository.
# ^^^ Not strictly necessary since the next command will load it from the repo if it isn't found locally
docker run -td --name opensuse opensuse/leap # Starts a container from the image running in daemon mode with a terminal
docker exec -it opensuse bash # Executes bash inside the running container with an interactive terminal

# Exit bash the image (CTRL+D)

# Cleanup
docker stop opensuse # Stops the container
docker rm opensuse # Removes the container
docker rmi opensuse/leap # Removes the image

Одна вещь, о которой вы должны хорошо знать, это то, что сами эти контейнеры всегда эфемерны. Любые изменения, внесенные в контейнер или созданные в нем файлы , будут потеряны при остановке контейнера. Чтобы сохранить конфигурацию, вы создаете Dockerfiles. Чтобы сохранить файлы, вы монтируете внешний том (, который может быть каталогом на вашем хосте )при запуске контейнера.

Определенно, чтобы разобраться в параметрах Docker, необходимых для вашего конкретного случая использования -, требуется некоторое обучение, но как только вы освоите основы (, такие как приведенные выше команды ), очень легко попробовать разные изображения легко.

Бонус -Вы можете установить Docker в экземпляр WSL2 и получить там те же преимущества. Вы найдете много образов Docker для вещей, которые вы просто не можете загрузить даже с помощью WSL.

1
18.03.2021, 22:26

Теперь, когда я понимаю, вы ищете не подсистему Linux для Windows , а скорее способ запустить несколько гостевых ОС Linux на хосте Linux. Это можно сделать несколькими способами, включая :виртуальные машины, контейнеры, chroot

Вы указали, что не любите виртуальные машины, и я не очень разбираюсь в контейнерах, но вот как выполнить chroot:

Когда вы используете chroot, вы меняете свой корневой каталог на другой каталог в вашей хост-системе. Так ты ты chroot /var/chroot/ubuntu, то /var/chroot/ubuntu/binстанет твоим новым /bin. Это означает, что когда вы запускаете /bin/bash, вы используете версию bash для Ubuntu. Если вы запускаете /usr/bin/apt install <package>, вы устанавливаете версию Ubuntu в этот chroot.

Для большинства дистрибутивов можно настроить chroot. Различные дистрибутивы имеют разные способы настройки, поэтому вам необходимо обратиться к документации для интересующего вас дистрибутива. Для дистрибутивов на базе Debian -я использую debootstrapдля установки подобных систем:

debootstrap buster /var/chroot/buster http://ftp.debian.org/debian
debootstrap wheezy /var/chroot/wheezy http://archive.debian.org/debian
debootstrap hardy /var/chroot/hardy http://archive.ubuntu.com/ubuntu/
debootstrap kali-rolling /var/chroot/kali http://http.kali.org/kali

Более полная информация здесь:https://wiki.debian.org/chroot

2
18.03.2021, 22:26

Теги

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