Узнайте который метод кодирования меньше использования для отображения содержания текстового файла?

[119247] Это не очень безопасно, потому что разные операционные системы могут делать разные вещи с домашним каталогом пользователей. Если нужно, то лучше использовать обычного пользователя...идентификации где-нибудь, чтобы избежать проблем с uid/gid.

Вероятно, лучше разместить пользовательский каталог на общей системе nfs, а затем использовать autofs для его автоматического монтирования внутри домашнего каталога пользователей каждой операционной системы.[119250]

1
15.01.2015, 20:24
2 ответа

Решение:

Я установил все эти 32-битные пакеты:

yum -y install glibc.i686  libstdc++.i686 libXrender-0.9.8-2.1.el7.i686 alsa-lib-1.0.27.2-3.el7.i686 dbus-glib-0.100-7.el7.i686 gtk2.i686 libXt-1.1.4-6.1.el7.i686

Я изменил пакет gtk2-2.24.22-5.el7.i686 на gtk2.i686, чтобы не получить эту ошибку конфликтующих lib.

Ответ Кристиана Бока: Я думаю, что это может решить и вопрос установки thunderbird 31.4 на CentOS7, но только эти пакеты здесь необходимы для запуска thunderbird.

Комментарий Кристиана Бока; также помогает решить эту проблему, увидев, какой пакет предоставляет библиотека:

yum whatprovides libraryName 
-121--202651-

Я задаю $ MYSHELL для будущих тестов в моей оболочке-агностике ~/.aliases :

unset MYSHELL
if [ -n "$ZSH_VERSION" ] && type zstyle >/dev/null 2>&1; then        # zsh
  MYSHELL=`command -v zsh`
elif [ -x "$BASH" ] && shopt -q >/dev/null 2>&1; then                # bash
  MYSHELL=`command -v bash`
elif [ -x "$shell" ] && which setenv |grep builtin >/dev/null; then  # tcsh
  echo "DANGER: this script is likely not compatible with C shells!"
  sleep 5
  setenv MYSHELL "$shell"
fi

# verify
if [ ! -x "$MYSHELL" ]; then
  MYSHELL=`command -v "$(ps $$ |awk 'NR == 2 { print $NF }')"`
  [ -x "$MYSHELL" ] || MYSHELL="${SHELL:-/bin/sh}"  # default if verify fails
fi

Раздел tcsh , вероятно, не подходит для развертывания в POSIX-стиле (Для одного из них оболочки csh -стиля не могут выполнять 2 >/dev/null или > & 2 , как отмечено в известном программировании Csh, считающемся вредным ранцем.)

-121--5908-

Исполняемый файл less сам не выполняет преобразования кодировки: он отправляет печатаемые символы непосредственно на терминал. То, что рассматривается как печатаемое, управляется переменной среды LESSCHARSET (для получения подробной информации см. справочную страницу), но в целом это не требуется. Так, в основном кодировка получается из языковых стандартов (кроме с определенными настройками).

Входные данные могут быть отфильтрованы, в частности, для выполнения преобразования, если набор переменная среды LESSOPEN . Соответствующий фильтр может указать, выполнил ли он какое-то преобразование; вот что делает, например, lesspipe Вольфганга Фрибеля.

Для получения кодировки можно использовать утилиту file . Например:

$ file my_file.txt
my_file.txt: UTF-8 Unicode text

Это, вероятно, лучше, чем полагаться на меньше .

6
27.01.2020, 23:12

Я задаю $ MYSHELL для будущих тестов в моем shell-agnostic ~/.aliases :

unset MYSHELL
if [ -n "$ZSH_VERSION" ] && type zstyle >/dev/null 2>&1; then        # zsh
  MYSHELL=`command -v zsh`
elif [ -x "$BASH" ] && shopt -q >/dev/null 2>&1; then                # bash
  MYSHELL=`command -v bash`
elif [ -x "$shell" ] && which setenv |grep builtin >/dev/null; then  # tcsh
  echo "DANGER: this script is likely not compatible with C shells!"
  sleep 5
  setenv MYSHELL "$shell"
fi

# verify
if [ ! -x "$MYSHELL" ]; then
  MYSHELL=`command -v "$(ps $$ |awk 'NR == 2 { print $NF }')"`
  [ -x "$MYSHELL" ] || MYSHELL="${SHELL:-/bin/sh}"  # default if verify fails
fi

Раздел tcsh , скорее всего, неразумно закатывать в сценарий в стиле POSIX, поскольку он так радикально отличается (таким образом предупреждение и пятисекундная пауза). (Для одного из них оболочки csh -стиля не могут выполнять 2 >/dev/null или > & 2 , как отмечено в известном программировании Csh, считающемся вредным ранцем.)

-121--5908-

Гилшем в основном ответил на ваш вопрос, пока вы используете VirtityBox.

Чтобы ввести его здесь:

  1. Найдите идентификатор диска и абсолютный путь:

В Linux проверьте/dev/sd * или через раздел или GParted

В Windows откройте диспетчер жестких дисков [Win + R «mmc» - > добавьте «управление диском »/или« управление компьютером »и откройте« управление диском »]

  1. создайте vmdc VBoxManage internalcommands createrawvmdk -filename yureMachineNamePath.vmdk -rawdisk < абсолютный путь к диску >
  2. может потребоваться использовать sudo

  3. для создания виртуальной машины в VirtureBox или добавления нового файла связи в качестве файла места хранения в существующую виртуальную машину

    • Подумайте: Windows Vista/7/8 может сильно разозлиться, и вам придется повторно активировать ее каждый раз, когда вы переключаете ее на виртуальную машину и с нее, потому что подпись HW изменится, и Windows действительно, действительно не нравится это.
    • Что касается linux систем: В зависимости от настроек загрузчика, может потребоваться переустановить/исправить графический интерфейс пользователя и некоторые другие вещи.

      • Например: У меня возникли проблемы с установкой Oracle Linux на сервер в целях тестирования. Оптический диск был неисправен, нет сети и это не так просто создать Live Oracle Linux USB диск. Так что я сделал Persistent Ubuntu, добавил VirtureBox и Oracle Linux ISO, установил Oracle Linux через VirtureBox и после загрузки в систему мне пришлось переустановить Gnome2, потому что по какой-то причине это не сработает.

Дополнительные примечания:

  • Если вы хотите иметь два или более разделов на USB-накопителе, то перед началом всего процесса подготовить разделы [например: GParted]. Поскольку речь идет о USB с несколькими разделами, параметр для VBoxManage createrawvmdk будет/dev/sd? # где? является a/b/c/... вашего устройства и # - номер раздела. Я предлагаю форматировать другой раздел в NTFS. Большинство linux distros не имеют проблем CRUDing NTFS и имеет поддержку больших файлов.

  • Если вы хотите создать этот live-usb через какого-нибудь создателя Live USB, то убедитесь, что целью является именно тот раздел, на котором вы хотите иметь данные, а затем создайте раздел передачи данных. Во избежание проблем оставьте место между разделами. Я обычно использую 1 МБ. Я знаю, что это много, но на > 4 ГБ USB-накопителя это не имеет значения, и я на самом деле не должен беспокоиться, при применении этого процесса под Win, о перекрывающихся разделов [была эта проблема дважды в моей жизни, и я никогда не хочу иметь его снова]

-121--244587-

меньше будет использовать UTF-8 в большинстве современных систем. От человек меньше :

 Если ни LESSCHARSET, ни LESSCHARDEF не набора, но любой из последовательностей
«UTF-8,» «UTF8,» «utf-8» или «utf8» находится в LC_ALL, LC_CTYPE или
переменные среды LANG, то набор символов по умолчанию - utf-8.

Если эта последовательность не найдена, но система поддерживает setlocale
, меньше будет использовать setlocale для определения набора символов.
setlocale управляется настройкой среды LANG или LC_CTYPE
переменные.

Наконец, если интерфейс setlocale также недоступен, по умолчанию
набор символов latin1.

Чтобы убедиться в том, что меньше работает этот путь создайте файл со следующим содержимым:

usesunâà

Распечатайте его с меньше . Если все символы отображаются правильно, это означает, что LANG содержит UTF-8. Просмотрите его с помощью команды locale или напечатайте переменную $ LANG . Теперь измените языковой стандарт на что-то без UTF-8 имени, для Пример

$ export LANG=en_US

Повторите печать этого файла. Символы Юникода не должны быть напечатаны правильно.

Я также использую Emacs и помню некоторые ситуации, когда он не мог отобразить файлы правильно, но меньше мог.

2
27.01.2020, 23:12

Теги

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