- Parabola GNU/Linux-libre
- Скачать
- Parabola GNU/Linux-libre
- A fully free, simple, and lightweight operating system
- Latest News
- TalkingParabola merged in main ISO and installation medium with installer
- [From Arch] Sorting out old password hashes
- [From Arch 32] plasma-workspace needs manual intervention
- =5.9-1 update requires manual intervention»>[From Arch] libtraceevent>=5.9-1 update requires manual intervention
- =9.53.2-2 and ghostxps>=9.53.2-2 updates require manual intervention»>[From Arch] ghostpcl>=9.53.2-2 and ghostxps>=9.53.2-2 updates require manual intervention
- Parabola GNU/Linux-libre
- 1 What is Parabola?
- 1.1 General documentation
- 1.2 FAQ
- 2 How to help
- Parabola GNU/Linux-libre
- Contents
- 1 Download
- 2 Blind and visually impaired users
- 3 Creating the install media
- 3.1 Writing a Parabola ISO image to a CD/DVD
- 3.2 Writing a Parabola ISO image to a USB drive
- 4 Installation
- 4.1 Keyboard layout
- 4.1.1 Braille Support
- 4.2 Partition disks
- 4.3 Format the partitions
- 4.4 Mount the partitions
- 4.5 Connect to the Internet
- 4.5.1 Wireless
- 4.6 Verification of package signatures
- 4.6.1 Errors during package verification
- 4.7 Install the base system
- 4.7.1 Systemd
- 4.7.2 OpenRC
- 4.8 Install a kernel
- 4.9 Install a network manager
- 4.10 Other packages
- 4.11 Graphical Desktop Environments
- 4.11.1 Systemd
- 4.11.2 OpenrRC
- 4.12 Install a bootloader
- 4.12.1 GRUB 2
- 4.12.2 Syslinux
- 4.13 Install wireless tools
- 5 Configure the system
- 5.1 Set host and hostname
- 5.2 Set timezone and locales
- 5.3 Generate initial RAM-disk
- 5.4 GRUB configuration
- 5.5 Configure speech support (for blind and visually impaired users)
- 5.6 Configure pacman
- 5.7 Service management
- 5.8 Setup users, groups, and passwords
- 5.9 Final steps
- 6 Update the system
- 7 Un-mount and reboot
- 8 Conclusion
Parabola GNU/Linux-libre
This article or section needs expansion. |
Руководство по установке для англ. Parabola MATE Desktop ISO-образ Live-CD (запуск с USB-накопителя USB) также призван помочь опытным пользователям GNU / Linux в установке Parabola из «Live» системы, загруженной с официального установочного образа. Эта страница предполагает высокий уровень работы с системами и утилитами GNU / Linux, особенно с командной строкой. Если вы хотите получить более подробное, пошаговое руководство по установке, англ. Руководство для начинающих. Перед началом мы рекомендуем просмотреть FAQ по Arch Linux и использовать команду англ. man для чтения справочной страницы любой команды, с которой они не знакомы. Вики-страница Parabola, а также вики Arch Linux должны быть основным источником информации и вашим первым ресурсом при сбоях.
Скачать
Загрузите ISO-версию Parabola GNU / Linux-libre со страницы загрузки. Она предоставляется с вашим выбором systemd или OpenRC в качестве системы init по умолчанию.
- «Двойные» ISO могут быть загружены в систему i686 или x86_64 в реальном времени. Идентификаторы «net-install» загрузятся в живую систему, но для установки потребуется активное подключение к Интернету. «Полные» ISO будут загружаться и в «живую»систему, но могут устанавливать полную систему Parabola с подключением к Интернету или без него.
- Образы ISO подписаны, и настоятельно рекомендуется проверить их подпись перед использованием. В Parabola GNU / Linux-libre это можно сделать, используя pacman-key -v .sig . В других системах: gpg —verify .sig
- Образ ISO можно записать на компакт-диск, записанный на USB-накопитель, загруженный непосредственно виртуальной машиной или загруженный из GRUB. Он предназначен только для новых установок или используется в качестве системы восстановления; существующая система Parabola GNU / Linux-libre всегда может быть обновлена с помощью pacman -Syu .
- Контрольные суммы предоставляются для каждого издания в сопровождающих файлах SHA512SUMS и WHIRLPOOLSUMS . Их можно проверить с помощью: sha512sum -c SHA512SUMS и whirlpool-hash -c WHIRLPOOLSUMS .
Источник
Parabola GNU/Linux-libre
A fully free, simple, and lightweight operating system
You’ve reached the website of Parabola GNU/Linux-libre. The Parabola project is a community-driven, «labour-of-love» effort to maintain a 100% free (as in: freedom) operating system distribution that is lean, clean, and hackable.
Based on the Arch distribution, Parabola is a complete, user-friendly operating system, suitable for general «everyday» use, while retaining Arch’s «power-user» charm. Parabola adheres to the GNU Free System Distribution Guidelines (FSDG); which requires source code for every part of the system to be freely available, modifyable, and re-distributable. All Parabola packages are built from source, in clean chroots, and with networking disabled, in order to replace any software and artworks in the standard Arch system which fall outside the GNU guidelines. LiveISOs, installers, and packages are provided for the armv7h, i686, and x86_64 CPU architectures.
Our community is friendly and helpful. Feel free to hop on the IRC channel, subscribe to the mailing lists, or join the web forum to get your feet wet. Once you are ready to begin your adventures through Fosstopia, the wiki will guide you well toward learning to install and use Parabola comfortably and confidently.
Latest News
TalkingParabola merged in main ISO and installation medium with installer
Last year Arch integrated the features from the TalkingArch project into archiso and some months ago they added an installer into their installation medium. As a result, and with some delay, TalkingParabola was deprecated and we added these features to our ISOs too. They are available in out download page as well.
Note that although the OpenRC LXDE ISO has the speech boot option, this only works for CLI. Screen reader support will be added in the future for the GUI and the current installer will be replaced with one based in Zen Installer.
[From Arch] Sorting out old password hashes
Starting with libxcrypt 4.4.21, weak password hashes (such as MD5 and SHA1) are no longer accepted for new passwords. Users that still have their passwords stored with a weak hash will be asked to update their password on their next login.
If the login just fails (for example from display manager) switch to a virtual terminal (Ctrl-Alt-F2) and log in there once.
[From Arch 32] plasma-workspace needs manual intervention
plasma-workspace-5.20.1.1-1.1 cannot be installed with:
use this to overwrite those duplicate files:
=5.9-1 update requires manual intervention»>[From Arch] libtraceevent>=5.9-1 update requires manual intervention
The libtraceevent package prior to version 5.9-1 was missing a soname link. This has been fixed in 5.9-1, so the upgrade will need to overwrite the untracked files created by ldconfig. If you get any of these errors
when updating, use
to perform the upgrade.
=9.53.2-2 and ghostxps>=9.53.2-2 updates require manual intervention»>[From Arch] ghostpcl>=9.53.2-2 and ghostxps>=9.53.2-2 updates require manual intervention
The ghostpcl and ghostxps packages prior to version 9.53.2-2 were missing a soname link each. This has been fixed in 9.53.2-2, so the upgrade will need to overwrite the untracked files created by ldconfig. If you get any of these errors
Источник
Parabola GNU/Linux-libre
Welcome to the Parabola wiki!
For a list of articles in this wiki check the Table of Contents.
1 What is Parabola?
Parabola is a Free Software and Free Culture project aiming to provide a fully freedom-respecting GNU+Linux distribution called Parabola GNU/Linux-libre.
Parabola GNU/Linux-libre is based on packages from Arch Linux (Arch Linux is in fact a GNU/Linux distribution) and possibly other Arch-based systems, with packages available for i686, x86_64, and armv7h CPUs. Parabola aims to keep its package and management tools simple. The primary goal is to give the user complete control over their system with 100% Free Software and Free Culture. Parabola GNU/Linux-libre is listed by the Free Software Foundation as a fully Free Software distribution.
Development focuses on a balance of simplicity, elegance, code-correctness and bleeding edge Free Software.
Its lightweight and simple design makes it easy to extend and mold into whatever kind of system you’re building.
You can find us on IRC, on the web forum, or on the mailing lists.
1.1 General documentation
The Installation Guide will walk you through the process of downloading an ISO and installing Parabola GNU/Linux-libre on your system. We have separate installation instructions for the armv7h and mips64el architectures.
If you are running Arch or some other Arch-based system, migrating to Parabola GNU/Linux-libre is as simple as reconfiguring pacman to use our repositories. See the Migration Guide for instructions.
Be sure to take a look at the Parabola Social Contract, it guides us in all we do.
1.2 FAQ
Our frequently asked questions are there to provide answers to questions often asked by users who moved to Parabola from Arch or some other non-Free operating system. It discusses issues caused by making the system completely Free. For an explanation on technical details of the system look at Arch FAQ.
2 How to help
Parabola is made by volunteers.
See our How to help page for things you can do.
Источник
Parabola GNU/Linux-libre
This guide assumes that the reader is familiar with the GNU/Linux command line shell, and how to launch a graphical terminal if necessary. This install method can be done using any Parabola LiveISO. For a more user-friendly, mouse-centric install method, consider using the graphical installer on one of the LXDE LiveISO’s desktop.
Contents
1 Download
Download a Parabola GNU/Linux-libre ISO from the download page. These are provided with your choice of systemd or OpenRC as the default init system.
- The ‘dual’ ISOs can be booted into either an i686 or x86_64 live system. The ‘net-install’ ISOs will boot into a live system but will require an active connection to the internet for installation. The ‘complete’ ISOs will boot into a live system as well, but are capable of installing a full Parabola system with or without a connection to the internet.
- ISO images are signed and it is highly recommend to verify their signature before use. On Parabola GNU/Linux-libre, this can be done by using pacman-key -v .sig . On other systems: gpg —verify .sig . You may have to import the key from a keyserver with gpg —recv-keys .
- The ISO image can be burned onto a CD, written onto a USB memory stick, booted directly by a virtual machine, or booted directly from GRUB. It is intended for new installations only or to be used as a recovery system; an existing Parabola GNU/Linux-libre system can always be updated with pacman -Syu .
- Checksums are provided for each edition in the accompanying SHA512SUMS and WHIRLPOOLSUMS files. They can be verified with: sha512sum -c SHA512SUMS and whirlpool-hash -c WHIRLPOOLSUMS .
2 Blind and visually impaired users
There is a ISO called TalkingParabola that is a derivative install CD based on TalkingArch and a respin of the Parabola ISO modified to include speech and braille output.
3 Creating the install media
3.1 Writing a Parabola ISO image to a CD/DVD
The Parabola Live ISOs can be burned to a CD or DVD most simply using a graphical tool such as ‘brasero’, ‘k3b’, or ‘xfburn’. The ‘cdrecord’ utility can be used to burn a CD or DVD from the comand line.
3.2 Writing a Parabola ISO image to a USB drive
[iso file] is the path to the ISO image file.
[usb device file] is the path to the USB device file. dmesg or lsblk —fs can be used to learn this path. It is often similar to device filenames of storage devices like hard drives and SSDs, e.g. /dev/sdb
4 Installation
4.1 Keyboard layout
For many countries and keyboard types appropriate keymaps are available already, and a command like loadkeys uk might do what you want. More available keymap files can be found in /usr/share/kbd/keymaps/ (you can omit the keymap path and file extension when using loadkeys).
4.1.1 Braille Support
TalkingParabola includes brltty , for those who own braille displays. The brltty package available on the TalkingParabola CD was compiled with as few dependencies as possible. If you wish to use braille, you will need to supply the brltty parameter at the boot prompt. Alternatively, you can start brltty from the shell, after the system has booted.
The brltty boot-time parameter consists of three comma-separated fields: driver, device, and table. The first is the driver for your display, the second is the name of the device file, and the third is a relative path to a translation table. You can use «auto» to specify that the driver should be automatically detected. You can read the brltty documentation for a fuller explanation of the program.
For example, suppose that you have a device connected to /dev/ttyS0 , the first serial port. You wish to use the US English text table, and the driver should be automatically detected. Here is what you should type at the boot prompt:
Once brltty is running, you may wish to disable speech. You can do so via the PrintScreen key, also known as SysRq . On my QWERTY keyboard, that key is located directly above the Insert key, between F12 and ScrollLock .
4.2 Partition disks
The choice of partitioning tools and layouts is a matter of preference, and beyond the scope of this install guide. See the partitioning guide for details and suggestions.
Remember to create any stacked block devices like LVM, LUKS, or RAID, if you choose to use those advanced partitioning technologies. You will also need to generate an initramfs and configure your bootloader properly to use it. Be aware that these all add complexity to your system, and therefore the potential for problems. Per the KISS principle, most people should not bother with them; but rather prefer a simple schema (eg: a MBR partition table, a single partition per OS).
4.3 Format the partitions
The choice of filesystems is a matter of preference, and beyond the scope of this install guide. See the filesystems guide for details and suggestions.
If you are using (U)EFI you will most probably need another partition to host the UEFI System partition. Read Create an UEFI System Partition in GNU/Linux.
4.4 Mount the partitions
Next, you must mount the target partitions. This guide uses /mnt as the mount-point of the root (‘/’) filesystem.
You should also create directories as mount-points for, and mount onto them, any optional partitions which you created in the «Partition disks» and «Format the partitions» sections (eg: /mnt/boot , /mnt/home , . ). The /home and swap partitions are not essential in this step; but if you created them, and you want them to be auto-mounted when the new system boots, you should mount them now also. eg:
4.5 Connect to the Internet
A DHCP service is already enabled for all available devices. If you need to setup a static IP or use management tools such as Netcfg, you should stop this service first: systemctl stop dhcpcd.service . For more information read Network configuration.
4.5.1 Wireless
Run wifi-menu to set up your wireless network. For details, see Wireless Setup and Netcfg. Note that this program is part of netctl , so OpenRC ISOs come with networkmanager instead. To perform the same task, simply run nmtui connect .
4.6 Verification of package signatures
Because packager’s signing keys might have changed since the installation media was published, it is often necessary to update the keys before beginning an install.
4.6.1 Errors during package verification
The most common error related to package signatures will be of the form:
In most cases this can be corrected by refreshing that packager’s key, or the entire the keyring. Note the email address shown in the error message ( in the example above). If only a smaller number of packagers are shown in the errors, copy the email addresses and run this command:
Alternatively, you can refresh the entire keyring (it just takes a bit longer):
- If you face GPG errors during the install process, you may need to repeat these steps. If the first step fails, attempt to continue with the others.
- If you get an error related to dirmngr, you can get rid of it with:
(running the previous command might also be needed in the newly installed system.)
- It may be also possible that the system clock is behind and the keys are incorrectly marked invalid. To solve this, manually set the correct current time.
- MM is the month
- DD is the day
- hh is the hour
- mm is the minutes
- CC is the century
- YY is the year
- .ss is the seconds (they can be omitted, but please remember to also remove the leading dot in that case)
For instance if the current time is 32 seconds and 44 minutes past 18 (6 pm) on the 13th November 2013 then the command would be:
4.7 Install the base system
Before installing, you may want to edit /etc/pacman.d/mirrorlist such that your preferred mirror is first. This copy of the mirrorlist will be installed on your new system by pacstrap as well, so it’s worth getting it right.
If you face GPG errors when running # pacstrap , mind the advice in the signature verification section above. This is a fairly common error that you may see in the future as well; so it is a good idea to become familiar with the process of refreshing the keyrings.
4.7.1 Systemd
This section describes the bare minimum requirements for every Parabola systemd system.
Install the Parabola systemd base system using pacstrap :
4.7.2 OpenRC
This section describes the bare minimum requirements for every Parabola OpenRC system. There are additional requirements that apply when installing a graphical desktop. Those are noted in a later section.
Install the Parabola OpenRC base system using pacstrap :
Beneath the OpenRC service manager, there needs to be a separate /sbin/init program, often called: the PID-1 provider. The OpenRC ‘base’ package group as installed above, contains openrc-init ; which is fully adequate for most users. There are other compatible init programs however, that provide the openrc-pid1 pseudo-package if you have a preference. You can get an up-to-date list of providers by running expac -S ‘%n %P ‘ | sed -n ‘/ openrc-pid1[= ]/s/ .*//p’ . Currently the options are:
- openrc-init (the OpenRC ‘base’ default): A minimal init program written specifically for OpenRC
- openrc-sysvinit : Use traditional Linux sysvinit as init
After installing an openrc-pid1 provider, OpenRC should boot by default instead of systemd. Note that it will boot to a command line, as the service for a graphical display manager has not yet been installed.
You also have a choice of udev implementations to set up hardware devices; but as with the init program, a fully adequate one (‘eudev’) is installed already with the OpenRC ‘base’ package group. You can get an up-to-date list of choices by running expac -S ‘%n %P ‘ | sed -n ‘/ udev[= ]/s/ .*//p’ . Currently the options are:
- eudev (the base-openrc default): Gentoo’s fork of udev
- systemd-udev : The traditional udev implementation
- notsystemd-udev : The traditional udev implementation, but compiled differently
4.8 Install a kernel
In order to have a fully bootable system, you will need to install a kernel. We recommend that you always have linux-libre-lts installed, even if you will normally use another. Additional kernels may be installed similarly.
The linux-libre-lts kernel is the most stable and reliable kernel, and is fully adequate for most users. Unless you have particular reason to prefer another, this is an excellent choice for «everyday» use.
4.9 Install a network manager
In order to connect to the internet, you will need to configure your network devices. There are multiple ways to accomplish that; but the easiest is to install the NetworkManager service, which as the name suggests, will manage your network devices and connections automatically. This is an optional step, if you plan to manage your network using other tools.
4.10 Other packages
At this point, the system is very minimal — a great base for a customizing a special-case system, but not quite suitable for typical use. The ‘parabola-base’ meta-package contains several useful tools that were once standard, before the minimalist ‘base’ meta-package was introduced as the new standard base system. It includes the midnight-commander ( mc ) file manager, the vi and nano text editors, a man-page viewer, and support utilities for networking and file-systems, for examples.
If you have a btrfs root, you probably want to install also btrfs-progs . For f2fs, install f2fs-tools
4.11 Graphical Desktop Environments
Note that this section only describes the essential pre-requisites for graphical Parabola systems. The commands below will not install any X-server, display manager, window manager, or desktop environment. There are many possible combinations to choose from; but that is beyond the scope of this guide.
4.11.1 Systemd
There are no special requirements during the initial install for using a graphical desktop with a Parabola systemd system.
4.11.2 OpenrRC
This section describes the bare minimum requirements for using a graphical desktop with a Parabola OpenRC system.
The openrc-desktop package group installs essential software for graphical desktop environments.
elogind is a systemd substitute package. systemd is an essential ‘base’ package on Parabola systemd systems. Obviously, systemd is not an essential ‘base’ package on non-systemd Parabola systems; and is not installed by default. However, many GUI programs expect that systemd and it’s dependencies are installed, and would have un-met dependencies if systemd or a substitute is not installed. There are multiple systemd substitutes; so you will need to choose one. elogind is the recommended option. It can grant privileges for desktop operations, such as powering off and mounting USB devices, and also provides systemd stub libraries, and depends on the same packages as ‘systemd’, in order to satisfy GUI programs which refuse to run otherwise.
4.12 Install a bootloader
4.12.1 GRUB 2
4.12.2 Syslinux
4.13 Install wireless tools
If your wireless network is WPA protected, you’ll need wpa_supplicant to connect to it:
If you’re using wifi-menu to connect, you’ll also need the dialog package:
5 Configure the system
Generate an fstab with the following command (if you prefer to use UUIDs or labels, add the -U or -L option, respectively):
Next we chroot into our newly installed system:
5.1 Set host and hostname
Add the following text to /etc/hosts , in the following form:
If the system has a permanent IP address, the final (‘MY_HOSTNAME’) entry should refer to that, instead of 127.0.1.1 .
Replace ‘MY_HOSTNAME’ with your preferred host name. Your computer’s hostname can be anything that you like, consisting of letters a-z, digits 0-9, and hyphens ‘-‘ (eg: alices-laptop). The system hostname is mainly informational, making it easier to distinguish computers on your local network. This name will also appear in your shell prompt — eg:
5.1.1 systemd
On a systemd system, add the same chosen hostname to /etc/hostname , in the following form:
5.1.2 OpenRC
On an OpenRC system, add the same chosen hostname to /etc/conf.d/hostname , in the following form:
5.2 Set timezone and locales
- Symlink /etc/localtime to /usr/share/zoneinfo/Zone/SubZone . Replace Zone and Subzone to your liking. For example:
- Set locale preferences in /etc/locale.conf
- Add console keymap and font preferences in /etc/vconsole.conf when using systemd, or in /etc/conf.d/keymaps and /etc/conf.d/consolefont when using OpenRC.
- Uncomment the selected locale in /etc/locale.gen and generate it with locale-gen
5.3 Generate initial RAM-disk
- If you need special boot features, such as for disk encryption, configure /etc/mkinitcpio.conf accordingly (see mkinitcpio). In any case, re-generate the initial RAM-disk with:
. where: KERNEL is the one that you chose in the «Install a kernel» step (eg: linux-libre, linux-libre-lts). If you have installed multiple kernels, run the same command again for each kernel.
5.4 GRUB configuration
- To enable the GRUB bootloader at boot-time, install it to the boot disk, and generate an appropriate boot menu file: grub.cfg in the conventional location:
. where ‘/dev/sdX’ in most cases, is the same disk that you mounted in the pacstrap step, typically the only physical disk in the computer. Note: this is NOT the ‘/dev/sdXN’ partition that you mounted on /mnt (e.g. /dev/sda1), but the physical raw disk root itself (e.g. /dev/sda).
5.5 Configure speech support (for blind and visually impaired users)
If you are using TalkingParabola and need start speech support when you boot the system, you will need to do:
- Install espeakup and alsa-utils .
- Save the state of the sound card, so that it will be retrieved on reboot:
5.5.1 Systemd
- Enable the espeakup systemd service by executing:
5.5.2 OpenRC
- Enable the espeakup systemd service by executing:
5.6 Configure pacman
Edit /etc/pacman.conf and configure pacman’s options, also enabling the repositories you need.
5.6.1 Systemd
If you are running systemd rather than OpenRC, make sure that the nonsystemd repo is NOT enabled.
5.6.2 OpenrRC
If you are running OpenRC rather than systemd, make sure that the nonsystemd repo is enabled.
Also consider using Pacman2pacman, a peer to peer package system, in order to reduce load on official Parabola servers.
5.7 Service management
Most casual desktop users would rarely need to interact with the service manager; but it is a good idea to learn the basics. The process is the same, now while in the chroot, and afterward during normal use.
5.7.1 Systemd
Interaction with systemd is done through the systemctl command. Read a:systemd#Basic systemctl usage for more information.
5.7.2 OpenrRC
Systemd services normally must be manually «started» and/or «enabled» for auto-start. Interaction with OpenrRC is done through the rc-update , rc-service , and rc-status commands.
Newly installed services will need to be added to specific runlevels. The ‘default’ runlevel is the only one that most users will need. Note, however, that essential services are enabled by default (e.g. dbus, elogind, opensysusers and opentmpfiles). You will need to «chroot» into the target system first, in order to accomplish this. That will normally not be necessary, once the system is installed and running.
To activate the ‘NetworkManager’ service, for example:
5.8 Setup users, groups, and passwords
Set a root password with passwd :
Create an unprivileged (normal/everyday) user login (replace ‘ ‘):
Add your user to any special groups, if needed. eg:
See User management for advanced examples of users and groups.
5.8.1 systemd
There are no special requirements for users and groups with a Parabola/systemd system.
5.8.2 OpenRC
A Parabola/OpenRC desktop system requires unprivileged users to be in some extra permission groups. See the OpenRC article for details.
5.9 Final steps
Additional networking configuration may be needed for graphical wifi managers and other network management tools. See a:Network configuration and Wireless Setup; or ask for help on IRC, on the web forum, or on the mailing list, if you would like suggestions.
5.9.1 OpenRC
There are some subtle caveats to be aware of regarding OpenRC, in some system configurations, which have not been mentioned in this guide. The OpenRC article has some trouble-shooting advice for the most common problems. If you have a problem initially, with using your new OpenRC system, please read that article, first before reporting bugs.
6 Update the system
If you installed via the ARM Release Tarball, the RISC-V Release Tarball, or one of the «Complete» LiveISOs, you could upgrade the fresh system now. Otherwise, the fresh system is already up-to-date. Regardless, it is always safe to upgrade the system; and it is recommended to do so at least once per month.
Before upgrading the system for the first time, or anytime when a few months has past between upgrades, ensure that you have the current key-rings first:
Then upgrade the system:
7 Un-mount and reboot
Exit the chroot, then un-mount any partitions which you mounted in the «Mount the partitions» step. Then you can reboot and login to the new system normally.
8 Conclusion
Your new system is now fully functional Parabola GNU/Linux-Libre environment. Welcome to Fosstopia.
Источник