Установка инструментов

В GNU/Linux вы можете скачать и установить программу одной командой (что в Windows может быть сложно). Это обеспечивается менеджером пакетов. У разных дистрибутивов GNU/Linux разные менеджеры пакетов. В Ubuntu менеджер пакетов называется apt.

Вы скачаете и установите некоторые инструменты, нужные для PA, с сетевых зеркал. Перед использованием сетевых зеркал проверьте, есть ли у системы доступ в интернет.

Проверка состояния сети

Внутри NJU вы должны без труда получить адрес IPv6. Чтобы это проверить, попробуйте пропинговать хост зеркала с поддержкой IPv6:

ping mirrors.tuna.tsinghua.edu.cn -c 4

Вы должны успешно получить пакеты ответа:

PING mirrors.tuna.tsinghua.edu.cn(2402:f000:1:408:8100::1 (2402:f000:1:408:8100::1)) 56 bytes of data.
64 bytes from 2402:f000:1:408:8100::1 (2402:f000:1:408:8100::1): icmp_seq=1 ttl=54 time=1.56 ms
64 bytes from 2402:f000:1:408:8100::1 (2402:f000:1:408:8100::1): icmp_seq=2 ttl=54 time=1.07 ms
64 bytes from 2402:f000:1:408:8100::1 (2402:f000:1:408:8100::1): icmp_seq=3 ttl=54 time=1.07 ms
64 bytes from 2402:f000:1:408:8100::1 (2402:f000:1:408:8100::1): icmp_seq=4 ttl=54 time=1.24 ms

--- mirrors.tuna.tsinghua.edu.cn ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 1.071/1.237/1.563/0.203 ms

Если у вас нет адреса IPv6, вы можете выходить в интернет по адресу IPv4. Можете попробовать пропинговать хост вне университетской LAN:

ping www.baidu.com -c 4

Если вы успешно пингуете Baidu, вы должны успешно пропинговать и хост зеркала выше.

Настройка файла источников APT

Если ваша система не Ubuntu 22.04, смените источник на подходящий

Использование источника, который не соответствует вашей системе, приведёт к конфликту версий набора инструментов, а принудительная установка повредит систему. Если вы используете систему, отличную от Ubuntu 22.04, не используйте следующие источники: вам нужно найти подходящие источники и заменить их.

Выполните следующие команды, чтобы обновить файл источников APT:

bash -c 'echo "deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse" > /etc/apt/sources.list'

Однако вы получите сообщение об ошибке:

bash: /etc/apt/sources.list: Permission denied

Это потому, что файл источников APT принадлежит root, и у вас нет права его изменять.

Одно решение — сначала переключиться на учётную запись root. Но чтобы избежать переключения, альтернативный способ — использовать sudo. Если операция требует прав суперпользователя, добавьте sudo перед этой операцией. Перед использованием sudo нужно добавить вашу учётную запись в группу sudo. Но сначала всё равно нужно переключиться на учётную запись root.

su -
Password:

Введите пароль root, который вы задали при установке. Заметьте, что пароль не отображается в терминале, чтобы избежать утечки пароля. Если пароль верный, вы увидите, что приглашение изменилось:

root@hostname:/home/username#

Последний символ — #, а не $, как до выполнения su -. # — признак учётной записи root. Теперь вы можете добавить свою учётную запись в группу sudo.

adduser username sudo  # Замените `username` на ваше имя пользователя
exit

Чтобы изменения вступили в силу, выйдите из сеанса или перезагрузитесь. После этого попробуйте

whoami
sudo whoami

Если вы запускаете sudo впервые, введите пароль своей учётной записи. Вы должны обнаружить, что sudo whoami выведет root.

Теперь вы можете использовать sudo, чтобы изменить файл источников APT. На этот раз изменение должно пройти успешно. Чтобы это проверить, можете вывести файл:

cat /etc/apt/sources.list

Вы должны увидеть, что он действительно выводит строку, которую вы только что передали в echo.

Обновление информации о пакетах APT

Теперь вы можете указать apt получить информацию о ПО из источников:

apt-get update

Однако вы получите сообщение об ошибке:

E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/

Это потому, что для запуска apt-get нужны права суперпользователя. Выполните команду с правами суперпользователя. Поскольку требуется доступ в интернет, это может занять некоторое время.

Проблемы Unmet dependencies

Если при запуске apt-get update вы видите проблемы Unmet dependencies, попробуйте заменить источники Ali выше на источники Tsinghua:

bash -c 'echo "deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse" > /etc/apt/sources.list'

Затем снова выполните apt-get update.

Если проблема сохраняется, поищите в интернете и смените источник на другой.

Установка инструментов для PA

Следующие инструменты необходимы для PA:

apt-get install build-essential    # пакеты build-essential, включают binary utilities, gcc, make и так далее
apt-get install man                # онлайн-справочное руководство
apt-get install gcc-doc            # онлайн-справочное руководство для gcc
apt-get install gdb                # отладчик GNU
apt-get install git                # система контроля версий
apt-get install libreadline-dev    # библиотека, которая понадобится позже
apt-get install libsdl2-dev        # библиотека, которая понадобится позже
apt-get install llvm llvm-dev      # проект llvm, который содержит библиотеки, которые понадобятся позже
apt-get install llvm-11 llvm-11-dev # только для ubuntu20.04

Использование этих инструментов объясняется позже.

Установка китайского метода ввода

Ищите в интернете, как установить китайский метод ввода в Ubuntu.