Skip to content

Scientific Linux

Sections
Personal tools
You are here: Home » Документация » FAQ » Технические вопросы

Технические вопросы

Document Actions
Технические вопросы, относящиеся к Scientific Linux

В. Когда я пытаюсь прочесть 12Gb файл из C в мой Linux бокс, то это не удается, поскольку размер файла превышает 2Gb. Как я могу прочесть этот файл?

О1. Быстрая тестовая программа показывает, что простое выполнение read(2) на 6 Gb файле работает достаточно хорошо. Но если вам необходимо найти его, используйте __llseek(2), поскольку lseek(2) может адресовать только 2 Gb. Для того чтобы использовать stdio функции, вам необходимо определить некоторые флаги компилятора, как обсуждается ниже.

О2. Это ограничение вызовов libc. Вам необходимо использовать версии/флаги для больших форматов, при открытии, закрытии, чтении etc, когда вы компилируете программу. Это обсуждается на веб-странице Large File Programming.
Пример:
gcc -o bonnie_large -DHAVE_LARGEFILE_SUPPORT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE bonnie_large.c

Если во время инсталляции, основанной на kickstart, я монтирую NFS область с использованием %post, мои передачи очень медленные. Какие опции монтирования следует задать, чтобы увеличить скорости?

О1. Во время инсталляции вы можете перейти на текстовый экран с приглашением bash, нажав ctrl-alt-f2. Наберите "mount", чтобы увидеть, с какими опциями /mnt/source было выполнено монтирование.

О2. Вот что я передал опции -o в команде mount: ro,nolock,vers=3,rsize=32768,wsize=32768,hard,udp

В. Можно ли настроить собственный yum repo? Я хотел бы создать на моем NFS сервере комбинацию стандартного Scientific Linux repo и  локальных  пакетов rpm.

О. Да, это можно сделать, причем довольно просто.

  1. На сервере NFS создайте для этих целей специальный каталог. В нашем примере /export/localrepo           
  2. На сервере NFS  убедитесь, что createrepo установлен
    yum install createrepo
  3. На сервере NFS скопируйте все ваши пакеты rpm в этот каталог. Это может быть фактически каталог внутри этого каталога. Можно также сделать линки на пакеты rpm, но так, чтобы эти линки были видны клиентам при монтировании nfs. Возможно, будет проще создать правильное содержимое и затем поместить его в каталог.
  4. На сервере NFS создайте заголовки yum для этого каталога
    (Для клиентов S.L. 3.0.x) yum-arch -l /export/localrepo
    (Для клиентов S.L. 4.x) createrepo /export/localrepo
  5. На этом установки на сервере заканчиваются                                                                                                
  6. На клиенте подмонтируйте каталог nfs. В нашем примере монтируем в каталог /mnt/repo
    mount myserver:/export/localrepo /mnt/repo
  7. На клиенте поместите local repo в файл конфигурации yum. Для этого
    • в  S.L. 3.0.x поместите в конец файла /etc/yum.conf следующую запись
      [localrepo]
      name=local repo
      baseurl=file:///mnt/repo/
    • в S.L. 4.x создайте файл /etc/yum.repos.d/local.repo, содержащий следующую запись
      [localrepo]
      name=local repo
      baseurl=file:///mnt/repo/
      enabled=1
  8. На клиенте просто используйте yum, как вы это делаете всегда
    yum update, yum list, yum install ...


Last modified 2006-12-05
 

Powered by Plone

This site conforms to the following standards: