Linux предлагает богатый выбор протоколов, которые вы можете использовать чтобы копировать файлы между компьютерами. Выбор протокола зависит от того, насколько много усилий вы хотите вложить и нуждаетесь ли вы в совместимости с будущими установками Windows. Следующие секции представляют различные методы передачи файлы из и в Linux компьютеры. Убедитесь, что вы имеете работоспособное сетевое соединение, иначе они не будут работать. Все сценарии предполагают работу службы разрешения имен в сети. Если ваша сеть не включает службу имен, используйте непосредственно IP адрес или добавьте IP адреса в соответствии с именами хостов (компьютеров) в /etc/hosts
на всех компьютерах.
Следующий пример IP адресов и имен хостов используется на протяжении всего этого раздела:
Имя хоста назначения |
|
IP адрес назначения |
|
Имя хоста источника |
|
IP адрес источника |
|
Пользователь |
|
Следующие требования должны быть удовлетворены и на сервере, и со стороны клиента:
Если вы используете имена хостов, то убедитесь, что каждое имя фигурирует в
/etc/hosts
на сервере и на клиенте . Если вы используете IP адреса, вам не нужно ничего менять.Если вы используете брандмауэр, откройте порт SSH. Запустите YaST и выберите
+ . Далее и проверьте, отображается ли в списке разрешенных служб. Если нет то, выберите SSH из выпадающего меню и щелкните . Примените ваши изменения и покиньте YaST нажав и затем .
Чтобы копировать файлы с сервера клиенту, вы должны знать, где файлы размещаются на сервере. Например, чтобы копировать единственный файл /srv/foo_file
с сервера jupiter.example.com
в текущий каталог, используйте команду scp (точка указывает на текущий каталог):
scp tux@jupiter.example.com:/srv/foo_file .
Чтобы копировать целый каталог, используйте рекурсивный режим scp:
scp -r tux@jupiter.example.com:/srv/foo_directory .
Если ваша сеть не имеет службы разрешения имен, используйте непосредственно IP адрес сервера:
scp tux@192.168.2.100:/srv/foo_file .
Если вы не знаете точно где находится ваш файл, используйте команду sftp. Копирование файлов в KDE или GNOME с помощью SFTP очень просто. Поступите следующим образом:
Нажмите Alt+F2.
Введите следующее в адресной строке:
sftp://tux@jupiter.example.com
Введите ваш пароль
tux
наjupiter.example.com
.Перетащите ваши файлы или каталоги с сервера на ваш рабочий стол или локальный каталог.
KDE предоставляет другой протокол, называемый fish
, который может быть использован если sftp
недоступен. Использование этого протокола подобно sftp
. Замените префикс протокола sftp
в URL на fish
:
fish://tux@jupiter.example.com
Перед использованием rsync для синхронизации файлов и каталогов между различными компьютерами, убедитесь, что следующие требования удовлетворяются:
Пакет
rsync
установлен.Идентичные пользователи присутствуют на обоих системах.
Доступно достаточное дисковое пространство на сервере.
Если вы хотите извлечь пользу из rsync в полной мере, убедитесь, что демон rsyncd установлен на одной из систем.
rsync полезен для архивирования или копирования данных и так же может быть использован как демон, чтобы предоставить каталоги в сеть (смотрите Расширенная настройка синхронизации с помощью rsync).
Базовый режим работы rsync не требует ни каких специальных конфигураций. rsync позволяет идеально отображать целые каталоги с одной системы на другую. Его использование не сильно отличается от инструмента для регулярного копирования, такого как scp. Следующая команда создает резервную копию домашнего каталога tux
на сервере резервного копирования называемом jupiter
:
rsync -Hbaz -e ssh /home/tux/ tux@jupiter:backup
Используйте следующую команду, чтобы восстановить данные из вашей резервной копии:
rsync -Haz -e ssh tux@jupiter:backup /home/tux/
Запустите демон rsyncd на одной из ваших систем, чтобы использовать rsync полнофункционально. В этом режиме возможно создание точек синхронизации (модулей), которые могут быть доступны без учетных записей. Чтобы использовать демон rsyncd, проделайте следующее:
Процедура 11.1. Расширенная настройка синхронизации с помощью rsync
Войдите как
root
и установите пакетrsync
.Настройте ваши точки синхронизации в
/etc/rsyncd.conf
. Добавьте имя точки в квадратных скобках иpath
ключевое слово, как показано в примере:[FTP] path = /srv/ftp comment = An Example
Запустите демон rsyncd от имени
root
rcrsyncd start. Чтобы автоматически запускать демон rsync во время загрузки системы, вызовите insserv rsyncd.Чтобы получить список всех файлов размещенных в каталоге
/srv/ftp
введите (заметьте: двойное двоеточие):rsync -avz jupiter::FTP
Инициируйте передачу указав целевой каталог (в этом примере текущий каталог представлен точкой):
rsync -avz jupiter::FTP .
По умолчанию, файлы не удаляются в процессе синхронизации. Чтобы форсировать удаление файлов, добавьте опцию --delete
. Чтобы гарантировать, что опция --delete
случайно не удаляет новые файлы, используйте вместо нее опцию --update
. Любые возникающие конфликты должны быть разрешены в ручную.
До использования Unison для синхронизации файлов и папок между разными компьютерами, убедитесь, что выполняются следующие требования:
Установлен пакет
unison
.Есть достаточно свободного места у вас на локальном и удаленном компьютерах.
Если вы хотите воспользоваться Unison в полный потенциал, убедитесь, что Unison установлен и запущен на удаленном компьютере.
В случае необходимости, запустите Unison с опцией -doc topics
для получения полного списка доступных разделов.
Для постоянных настроек, Unison позволяет создать profiles (профили), которые определяют параметры Unison, такие, как директории (корни) для синхронизации, игнорируемые типы файлов и другие настройки. Профили хранятся в виде текстовых файлов в ~/.unison
с расширением *.prf
.
Для синхронизации различных каталогов с помощью Unison's GUI, проделайте следующее:
Запустите Unison нажатием Alt+F2 и введите unison.
Если вы запустили Unison в первый раз и без каких-либо опций, у вас запросят каталог-источник. Введите каталог-источник который вы хотите синхронизировать и нажмите
.Введите каталог назначения. Он может быть локальным или удаленным. Если вы хотите синхронизироваться с удаленным каталогом, выберите метод (SSH, RSH или Socket) и введите и имя хоста и дополнительного пользователя.
Если вы не синхронизировали эти два каталога раньше, появится диалоговое окно с предупреждением, информирующее вас о том, что Unison сравнит содержимое этих каталогов. Закройте предупреждение, нажатием
и ждите пока Unison соберет информацию о каталогах и выведет информацию о различиях в главном окне.В левой колонке показан выбранный каталог источник, в третьей колонке показан каталог назначения. Если существуют различия между каталогами, в колонке
указано условное обозначение, предлагаемых действий. Зеленый стрелка указывает, что файл был изменен, добавлен или удален в папке источнике или папке назначения. Направление стрелки указывает направление изменений которые произойдут, если произвести синхронизацию. Вопросительный знак указывает на конфликт (то есть файлы были изменены и Unison не будет автоматически перезаписывать их).Чтобы изменить показанные Unison предложения для каждого файла (например, если вы захотите изменить каталог), выберите файл и нажмите
или . , исключает файлы из синхронизации. Символ в колонке изменится соответствующим образом.Для запуска синхронизации, нажмите
.
При следующем запуске Unison, будет показано диалоговое окно выбора профилей, с указанием пары каталогов для синхронизации. Выберите профиль или создайте новый (еще пару каталогов) и выполните синхронизацию, как описано выше.
Unison может быть также задействован через командную строку. Для синхронизации локального каталога с удаленным компьютером, проделайте следующее:
Откройте консоль и введите следующую команду:
unison -ui text
DIR
ssh://tux@jupiter.example.com//PATH
Замените метки с соответствующих значений.
Unison спросит, что делать с вашими файлами и каталогами, например:
local jupiter <---- new file dir [f]
Нажмите F если вы хотите следовать рекомендациям Unison. Чтобы увидеть другие команды нажмите ?.
Нажмите y, если вы хотите обновить.
Перед настройкой вашего FTP сервера, убедитесь, что выполняются следующие требования:
Установлен пакет
vsftp
.У вас есть доступ
root
к FTP сервера.Есть достаточно дискового пространства на вашем компьютере.
Только для домашних сетей | |
---|---|
Эти настройки пригодны только для использования в домашних сетях. Не применяйте их к сайтам, которые не защищены брандмауэром и не разрешайте доступ из интернет. |
Чтобы настроить FTP сервер, проделайте следующее:
Подготовка FTP сервера:
Откройте консоль, войдите в систему как
root
и сделайте резервную копию/etc/vsftpd.conf
:cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Создайте точку доступа для анонимного FTP
mkdir ~ftp/incoming chown -R ftp:ftp ~ftp/incoming
Замените файлы конфигурации в соответствии с вашими потребностями (смотрите man-страницу vsftpd.conf об опциях расширенной конфигурации):
- Разрешение анонимного доступа на чтение и запись
# listen=YES # Разрешение анонимного доступа к FTP серверу anonymous_enable=YES # local_enable=YES # Разрешить запись write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES dirmessage_enable=YES # писать лог-файл xferlog_enable=YES connect_from_port_20=YES chown_uploads=YES chown_username=ftp ftpd_banner=Welcome to FTP service. anon_root=/srv/ftp
- Предоставление ограниченных прав для FTP пользователей (только для дома)
chroot_local_users=YES
Перезапустите FTP сервер
rcvsftp start
На клиентской машине, введите адрес ftp://
в вашем браузере или FTP клиенте. Замените HOST
HOST
именем хоста или IP адресом вашего сервера. Для пользователей доступно множество графических интерфейсов, которые подходят для навигации по вашему FTP серверу. Чтобы просмотреть их список, введите FTP в строке поиска менеджера пакетов YaST.