Esse tipo de coisa normalmente precisa de mais de um aplicativo ou sistema, mas se eu tivesse que escolher apenas um, eu sempre escolheria um banco de dados. Porque eu sou principalmente o Windows eu uso o MySQL para o banco de dados, que pode ser executado em praticamente qualquer coisa, com um front-end do Microsoft Access. Eu não sei o que faria um bom front-end no Linux, já que eu ainda tenho que ver um que eu goste.
A principal razão que eu gosto de usar um banco de dados é por causa da enorme flexibilidade, se oferece. Pesquise, ordene, faça o que quiser com os dados. Você também não está preso a nenhum formato específico. Simplesmente crie uma estrutura que se adapte à maneira como você deseja armazenar os dados, em vez de tentar colocá-los em algo inadequado.
Minha segunda escolha seria um wiki. Neste caso, sempre busco o MediaWiki, simplesmente porque ele é mais flexível e melhor suportado do que qualquer outra coisa. Além disso, é absolutamente brincadeira de criança para instalar e configurar. Isso também dá um bom poder de busca, mas gerar relatórios a partir de um wiki pode ser uma verdadeira dor.